From 95ab0192fefe09e74cf592a76741ef6fe2e77653 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Wed, 23 Jul 2025 10:22:36 +0300 Subject: [PATCH] edd and cm frame improvements --- lib/controllers/api_routes/urls.dart | 2 +- .../new_models/work_order_detail_model.dart | 5 ++ .../views/components/asset_detail_card.dart | 16 ++-- .../service_request_detail_view.dart | 2 + .../asset_retired/verify_asset_detail.dart | 83 ++++++++++--------- 5 files changed, 62 insertions(+), 46 deletions(-) diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index c7fade95..65d59f47 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -219,7 +219,7 @@ class URLs { static get getServiceReportReasonsNew => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=505"; - static get getWoFrames => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=1254"; + static get getWoFrames => "$_baseUrl/Lookups/GetLookup?lookupEnum=1254"; static get getServiceReportRetirementType => "$_baseUrl/Lookups/GetLookup?lookupEnum=415"; diff --git a/lib/models/new_models/work_order_detail_model.dart b/lib/models/new_models/work_order_detail_model.dart index 166ed9b6..43e3dfae 100644 --- a/lib/models/new_models/work_order_detail_model.dart +++ b/lib/models/new_models/work_order_detail_model.dart @@ -94,6 +94,7 @@ class WorkOrderData { this.closedDate, this.since, this.cmFrame, + this.edd, this.rejectComment, this.callResponse, this.descriptionOfFinding, @@ -148,6 +149,7 @@ class WorkOrderData { Lookup? failureReasone; FaultDescription? faultDescription; Lookup? solution; + String? edd; Lookup? cmFrame; //cmComments @@ -222,6 +224,7 @@ class WorkOrderData { problemDescription: json["problemDescription"] == null ? null : Lookup.fromJson(json["problemDescription"]), comments: json["comments"], voiceNote: json["voiceNote"], + edd: json["edd"], workOrderAttachments: json["workOrderAttachments"] == null ? [] : List.from(json['workOrderAttachments']).map((e) => WorkOrderAttachments.fromJson(e)).toList(), returnToService: json["returnToService"], serviceType: json["serviceType"] == null ? null : Lookup.fromJson(json["serviceType"]), @@ -268,10 +271,12 @@ class WorkOrderData { "typeofRequest": typeofRequest?.toJson(), "loanAvailablity": loanAvailablity?.toJson(), "assetLoan": assetLoan?.toJson(), + "cmFrame": cmFrame?.toJson(), "safety": safety?.toJson(), "problemDescription": problemDescription?.toJson(), "comments": comments, "voiceNote": voiceNote, + "edd": edd, "workOrderAttachments": workOrderAttachments.map((e) => e.toJson()).toList(), "returnToService": returnToService, "serviceType": serviceType?.toJson(), diff --git a/lib/modules/cm_module/views/components/asset_detail_card.dart b/lib/modules/cm_module/views/components/asset_detail_card.dart index c657b891..c8ac1c3b 100644 --- a/lib/modules/cm_module/views/components/asset_detail_card.dart +++ b/lib/modules/cm_module/views/components/asset_detail_card.dart @@ -37,7 +37,17 @@ class AssetDetailCard extends StatelessWidget { textColor: AppColor.white10, backgroundColor: AppColor.getEquipmentStatusColor(context, requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.id ?? 0), ), - 5.width, + if(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId!=null)...[ + 6.width, + StatusLabel( + label: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId?.name, + id: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId?.id ?? 0, + radius: 4, + textColor: AppColor.getActivityTypeTextColor(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.cmFrameId?.name ?? ''), + backgroundColor: AppColor.getActivityTypeBgColor(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.cmFrameId?.name ?? ''), + ), + ], + 6.width, StatusLabel( label: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.serviceType?.name, id: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.serviceType?.id ?? 0, @@ -76,10 +86,6 @@ class AssetDetailCard extends StatelessWidget { '${context.translation.failureReason}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason?.name ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), - Text( - 'Frame: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId?.name ?? '-'}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), - ), Text( '${context.translation.faultDescription}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription?.name ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), diff --git a/lib/modules/cm_module/views/components/service_request_detail_view.dart b/lib/modules/cm_module/views/components/service_request_detail_view.dart index 247b0af7..4412fa0b 100644 --- a/lib/modules/cm_module/views/components/service_request_detail_view.dart +++ b/lib/modules/cm_module/views/components/service_request_detail_view.dart @@ -579,6 +579,8 @@ class _ServiceRequestDetailViewState extends State { serviceType: currentWorkOrderData.serviceType, descriptionOfFinding: currentWorkOrderData.descriptionOfFinding, actionTaken: currentWorkOrderData.actionTaken, + edd: currentWorkOrderData.edd, + cmFrameId: currentWorkOrderData.cmFrame, ); return const AssetDetailCard(); } else { diff --git a/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart b/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart index e8c04555..771e3f88 100644 --- a/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart +++ b/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart @@ -78,6 +78,8 @@ class _VerifyAssetDetailsState extends State with TickerProv callResponse: currentWorkOrderData.callResponse, descriptionOfFinding: currentWorkOrderData.descriptionOfFinding, actionTaken: currentWorkOrderData.actionTaken, + edd: currentWorkOrderData.edd, + cmFrameId: currentWorkOrderData.cmFrame, ); if (currentWorkOrderData.assetLoan != null) { loanAvailabilityAsset = Asset( @@ -160,37 +162,21 @@ class _VerifyAssetDetailsState extends State with TickerProv }); }, ), + 12.height, - SingleItemDropDownMenu( + SingleItemDropDownMenu( context: context, - title: context.translation.loanAvailability, + title: "WO Frame", backgroundColor: AppColor.neutral100, height: 56.toScreenHeight, showShadow: false, - initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability, - onSelect: (status) { - if (status != null) { - requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability = status; - if (status.value != 1) { - loanAvailabilityAsset = null; - requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = null; - } - setState(() {}); + initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId, + onSelect: (value) { + if (value != null) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId = value; } }, ), - if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) 8.height, - if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) - PickAsset( - device: loanAvailabilityAsset, // ?? _serviceReport.device, - cardColor: AppColor.neutral100, - onPickAsset: (asset) { - requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = asset.id; - setState(() { - loanAvailabilityAsset = asset; - }); - }, - ), 12.height, SingleItemDropDownMenu( context: context, @@ -230,18 +216,36 @@ class _VerifyAssetDetailsState extends State with TickerProv : const SizedBox(), ], 12.height, - AppTextFormField( - labelText: context.translation.callResponse, + SingleItemDropDownMenu( + context: context, + title: context.translation.loanAvailability, backgroundColor: AppColor.neutral100, - initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse, - textAlign: TextAlign.center, - labelStyle: AppTextStyles.textFieldLabelStyle, + height: 56.toScreenHeight, showShadow: false, - onChange: (value) { - requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value; + initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability, + onSelect: (status) { + if (status != null) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability = status; + if (status.value != 1) { + loanAvailabilityAsset = null; + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = null; + } + setState(() {}); + } }, - style: Theme.of(context).textTheme.titleMedium, ), + if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) 8.height, + if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) + PickAsset( + device: loanAvailabilityAsset, // ?? _serviceReport.device, + cardColor: AppColor.neutral100, + onPickAsset: (asset) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = asset.id; + setState(() { + loanAvailabilityAsset = asset; + }); + }, + ), 12.height, ADatePicker( label: "EDD", @@ -278,18 +282,17 @@ class _VerifyAssetDetailsState extends State with TickerProv }, ), 12.height, - SingleItemDropDownMenu( - context: context, - title: "WO Frame", + AppTextFormField( + labelText: context.translation.callResponse, backgroundColor: AppColor.neutral100, - height: 56.toScreenHeight, + initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse, + textAlign: TextAlign.center, + labelStyle: AppTextStyles.textFieldLabelStyle, showShadow: false, - initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId, - onSelect: (value) { - if (value != null) { - requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId = value; - } + onChange: (value) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value; }, + style: Theme.of(context).textTheme.titleMedium, ), if (Provider.of(context, listen: false).isUserFMS) ...[ 12.height,