From a55ef11780b62f3ccb6e4f42cada122caba10aa8 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Tue, 1 Oct 2024 10:09:38 +0300 Subject: [PATCH 1/2] requests improvements --- .../widgets/request_category_list.dart | 2 +- lib/new_views/pages/land_page/land_page.dart | 2 +- .../land_page/requests/asset_item_view.dart | 177 ++++++++++++------ .../requests/gas_refill_item_view.dart | 93 +++++++-- .../land_page/requests/ppm_item_view.dart | 157 +++++++++++----- .../requests/request_paginated_listview.dart | 9 +- .../requests/service_request_item_view.dart | 165 ++++++++++------ .../widgets/request_item_view_list.dart | 35 ++-- .../views/request_detail_main_view.dart | 4 - .../user/gas_refill/gas_refill_details.dart | 5 +- 10 files changed, 442 insertions(+), 207 deletions(-) diff --git a/lib/dashboard_latest/widgets/request_category_list.dart b/lib/dashboard_latest/widgets/request_category_list.dart index ceaa11c4..b5df5728 100644 --- a/lib/dashboard_latest/widgets/request_category_list.dart +++ b/lib/dashboard_latest/widgets/request_category_list.dart @@ -44,7 +44,7 @@ class RequestCategoryList extends StatelessWidget { bool isPPMs = request.transactionNo == 4; if (isServiceRequest) { - return ServiceRequestItemView(request); + return ServiceRequestItemView(requestData: request); // } else if (isGasRefill) { // return GasRefillItemView(request); // } else if (isPPMs) { diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index 0c5f37c6..50f7205b 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -135,7 +135,7 @@ class _LandPageState extends State { selectedIndex: currentPageIndex, onPressed: (index) { bool isEngineer = _userProvider!.user!.type == UsersTypes.engineer; - if(!isEngineer&&index==2){ + if(!isEngineer&&index==2) { Navigator.push(context, MaterialPageRoute(builder: (context)=>const CreateNewRequest())); } if (index == (!isEngineer ? 4 : 3)) { diff --git a/lib/new_views/pages/land_page/requests/asset_item_view.dart b/lib/new_views/pages/land_page/requests/asset_item_view.dart index 2a256de5..28d227a0 100644 --- a/lib/new_views/pages/land_page/requests/asset_item_view.dart +++ b/lib/new_views/pages/land_page/requests/asset_item_view.dart @@ -13,67 +13,132 @@ import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; class AssetItemView extends StatelessWidget { - final Data request; + final Data? requestData; + final RequestsDetails? requestDetails; final bool showShadow; - const AssetItemView(this.request, {Key? key, this.showShadow = true}) : super(key: key); + const AssetItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key); @override Widget build(BuildContext context) { - return Column( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (request.priorityName != null) - StatusLabel( - label: request.priorityName ?? "", - textColor: AppColor.getRequestStatusTextColorByName(context, request.priorityName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.priorityName!), + + if (requestData!=null) { + return Column( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (requestData!.priorityName != null) + StatusLabel( + label: requestData!.priorityName ?? "", + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), + ), + // 8.width, + // if (request.status != null) + // StatusLabel( + // label: request.status ?? "", + // textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + // backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), + // ), + 1.width.expanded, + Text(requestData!.transactionDate?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + ], + ), + 8.height, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + context.translation.deviceTransferRequest.heading5(context), + // "${context.translation.from} : ${request.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), // todo ask ahmed + // "${context.translation.to} : ${request.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),// todo ask ahmed + requestData!.statusName!.replaceAll("=", ":").bodyText(context), + '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon( + Icons.arrow_forward, + color: AppColor.blueStatus(context), + size: 14, + ) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => DeviceTransferDetails(model: AssetTransfer(id: requestData!.id!)))); + }); + } + + if(requestDetails!=null) { + return Column( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (requestDetails!.priority != null) + StatusLabel( + label: requestDetails!.priority ?? "", + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority!), + ), + // 8.width, + // if (request.status != null) + // StatusLabel( + // label: request.status ?? "", + // textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + // backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), + // ), + 1.width.expanded, + Text(requestDetails!.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + ], + ), + 8.height, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + context.translation.deviceTransferRequest.heading5(context), + "${context.translation.from} : ${requestDetails!.siteTransferFrom?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), + "${context.translation.to} : ${requestDetails!.siteTransferTo?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), + requestDetails!.status!.replaceAll("=", ":").bodyText(context), + '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), + ], + ), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), - // 8.width, - // if (request.status != null) - // StatusLabel( - // label: request.status ?? "", - // textColor: AppColor.getRequestStatusTextColorByName(context, request.status), - // backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), - // ), - 1.width.expanded, - Text(request.transactionDate?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - context.translation.deviceTransferRequest.heading5(context), - // "${context.translation.from} : ${request.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context), // todo ask ahmed - // "${context.translation.to} : ${request.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),// todo ask ahmed - request.statusName!.replaceAll("=", ":").bodyText(context), - '${context.translation.requestNo}: ${request.requestNo}'.bodyText(context), - ], - ), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) - ], - ), - ], - ).toShadowContainer(context, showShadow: showShadow).onPress(() { - Navigator.of(context).push(MaterialPageRoute(builder: (_) => DeviceTransferDetails(model: AssetTransfer(id: request.id!)))); - }); + 4.width, + Icon( + Icons.arrow_forward, + color: AppColor.blueStatus(context), + size: 14, + ) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => DeviceTransferDetails(model: AssetTransfer(id: requestDetails!.id!)))); + }); + } + + return SizedBox(); } } diff --git a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart index 5aa8e949..ee7f077c 100644 --- a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart +++ b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart @@ -13,39 +13,42 @@ import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; class GasRefillItemView extends StatelessWidget { - final Data request; + final Data? requestData; + final RequestsDetails? requestDetails; final bool showShadow; - const GasRefillItemView(this.request, {Key? key, this.showShadow = true}) : super(key: key); + const GasRefillItemView({Key? key, this.requestDetails, this.requestData, this.showShadow = true}) : super(key: key); @override Widget build(BuildContext context) { - return Column( + if(requestData!=null) { + return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ StatusLabel( - label: request.priorityName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.priorityName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.priorityName!), + label: requestData!.priorityName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), ), 8.width, StatusLabel( - label: request.statusName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.statusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.statusName!), + label: requestData!.statusName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), ), 1.width.expanded, - Text(request.transactionDate?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + Text(requestData!.transactionDate?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), ], ), 8.height, context.translation.gasRefillRequest.heading5(context), // '${context.translation.gasType}: ${request.gasType}'.bodyText(context), // todo ask ahmed // '${context.translation.site}: ${request.site?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),// todo ask ahmed - '${context.translation.requestNo}: ${request.requestNo}'.bodyText(context), + '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), 8.height, Row( mainAxisSize: MainAxisSize.min, @@ -69,12 +72,74 @@ class GasRefillItemView extends StatelessWidget { Navigator.of(context).push( MaterialPageRoute( builder: (_) => GasRefillDetailsPage( - priority: request.priorityName, - date: request.transactionDate!, - model: GasRefillModel(id: request.id), + priority: requestData!.priorityName, + date: requestData!.transactionDate!, + model: GasRefillModel(id: requestData!.id), ), ), ); }); + } + + if(requestDetails!=null) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: requestDetails!.priority!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority!), + ), + 8.width, + StatusLabel( + label: requestDetails!.status!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status!), + ), + 1.width.expanded, + Text(requestDetails!.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + ], + ), + 8.height, + context.translation.gasRefillRequest.heading5(context), + '${context.translation.gasType}: ${requestDetails!.gasType}'.bodyText(context), + '${context.translation.site}: ${requestDetails!.site?.cleanupWhitespace?.capitalizeFirstOfEach}'.bodyText(context), + '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), + 8.height, + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith( + color: AppColor.blueStatus(context), + ), + ), + 4.width, + Icon( + Icons.arrow_forward, + color: AppColor.blueStatus(context), + size: 14, + ) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => GasRefillDetailsPage( + priority: requestDetails!.priority!, + date: requestDetails!.date, + model: GasRefillModel(id: requestDetails!.id), + ), + ), + ); + }); + } + + return SizedBox(); } } diff --git a/lib/new_views/pages/land_page/requests/ppm_item_view.dart b/lib/new_views/pages/land_page/requests/ppm_item_view.dart index 330037ff..4a5d0388 100644 --- a/lib/new_views/pages/land_page/requests/ppm_item_view.dart +++ b/lib/new_views/pages/land_page/requests/ppm_item_view.dart @@ -12,60 +12,117 @@ import '../../../../views/pages/user/ppm/ppm_details_page.dart'; import '../../../../views/widgets/requests/request_status.dart'; class PpmItemView extends StatelessWidget { - final Data request; + final Data? requestData; + final RequestsDetails? requestDetails; final bool showShadow; - const PpmItemView(this.request, {Key? key, this.showShadow = true}) : super(key: key); + const PpmItemView( {Key? key,this.requestData,this.requestDetails, this.showShadow = true}) : super(key: key); @override Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - StatusLabel( - label: request.priorityName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.priorityName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.priorityName!), - ), - 8.width, - StatusLabel( - label: request.statusName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.statusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.statusName!), - ), - 1.width.expanded, - Text( - request.transactionDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - ], - ), - 8.height, - context.translation.ppmRequest.heading5(context), - 8.height, - '${context.translation.assetNumber}: ${request.assetNumber}'.bodyText(context), - // '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed - // '${context.translation.code}: ${request.code}'.bodyText(context), - '${context.translation.requestNo}: ${request.requestNo}'.bodyText(context), - 16.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), - ], - ).toShadowContainer(context, showShadow: showShadow).onPress(() { - //Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(request: request))); - }); + + if(requestData!=null) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: requestData!.priorityName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), + ), + 8.width, + StatusLabel( + label: requestData!.statusName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), + ), + 1.width.expanded, + Text( + requestData!.transactionDate?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), + ), + ], + ), + 8.height, + context.translation.ppmRequest.heading5(context), + 8.height, + '${context.translation.assetNumber}: ${requestData!.assetNumber}'.bodyText(context), + // '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed + // '${context.translation.code}: ${request.code}'.bodyText(context), + '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), + 16.height, + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + // Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(request: request))); + }); + } + if(requestDetails!=null) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: requestDetails!.priority!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority!), + ), + 8.width, + StatusLabel( + label: requestDetails!.status!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status!), + ), + 1.width.expanded, + Text( + requestDetails!.date?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), + ), + ], + ), + 8.height, + context.translation.ppmRequest.heading5(context), + 8.height, + '${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context), + '${context.translation.assetSN}: ${requestDetails!.assetSN}'.bodyText(context), + // '${context.translation.code}: ${request.code}'.bodyText(context), + '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), + 16.height, + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => PpmDetailsPage(request: requestDetails!))); + }); + } + return SizedBox(); + + } } diff --git a/lib/new_views/pages/land_page/requests/request_paginated_listview.dart b/lib/new_views/pages/land_page/requests/request_paginated_listview.dart index 229cdde2..e1bf7fc6 100644 --- a/lib/new_views/pages/land_page/requests/request_paginated_listview.dart +++ b/lib/new_views/pages/land_page/requests/request_paginated_listview.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/pages/land_page/requests/asset_item_view.dart'; @@ -50,13 +49,13 @@ class RequestPaginatedListview extends StatelessWidget { bool isPPMs = request.transactionNo == 4; if (isServiceRequest) { - return ServiceRequestItemView(request); + return ServiceRequestItemView(requestData: request); } else if (isGasRefill) { - return GasRefillItemView(request); + return GasRefillItemView(requestData: request); } else if (isPPMs) { - return PpmItemView(request); + return PpmItemView(requestData: request); } else if (isAssetTransfer) { - return AssetItemView(request); + return AssetItemView(requestData: request); } else { return Container( height: 100, diff --git a/lib/new_views/pages/land_page/requests/service_request_item_view.dart b/lib/new_views/pages/land_page/requests/service_request_item_view.dart index 43dda8ee..c708c1c1 100644 --- a/lib/new_views/pages/land_page/requests/service_request_item_view.dart +++ b/lib/new_views/pages/land_page/requests/service_request_item_view.dart @@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; +import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/service_request_latest/views/request_detail_main_view.dart'; @@ -12,66 +13,118 @@ import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; class ServiceRequestItemView extends StatelessWidget { - final Data request; + final Data? requestData; + final RequestsDetails? requestDetails; final bool showShadow; - const ServiceRequestItemView(this.request, {Key? key, this.showShadow = true}) : super(key: key); + const ServiceRequestItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key); @override Widget build(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - StatusLabel( - label: request.priorityName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.priorityName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.priorityName!), - ), - 8.width, - StatusLabel( - label: request.statusName!, - textColor: AppColor.getRequestStatusTextColorByName(context, request.statusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, request.statusName!), - ), - 1.width.expanded, - Text(request.transactionDate!.toServiceRequestCardFormat, - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), - ], - ), - 8.height, - context.translation.serviceRequest.heading5(context), - '${context.translation.assetName}: ${request.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), - // '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context), - '${context.translation.requestType}: ${request.requestTypeName}'.bodyText(context), - '${context.translation.requestNo}: ${request.requestNo}'.bodyText(context), - 8.height, - Row( - // mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon( - Icons.arrow_forward, - color: AppColor.blueStatus(context), - size: 14, - ) - ], - ), - ], - ).toShadowContainer(context, showShadow: showShadow).onPress(() { - //Older code... - print('request id i got is ${request.id!}'); - Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: request.id!))); - // Navigator.of(context).push(MaterialPageRoute( - // builder: (_) => const HistoryLogView())); - }); + if (requestData != null) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: requestData!.priorityName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), + ), + 8.width, + StatusLabel( + label: requestData!.statusName!, + textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), + ), + 1.width.expanded, + Text(requestData!.transactionDate!.toServiceRequestCardFormat, + textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + ], + ), + 8.height, + context.translation.serviceRequest.heading5(context), + '${context.translation.assetName}: ${requestData!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), + // '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context), + '${context.translation.requestType}: ${requestData!.requestTypeName}'.bodyText(context), + '${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context), + 8.height, + Row( + // mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon( + Icons.arrow_forward, + color: AppColor.blueStatus(context), + size: 14, + ) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: requestData!.id!))); + }); + } + if (requestDetails != null) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: requestDetails!.priority, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority), + ), + 8.width, + StatusLabel( + label: requestDetails!.status, + textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status), + backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status), + ), + 1.width.expanded, + Text(requestDetails!.date!.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), + ], + ), + 8.height, + context.translation.serviceRequest.heading5(context), + '${context.translation.assetName}: ${requestDetails!.assetName?.cleanupWhitespace?.capitalizeFirstOfEach}'.bodyText(context), + '${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context), + '${context.translation.requestType}: ${requestDetails!.requestType}'.bodyText(context), + '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), + 8.height, + Row( + // mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + context.translation.viewDetails, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon( + Icons.arrow_forward, + color: AppColor.blueStatus(context), + size: 14, + ) + ], + ), + ], + ).toShadowContainer(context, showShadow: showShadow).onPress(() { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: requestDetails!.id!))); + }); + } + + return SizedBox(); } } diff --git a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart index 68a5d48b..3a1b18f9 100644 --- a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart +++ b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart @@ -4,6 +4,10 @@ import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/asset_item_view.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; class RequestItemViewList extends StatelessWidget { @@ -26,24 +30,19 @@ class RequestItemViewList extends StatelessWidget { bool isAssetTransfer = list[index].nameOfType == "AssetTransfer"; bool isPPMs = list[index].nameOfType == "PPMs"; - return Container( - height: 100, - width: double.infinity, - color: Colors.grey, - ); - // return isServiceRequest - // ? ServiceRequestItemView(list[index]) - // : isGasRefill - // ? GasRefillItemView(list[index]) - // : isPPMs - // ? PpmItemView(list[index]) - // : isAssetTransfer - // ? AssetItemView(list[index]) - // : Container( - // height: 100, - // width: double.infinity, - // color: Colors.grey, - // ); + return isServiceRequest + ? ServiceRequestItemView(requestDetails: list[index]) + : isGasRefill + ? GasRefillItemView(requestDetails: list[index]) + : isPPMs + ? PpmItemView(requestDetails: list[index]) + : isAssetTransfer + ? AssetItemView(requestDetails: list[index]) + : Container( + height: 100, + width: double.infinity, + color: Colors.grey, + ); }, separatorBuilder: (cxt, index) => 8.height, itemCount: isLoading ? 6 : list.length); diff --git a/lib/service_request_latest/views/request_detail_main_view.dart b/lib/service_request_latest/views/request_detail_main_view.dart index c7e3578f..087a68a2 100644 --- a/lib/service_request_latest/views/request_detail_main_view.dart +++ b/lib/service_request_latest/views/request_detail_main_view.dart @@ -76,10 +76,6 @@ class _RequestDetailMainState extends State { TabBarView( children: [ WorkOrderDetailView(), - // RequestDetailView( - // serviceRequest: ServiceRequest(id: requestId.toString()), - // fromTabView: true, - // ), const HistoryLogView(), ], ).expanded, diff --git a/lib/views/pages/user/gas_refill/gas_refill_details.dart b/lib/views/pages/user/gas_refill/gas_refill_details.dart index 86792de4..5f43d38f 100644 --- a/lib/views/pages/user/gas_refill/gas_refill_details.dart +++ b/lib/views/pages/user/gas_refill/gas_refill_details.dart @@ -32,6 +32,7 @@ class GasRefillDetailsPage extends StatefulWidget { class _GasRefillDetailsPageState extends State { GasRefillModel _model = GasRefillModel(gazRefillDetails: []); late UserProvider _userProvider; + late GasRefillProvider gasRefillProvider; final bool _isLoading = false; final GlobalKey _formKey = GlobalKey(); @@ -47,7 +48,7 @@ class _GasRefillDetailsPageState extends State { @override Widget build(BuildContext context) { _userProvider = Provider.of(context); - GasRefillProvider gasRefillProvider = Provider.of(context); + gasRefillProvider = Provider.of(context); return Scaffold( appBar: DefaultAppBar(title: context.translation.gasRefillDetails), @@ -70,7 +71,7 @@ class _GasRefillDetailsPageState extends State { ], ); } - return NoDataFound(message: context.translation.noDataFound); + return NoDataFound(message: context.translation.noDataFound).center; }, ), ), From c556f0dd87862bebeb299f00b0bc275be76ef3e2 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Tue, 1 Oct 2024 10:13:18 +0300 Subject: [PATCH 2/2] requests improvements-1 --- .../widgets/request_category_list.dart | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/dashboard_latest/widgets/request_category_list.dart b/lib/dashboard_latest/widgets/request_category_list.dart index b5df5728..b42d2290 100644 --- a/lib/dashboard_latest/widgets/request_category_list.dart +++ b/lib/dashboard_latest/widgets/request_category_list.dart @@ -2,6 +2,9 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/asset_item_view.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.dart'; +import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart'; import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart'; class RequestCategoryList extends StatelessWidget { @@ -24,10 +27,7 @@ class RequestCategoryList extends StatelessWidget { title: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - CircularProgressIndicator( - color: AppColor.primary10, - strokeWidth: 1, - ), + CircularProgressIndicator(color: AppColor.primary10, strokeWidth: 1), ], ), ); @@ -45,12 +45,12 @@ class RequestCategoryList extends StatelessWidget { if (isServiceRequest) { return ServiceRequestItemView(requestData: request); - // } else if (isGasRefill) { - // return GasRefillItemView(request); - // } else if (isPPMs) { - // return PpmItemView(request); - // } else if (isAssetTransfer) { - // return AssetItemView(request); + } else if (isGasRefill) { + return GasRefillItemView(requestData: request); + } else if (isPPMs) { + return PpmItemView(requestData: request); + } else if (isAssetTransfer) { + return AssetItemView(requestData: request); } else { return Container( height: 100,