diff --git a/lib/models/helper_data_models/workorder/work_order_helper_models.dart b/lib/models/helper_data_models/workorder/work_order_helper_models.dart index 2eae7084..a1fcdc26 100644 --- a/lib/models/helper_data_models/workorder/work_order_helper_models.dart +++ b/lib/models/helper_data_models/workorder/work_order_helper_models.dart @@ -81,6 +81,7 @@ class EngineerUpdateWorkOrderHelperModel { Lookup? failureReason; FaultDescription? faultDescription; String? solution; + String? callResponse; EngineerUpdateWorkOrderHelperModel({ this.workOrderId, @@ -93,6 +94,7 @@ class EngineerUpdateWorkOrderHelperModel { this.serviceType, this.solution, this.returnToService, + this.callResponse, }); Map toJson() { @@ -104,6 +106,7 @@ class EngineerUpdateWorkOrderHelperModel { data['loanAssetId'] = loanAssetId; data['failureReasonId'] = failureReason?.id; data['faultDescriptionId'] = faultDescription?.id; + data['callResponse'] = callResponse; return data; } } diff --git a/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart b/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart index ec9223f3..1387d6dc 100644 --- a/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart +++ b/lib/new_views/pages/land_page/requests/recurrent_wo_item_view.dart @@ -52,7 +52,7 @@ class RecurrentWoItemView extends StatelessWidget { // '${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), + '${context.translation.taskNo}: ${requestData!.requestNo}'.bodyText(context), 16.height, Row( mainAxisSize: MainAxisSize.min, @@ -102,7 +102,7 @@ class RecurrentWoItemView extends StatelessWidget { // '${context.translation.taskNo}: ${requestDetails!.id}'.bodyText(context), '${context.translation.site}: ${requestDetails!.site}'.bodyText(context), // '${context.translation.code}: ${request.code}'.bodyText(context), - '${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context), + '${context.translation.taskNo}: ${requestDetails!.requestNo}'.bodyText(context), 16.height, Row( mainAxisSize: MainAxisSize.min, 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 928dc950..4eb0fbef 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 @@ -52,12 +52,14 @@ class ServiceRequestItemView extends StatelessWidget { 8.height, (requestData?.typeTransaction ?? context.translation.correctiveMaintenance).heading5(context), 8.height, - '${context.translation.assetName}: ${requestData!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), + '${context.translation.assetName}: ${requestData?.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), + '${context.translation.assetNumber}: ${requestData?.assetNumber}'.bodyText(context), + // '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context), // '${context.translation.requestType}: ${requestData!.requestTypeName}'.bodyText(context), 'CM Number: ${requestData!.requestNo}'.bodyText(context), if (requestData?.statusName == 'Canceled') ...[ - '${context.translation.rejectionReason}: ${requestData!.rejectReason}'.bodyText(context), + '${context.translation.rejectionReason}: ${requestData?.rejectReason}'.bodyText(context), ], 8.height, Row( @@ -112,9 +114,9 @@ class ServiceRequestItemView extends StatelessWidget { 8.height, // '${context.translation.requestType}: ${requestDetails!.requestType}'.bodyText(context), - 'CM Number: ${requestDetails!.requestNo}'.bodyText(context), - '${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context), '${context.translation.assetName}: ${requestDetails!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), + '${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context), + 'CM Number: ${requestDetails!.requestNo}'.bodyText(context), 8.height, Row( diff --git a/lib/service_request_latest/views/components/service_request_detail_view.dart b/lib/service_request_latest/views/components/service_request_detail_view.dart index 3979e955..c4d25e0e 100644 --- a/lib/service_request_latest/views/components/service_request_detail_view.dart +++ b/lib/service_request_latest/views/components/service_request_detail_view.dart @@ -120,11 +120,11 @@ class _ServiceRequestDetailViewState extends State { textColor: AppColor.getHistoryLogStatusTextColorByName(workOrder.status!.name!), backgroundColor: AppColor.getHistoryLogStatusColorByName(workOrder.status!.name!), ), - if(workOrder.since!=null)...[ + if (workOrder.since != null) ...[ 8.width, StatusLabel( radius: 4, - label:'${workOrder.since} days', + label: '${workOrder.since} days', textColor: AppColor.neutral50, backgroundColor: AppColor.orange30, ), @@ -296,21 +296,21 @@ class _ServiceRequestDetailViewState extends State { ), ], - 8.height, - const Divider().defaultStyle(context), - MultiFilesPicker( - label: context.translation.attachments, - files: _workOrderAttachments, - // attachment: _workOrderAttachments, - buttonColor: AppColor.primary10, - onlyImages: false, - buttonIcon: 'quotation_icon'.toSvgAsset(color: AppColor.primary10), - onChange: (attachment) { - print('i am called.'); - // print('attachment value is ${attachment.last.file?.path}'); - requestProvider.addWorkOrderAttachment(woId: workOrder.requestId!, attachments: _workOrderAttachments); - }, - ), + if (!requestProvider.isReadOnlyRequest) ...[ + 8.height, + const Divider().defaultStyle(context), + MultiFilesPicker( + label: context.translation.attachments, + files: _workOrderAttachments, + // attachment: _workOrderAttachments, + buttonColor: AppColor.primary10, + onlyImages: false, + buttonIcon: 'quotation_icon'.toSvgAsset(color: AppColor.primary10), + onChange: (attachment) { + requestProvider.addWorkOrderAttachment(woId: workOrder.requestId!, attachments: _workOrderAttachments); + }, + ), + ], if (workOrder.voiceNote?.isNotEmpty ?? false) ...[ const Divider().defaultStyle(context), @@ -403,27 +403,27 @@ class _ServiceRequestDetailViewState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '${workOrder.workOrderContactPerson[index].name??'-'}', + '${workOrder.workOrderContactPerson[index].name ?? '-'}', style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ), Text( - '${context.translation.employeeId}: ${workOrder.workOrderContactPerson[index].employeeId??'-'}', + '${context.translation.employeeId}: ${workOrder.workOrderContactPerson[index].employeeId ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), Text( - '${context.translation.telephone}: ${workOrder.workOrderContactPerson[index].mobilePhone??'-'}', + '${context.translation.telephone}: ${workOrder.workOrderContactPerson[index].mobilePhone ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), Text( - 'Job: ${workOrder.workOrderContactPerson[index].position??'-'}', + 'Job: ${workOrder.workOrderContactPerson[index].position ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), Text( - '${context.translation.email}: ${workOrder.workOrderContactPerson[index].email??'-'}', + '${context.translation.email}: ${workOrder.workOrderContactPerson[index].email ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), Text( - 'Extension: ${workOrder.workOrderContactPerson[index].extension??'-'}', + 'Extension: ${workOrder.workOrderContactPerson[index].extension ?? '-'}', style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), ), ], @@ -473,7 +473,6 @@ class _ServiceRequestDetailViewState extends State { } Widget assetDetailCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider}) { - print('id i got is ${requestDetailProvider.currentWorkOrder?.data?.status?.id}'); if ((userProvider.user?.type == UsersTypes.engineer && requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) || requestDetailProvider.isReadOnlyRequest) { WorkOrderData currentWorkOrderData = requestDetailProvider.currentWorkOrder!.data!; diff --git a/lib/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart b/lib/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart index 25c26a43..6952d29b 100644 --- a/lib/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart +++ b/lib/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart @@ -13,6 +13,7 @@ import 'package:test_sa/models/new_models/work_order_detail_model.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; +import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; @@ -74,6 +75,7 @@ class _VerifyAssetDetailsState extends State with TickerProv solution: currentWorkOrderData.faultDescription?.workPerformed, returnToService: currentWorkOrderData.returnToService, serviceType: currentWorkOrderData.serviceType, + callResponse: currentWorkOrderData.callResponse, ); if (currentWorkOrderData.assetLoan != null) { loanAvailabilityAsset = Asset( @@ -219,9 +221,22 @@ class _VerifyAssetDetailsState extends State with TickerProv context.translation.solutions.heading6(context).custom(color: AppColor.neutral50), 8.height, requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null - ? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120) + ? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120,align: TextAlign.justify) : const SizedBox(), - ] + ], + 8.height, + AppTextFormField( + labelText: context.translation.callResponse, + backgroundColor: AppColor.neutral100, + initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse, + textAlign: TextAlign.center, + labelStyle: AppTextStyles.textFieldLabelStyle, + showShadow: false, + onChange: (value){ + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value; + }, + style: Theme.of(context).textTheme.titleMedium, + ), ], ).toShadowContainer(context).paddingAll(16), ).expanded, diff --git a/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/components/task_info_widget.dart b/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/components/task_info_widget.dart index ce72938b..26f5ba20 100644 --- a/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/components/task_info_widget.dart +++ b/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/components/task_info_widget.dart @@ -51,11 +51,11 @@ class RecurrentTaskInfoWidget extends StatelessWidget { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - buildingInfoWidget(label: context.translation.department, value: model!.department!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context), + buildingInfoWidget(label: context.translation.department, value: model!.department?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context), 8.height, - buildingInfoWidget(label: context.translation.floor, value: model!.floor!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context), + buildingInfoWidget(label: context.translation.floor, value: model!.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context), 8.height, - buildingInfoWidget(label: context.translation.room, value: model!.room!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context), + buildingInfoWidget(label: context.translation.room, value: model!.room?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context), 8.height, _timerWidget(context, model!.totalWorkingHours!), 8.height, @@ -129,7 +129,7 @@ class RecurrentTaskInfoWidget extends StatelessWidget { } } -Widget buildingInfoWidget({required String label, required String value, required BuildContext context}) { +Widget buildingInfoWidget({required String label, required String ?value, required BuildContext context}) { return Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,