diff --git a/lib/cm_module/service_request_detail_provider.dart b/lib/cm_module/service_request_detail_provider.dart index 8e724ae8..edc52141 100644 --- a/lib/cm_module/service_request_detail_provider.dart +++ b/lib/cm_module/service_request_detail_provider.dart @@ -5,6 +5,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:http/src/response.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/api_routes/api_manager.dart'; import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/models/helper_data_models/asset_retired/asset_retired_model.dart'; @@ -16,7 +17,7 @@ import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/models/new_models/work_order_detail_model.dart'; import 'package:test_sa/models/service_request/spare_parts.dart'; import 'package:test_sa/models/service_request/supplier_details.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; + class ServiceRequestDetailProvider extends ChangeNotifier { final pageItemNumber = 10; @@ -105,7 +106,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier { AssetRetiredHelperModel? assetRetiredHelperModel = AssetRetiredHelperModel(); ActivityMaintenanceHelperModel? activityMaintenanceHelperModel = ActivityMaintenanceHelperModel(); SparePartHelperModel? sparePartHelperModel; - List _storeAvailability= []; + List _storeAvailability = []; List get storeAvailability => _storeAvailability; @@ -119,6 +120,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier { NurseActionHelperModel? nurseActionHelperModel; EngineerRejectHelperModel? engineerRejectHelperModel = EngineerRejectHelperModel(); EngineerUpdateWorkOrderHelperModel? engineerUpdateWorkOrderHelperModel = EngineerUpdateWorkOrderHelperModel(); + WorkOrderCostModel? workOrderCostModel; WorkOrderHelperModel? workOrderHelperModel; List arrivalTypeList = []; @@ -252,7 +254,6 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } } - //upload workorder attachment by engineer.. Future addWorkOrderAttachment({required int woId, required List attachments}) async { try { @@ -607,6 +608,25 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } } + //engineerUpdateWorkOrder...... + Future engineerUpdateCost() async { + try { + isLoading = true; + notifyListeners(); + final response = await ApiManager.instance.post(URLs.engineerUpdateCost, body: workOrderCostModel!.toJson()); + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body)); + } + isLoading = false; + notifyListeners(); + } catch (e) { + log("engineer update workorder [error] : $e"); + isLoading = false; + notifyListeners(); + } + } + //Nurse confirm reopen Future nurseReject() async { try { @@ -923,10 +943,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier { isLoading = true; notifyListeners(); try { - final response = await ApiManager.instance.post( - URLs.sendOtpUrl + "$workOrderId", - body: {} - ); + final response = await ApiManager.instance.post(URLs.sendOtpUrl + "$workOrderId", body: {}); stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) {} isLoading = false; @@ -944,7 +961,7 @@ class ServiceRequestDetailProvider extends ChangeNotifier { isLoading = true; notifyListeners(); try { - final response = await ApiManager.instance.post(URLs.verifyOtpUrl + '$workOrderId&$otpCode',body: {}); + final response = await ApiManager.instance.post(URLs.verifyOtpUrl + '$workOrderId&$otpCode', body: {}); stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) {} diff --git a/lib/cm_module/utilities/service_request_utils.dart b/lib/cm_module/utilities/service_request_utils.dart index 9deccbfa..d3c5c8cb 100644 --- a/lib/cm_module/utilities/service_request_utils.dart +++ b/lib/cm_module/utilities/service_request_utils.dart @@ -17,7 +17,7 @@ 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/new_views/common_widgets/app_lazy_loading.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; import 'package:huawei_push/huawei_push.dart' as h_push; class ServiceRequestUtils { diff --git a/lib/cm_module/views/components/action_button/footer_action_button.dart b/lib/cm_module/views/components/action_button/footer_action_button.dart index 4fbbf7bc..24c1516a 100644 --- a/lib/cm_module/views/components/action_button/footer_action_button.dart +++ b/lib/cm_module/views/components/action_button/footer_action_button.dart @@ -13,11 +13,11 @@ 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/providers/service_request_providers/reject_reason_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/activities_list_view.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; -import 'package:test_sa/service_request_latest/views/components/verify_arrival_view.dart'; -import 'package:test_sa/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/activities_list_view.dart'; +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/views/components/verify_arrival_view.dart'; +import 'package:test_sa/cm_module/views/forms/asset_retired/verify_asset_detail.dart'; class FooterActionButton { static Widget footerContainer({required Widget child}) { diff --git a/lib/cm_module/views/components/activities_list_view.dart b/lib/cm_module/views/components/activities_list_view.dart index cb1b7932..d2f3ef75 100644 --- a/lib/cm_module/views/components/activities_list_view.dart +++ b/lib/cm_module/views/components/activities_list_view.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; @@ -18,12 +19,12 @@ 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/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; -import 'package:test_sa/service_request_latest/views/forms/maintenance_request/maintenance_request_main.dart'; -import 'package:test_sa/service_request_latest/views/forms/spare_part/spare_part_request.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/views/forms/maintenance_request/maintenance_request_main.dart'; +import 'package:test_sa/cm_module/views/forms/spare_part/spare_part_request.dart'; import 'package:test_sa/views/widgets/images/files_list.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; diff --git a/lib/cm_module/views/components/asset_detail_card.dart b/lib/cm_module/views/components/asset_detail_card.dart index 824573e4..db6b425f 100644 --- a/lib/cm_module/views/components/asset_detail_card.dart +++ b/lib/cm_module/views/components/asset_detail_card.dart @@ -7,8 +7,8 @@ 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/new_views/app_style/app_color.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/forms/asset_retired/verify_asset_detail.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/forms/asset_retired/verify_asset_detail.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; class AssetDetailCard extends StatelessWidget { diff --git a/lib/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart b/lib/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart index 6df66036..93106c61 100644 --- a/lib/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart +++ b/lib/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart @@ -6,6 +6,7 @@ import 'package:flutter/services.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/app_strings/app_asset.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; @@ -21,10 +22,10 @@ import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart'; import 'package:test_sa/providers/service_request_providers/reject_reason_provider.dart'; import 'package:test_sa/providers/work_order/need_visit_reminder_time_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/forms/maintenance_request/maintenance_request_main.dart'; -import 'package:test_sa/service_request_latest/views/forms/spare_part/spare_part_request.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + +import 'package:test_sa/cm_module/views/forms/maintenance_request/maintenance_request_main.dart'; +import 'package:test_sa/cm_module/views/forms/spare_part/spare_part_request.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/e_signature/e_signature.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; diff --git a/lib/cm_module/views/components/history_log_view.dart b/lib/cm_module/views/components/history_log_view.dart index a3f5619c..994dd7ad 100644 --- a/lib/cm_module/views/components/history_log_view.dart +++ b/lib/cm_module/views/components/history_log_view.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; @@ -10,8 +11,8 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; 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/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + import 'package:test_sa/views/widgets/buttons/app_back_button.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; diff --git a/lib/cm_module/views/components/initial_visit_card.dart b/lib/cm_module/views/components/initial_visit_card.dart index cd39e894..d2c13fe5 100644 --- a/lib/cm_module/views/components/initial_visit_card.dart +++ b/lib/cm_module/views/components/initial_visit_card.dart @@ -8,8 +8,8 @@ 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/new_views/app_style/app_color.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; class InitialVisitCard extends StatefulWidget { const InitialVisitCard({Key? key}) : super(key: key); diff --git a/lib/cm_module/views/components/service_request_detail_view.dart b/lib/cm_module/views/components/service_request_detail_view.dart index c91001d9..42c9b308 100644 --- a/lib/cm_module/views/components/service_request_detail_view.dart +++ b/lib/cm_module/views/components/service_request_detail_view.dart @@ -2,6 +2,11 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/asset_detail_card.dart'; +import 'package:test_sa/cm_module/views/components/initial_visit_card.dart'; +import 'package:test_sa/cm_module/views/forms/asset_retired/asset_retired.dart'; import 'package:test_sa/controllers/api_routes/urls.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; @@ -16,11 +21,6 @@ import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_mo 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/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; -import 'package:test_sa/service_request_latest/views/components/asset_detail_card.dart'; -import 'package:test_sa/service_request_latest/views/components/initial_visit_card.dart'; -import 'package:test_sa/service_request_latest/views/forms/asset_retired/asset_retired.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; @@ -65,6 +65,8 @@ class _ServiceRequestDetailViewState extends State { workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider, requestProvider), initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider), assetDetailCard(requestDetailProvider: requestProvider, userProvider: _userProvider), + // 12.height, + // costCard(context, requestProvider.currentWorkOrder!.data!), 12.height, contactInfoCard(context, requestProvider.currentWorkOrder!.data!), 20.height, @@ -396,7 +398,7 @@ class _ServiceRequestDetailViewState extends State { "Contact Info", style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ), - 8.height, + // 8.height, ListView.separated( physics: const NeverScrollableScrollPhysics(), shrinkWrap: true, @@ -433,7 +435,38 @@ class _ServiceRequestDetailViewState extends State { separatorBuilder: (cxt, index) => const Divider().defaultStyle(context), itemCount: workOrder.workOrderContactPerson.length), ], - ).toShadowContainer(context, padding: 16); + ).toShadowContainer(context, padding: 12); + } + + Widget costCard(BuildContext context, WorkOrderData workOrder) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Cost", + style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Spare Part Cost: ${workOrder.sparePartCost ?? '-'}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + Text( + 'Labour Cost: ${context.translation.employeeId}: ${workOrder.labourCost ?? '-'}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + Text( + 'Travel Cost: ${context.translation.telephone}: ${workOrder.travelCost ?? '-'}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + ], + ), + ], + ).toShadowContainer(context, padding: 12); } Widget assetRetiredButton({required BuildContext context}) { @@ -466,14 +499,6 @@ class _ServiceRequestDetailViewState extends State { } } - void showToast({required UserProvider userProvider, required WorkOrderNextStepEnum nextStep, required BuildContext context}) { - if (userProvider.user?.type == UsersTypes.engineer) { - if (nextStep == WorkOrderNextStepEnum.nTakeAction) { - const SizedBox().flushBar(context: context, title: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm, message: ''); - } - } - } - Widget assetDetailCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider}) { if ((userProvider.user?.type == UsersTypes.engineer && requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) || requestDetailProvider.isReadOnlyRequest) { diff --git a/lib/cm_module/views/components/timer_widget.dart b/lib/cm_module/views/components/timer_widget.dart index f24393d6..08ebba6e 100644 --- a/lib/cm_module/views/components/timer_widget.dart +++ b/lib/cm_module/views/components/timer_widget.dart @@ -7,7 +7,7 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/models/size_config.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/extensions/string_extensions.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; class TimerWidget extends StatefulWidget { const TimerWidget({Key? key}) : super(key: key); diff --git a/lib/cm_module/views/components/verify_arrival_view.dart b/lib/cm_module/views/components/verify_arrival_view.dart index 90ba4439..2fe50d29 100644 --- a/lib/cm_module/views/components/verify_arrival_view.dart +++ b/lib/cm_module/views/components/verify_arrival_view.dart @@ -5,6 +5,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; @@ -13,10 +14,10 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; -import 'package:test_sa/service_request_latest/views/components/verify_otp_view.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/views/components/verify_otp_view.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/qr/scan_qr.dart'; diff --git a/lib/cm_module/views/components/verify_otp_view.dart b/lib/cm_module/views/components/verify_otp_view.dart index c9537bd3..fd04b118 100644 --- a/lib/cm_module/views/components/verify_otp_view.dart +++ b/lib/cm_module/views/components/verify_otp_view.dart @@ -8,7 +8,7 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_lazy_loading.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; class VerifyOtpView extends StatelessWidget { const VerifyOtpView({Key? key}) : super(key: key); diff --git a/lib/cm_module/views/forms/asset_retired/asset_retired.dart b/lib/cm_module/views/forms/asset_retired/asset_retired.dart index ffd36189..23cb091c 100644 --- a/lib/cm_module/views/forms/asset_retired/asset_retired.dart +++ b/lib/cm_module/views/forms/asset_retired/asset_retired.dart @@ -12,8 +12,8 @@ import 'package:test_sa/new_views/common_widgets/app_filled_button.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/work_order/retirement_type_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import '../../../../../../models/lookup.dart'; diff --git a/lib/cm_module/views/forms/asset_retired/verify_asset_detail.dart b/lib/cm_module/views/forms/asset_retired/verify_asset_detail.dart index 429bb05f..6047f4c7 100644 --- a/lib/cm_module/views/forms/asset_retired/verify_asset_detail.dart +++ b/lib/cm_module/views/forms/asset_retired/verify_asset_detail.dart @@ -21,7 +21,7 @@ import 'package:test_sa/providers/service_request_providers/equipment_status_pro import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart'; import 'package:test_sa/providers/work_order/fault_description_provider.dart'; import 'package:test_sa/providers/work_order/reason_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/equipment/pick_asset.dart'; diff --git a/lib/cm_module/views/forms/cost/cost_detail_form_screen.dart b/lib/cm_module/views/forms/cost/cost_detail_form_screen.dart new file mode 100644 index 00000000..4c06ad54 --- /dev/null +++ b/lib/cm_module/views/forms/cost/cost_detail_form_screen.dart @@ -0,0 +1,195 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/extensions/context_extension.dart'; +import 'package:test_sa/extensions/int_extensions.dart'; +import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/widget_extensions.dart'; +import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; +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/default_app_bar.dart'; +import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; + +class CostDetailFormScreen extends StatefulWidget { + static const String id = "/cost-detail-form-screen"; + bool isEdit = false; + + CostDetailFormScreen({Key? key, required this.isEdit}) : super(key: key); + + @override + _CostDetailFormScreenState createState() => _CostDetailFormScreenState(); +} + +class _CostDetailFormScreenState extends State with TickerProviderStateMixin { + ServiceRequestDetailProvider? _requestDetailProvider; + + final GlobalKey _scaffoldKey = GlobalKey(); + + @override + void initState() { + super.initState(); + } + + void assignValues() { + // ServiceRequestDetailProvider requestDetailProvider = Provider.of(context, listen: false); + // _requestDetailProvider = Provider.of(context, listen: false); + WorkOrderData currentWorkOrderData = _requestDetailProvider!.currentWorkOrder!.data!; + _requestDetailProvider!.workOrderCostModel = WorkOrderCostModel( + workOrderId: currentWorkOrderData.requestId, + labourCost: currentWorkOrderData.labourCost, + sparePartCost: currentWorkOrderData.sparePartCost, + travelCost: currentWorkOrderData.travelCost, + ); + } + + @override + Widget build(BuildContext context) { + if (_requestDetailProvider == null) { + _requestDetailProvider = Provider.of(context, listen: false); + assignValues(); + } + + return Scaffold( + key: _scaffoldKey, + appBar: const DefaultAppBar(title: "Cost Details"), + body: Consumer(builder: (context, ServiceRequestDetailProvider requestDetailProvider, child) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + if (widget.isEdit) ...[ + SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + AppTextFormField( + labelText: "Spare Part Cost", + backgroundColor: AppColor.neutral100, + initialValue: requestDetailProvider.workOrderCostModel?.sparePartCost?.toString(), + textAlign: TextAlign.center, + labelStyle: AppTextStyles.textFieldLabelStyle, + showShadow: false, + onChange: (value) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value; + }, + style: Theme.of(context).textTheme.titleMedium, + ), + 8.height, + AppTextFormField( + labelText: "Labour Cost", + backgroundColor: AppColor.neutral100, + initialValue: requestDetailProvider.workOrderCostModel?.labourCost?.toString(), + textAlign: TextAlign.center, + labelStyle: AppTextStyles.textFieldLabelStyle, + showShadow: false, + onChange: (value) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.descriptionOfFinding = value; + }, + style: Theme.of(context).textTheme.titleMedium, + ), + 8.height, + AppTextFormField( + labelText: "Travel Cost", + backgroundColor: AppColor.neutral100, + initialValue: requestDetailProvider.workOrderCostModel?.travelCost?.toString(), + textAlign: TextAlign.center, + labelStyle: AppTextStyles.textFieldLabelStyle, + showShadow: false, + onChange: (value) { + requestDetailProvider.engineerUpdateWorkOrderHelperModel?.actionTaken = value; + }, + style: Theme.of(context).textTheme.titleMedium, + ), + ], + ).toShadowContainer(context).paddingAll(16), + ).expanded, + ] else ...[ + assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!).toShadowContainer(context).paddingAll(16), + ], + Container( + padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 16.toScreenHeight), + color: AppColor.white10, + child: AppFilledButton( + label: "Update Cost Details", + buttonColor: AppColor.primary10, + onPressed: () async { + if (validateForm(requestDetailProvider: requestDetailProvider)) { + showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); + await requestDetailProvider.engineerUpdateWorkOrder(); + Navigator.pop(context); + Navigator.pop(context); + } + }, + ), + ), + ], + ); + }), + ); + } + + bool validateForm({required ServiceRequestDetailProvider requestDetailProvider}) { + bool isValid = true; + if (!widget.isEdit) { + return true; + } + // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus != null) { + // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 1 || requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 2) { + // if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService == null) { + // Fluttertoast.showToast(msg: "Return to service is required ", toastLength: Toast.LENGTH_LONG); + // return false; + // } + // } + // } + return isValid; + } + + Widget assetStatusWidget({required BuildContext context, required EngineerUpdateWorkOrderHelperModel workOrderData}) { + return Consumer(builder: (cxt, snapshot, _) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + context.translation.assetStatus.bodyText(context).custom(color: AppColor.black20), + 8.height, + Wrap( + runSpacing: 8, + spacing: 8, + children: [ + for (var element in snapshot.items) + Row( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox( + width: 24, + height: 24, + child: Radio( + value: element, + activeColor: Colors.red, + fillColor: WidgetStateColor.resolveWith((states) { + if (states.contains(WidgetState.selected)) return AppColor.primary10; + return AppColor.neutral130; + }), + groupValue: workOrderData.equipmentStatus, + onChanged: (state) { + setState(() { + workOrderData.equipmentStatus = element; + }); + }), + ), + 8.width, + Text(element.name ?? '', style: AppTextStyles.tinyFont.copyWith(color: AppColor.neutral120)), + ], + ) + ], + ).toShimmer(isShow: snapshot.loading), + ], + ); + }); + } +} diff --git a/lib/cm_module/views/forms/maintenance_request/components/assistant_employee_card.dart b/lib/cm_module/views/forms/maintenance_request/components/assistant_employee_card.dart index 6dd67f9e..570c0ee9 100644 --- a/lib/cm_module/views/forms/maintenance_request/components/assistant_employee_card.dart +++ b/lib/cm_module/views/forms/maintenance_request/components/assistant_employee_card.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -9,8 +11,6 @@ import 'package:test_sa/extensions/widget_extensions.dart'; 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_text_form_field.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart'; @@ -39,11 +39,10 @@ class _AssistantEmployeeCardState extends State { Future getInitialData() async { final user = Provider.of(context, listen: false).user!; ServiceRequestDetailProvider requestDetailProvider = Provider.of(context, listen: false); - if( requestDetailProvider.isReadOnlyRequest){ - isExpanded = true; - setState(() { - }); - } + if (requestDetailProvider.isReadOnlyRequest) { + isExpanded = true; + setState(() {}); + } isCurrentUserIsAssistantEmp = (user.userID != requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId); // if (isCurrentUserIsAssistantEmp) { @@ -129,8 +128,8 @@ class _AssistantEmployeeCardState extends State { startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate, endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate, workingHoursController: _workingHoursController, - updateModel: (hours){ - requestDetailProvider.activityMaintenanceHelperModel!.modelAssistantEmployees!.workingHours=hours; + updateModel: (hours) { + requestDetailProvider.activityMaintenanceHelperModel!.modelAssistantEmployees!.workingHours = hours; }); } }); @@ -168,8 +167,8 @@ class _AssistantEmployeeCardState extends State { startTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.startDate, endTime: requestDetailProvider.activityMaintenanceHelperModel?.modelAssistantEmployees?.endDate, workingHoursController: _workingHoursController, - updateModel: (hours){ - requestDetailProvider.activityMaintenanceHelperModel!.modelAssistantEmployees!.workingHours=hours; + updateModel: (hours) { + requestDetailProvider.activityMaintenanceHelperModel!.modelAssistantEmployees!.workingHours = hours; }); } }); diff --git a/lib/cm_module/views/forms/maintenance_request/components/external_request.dart b/lib/cm_module/views/forms/maintenance_request/components/external_request.dart index 1f828514..d8269d15 100644 --- a/lib/cm_module/views/forms/maintenance_request/components/external_request.dart +++ b/lib/cm_module/views/forms/maintenance_request/components/external_request.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; @@ -11,8 +12,8 @@ import 'package:test_sa/models/service_request/supplier_details.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; import 'package:test_sa/providers/work_order/vendor_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + import 'package:test_sa/views/pages/user/requests/add_supplier_engineer_bottom_sheet.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import '../../../../../new_views/common_widgets/app_text_form_field.dart'; diff --git a/lib/cm_module/views/forms/maintenance_request/components/internal_request.dart b/lib/cm_module/views/forms/maintenance_request/components/internal_request.dart index c94195d4..d6c45371 100644 --- a/lib/cm_module/views/forms/maintenance_request/components/internal_request.dart +++ b/lib/cm_module/views/forms/maintenance_request/components/internal_request.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -9,9 +10,9 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/providers/service_request_providers/last_situation_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/forms/maintenance_request/components/assistant_employee_card.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; + +import 'package:test_sa/cm_module/views/forms/maintenance_request/components/assistant_employee_card.dart'; import 'package:test_sa/views/widgets/timer/app_timer.dart'; import '../../../../../models/lookup.dart'; diff --git a/lib/cm_module/views/forms/maintenance_request/maintenance_request_main.dart b/lib/cm_module/views/forms/maintenance_request/maintenance_request_main.dart index 9da93430..b06b2aa4 100644 --- a/lib/cm_module/views/forms/maintenance_request/maintenance_request_main.dart +++ b/lib/cm_module/views/forms/maintenance_request/maintenance_request_main.dart @@ -12,10 +12,10 @@ 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/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; -import 'package:test_sa/service_request_latest/views/forms/maintenance_request/components/external_request.dart'; -import 'package:test_sa/service_request_latest/views/forms/maintenance_request/components/internal_request.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/forms/maintenance_request/components/external_request.dart'; +import 'package:test_sa/cm_module/views/forms/maintenance_request/components/internal_request.dart'; class MaintenanceRequestForm extends StatefulWidget { MaintenanceRequestForm({Key? key}) : super(key: key); diff --git a/lib/cm_module/views/forms/spare_part/spare_part_request.dart b/lib/cm_module/views/forms/spare_part/spare_part_request.dart index 8b1454a6..28578589 100644 --- a/lib/cm_module/views/forms/spare_part/spare_part_request.dart +++ b/lib/cm_module/views/forms/spare_part/spare_part_request.dart @@ -17,9 +17,9 @@ 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/single_item_drop_down_menu.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/views/widgets/images/new_multi_image_picker.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; diff --git a/lib/cm_module/views/forms/work_order/work_order_form_view.dart b/lib/cm_module/views/forms/work_order/work_order_form_view.dart index cc446047..aa905e78 100644 --- a/lib/cm_module/views/forms/work_order/work_order_form_view.dart +++ b/lib/cm_module/views/forms/work_order/work_order_form_view.dart @@ -10,9 +10,9 @@ import 'package:test_sa/extensions/widget_extensions.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/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/views/forms/work_order/components/asset_conditon_view.dart'; -import 'package:test_sa/service_request_latest/views/forms/work_order/components/attachments_view.dart'; -import 'package:test_sa/service_request_latest/views/forms/work_order/components/time_duration_view.dart'; +import 'package:test_sa/cm_module/views/forms/work_order/components/asset_conditon_view.dart'; +import 'package:test_sa/cm_module/views/forms/work_order/components/attachments_view.dart'; +import 'package:test_sa/cm_module/views/forms/work_order/components/time_duration_view.dart'; class WorkOrderFormView extends StatefulWidget { diff --git a/lib/cm_module/views/nurse/create_new_request_view.dart b/lib/cm_module/views/nurse/create_new_request_view.dart index 86637776..de785a51 100644 --- a/lib/cm_module/views/nurse/create_new_request_view.dart +++ b/lib/cm_module/views/nurse/create_new_request_view.dart @@ -24,8 +24,8 @@ import 'package:test_sa/providers/service_request_providers/equipment_status_pro import 'package:test_sa/providers/service_request_providers/priority_provider.dart'; import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart'; import 'package:test_sa/providers/service_request_providers/type_of_request_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/pages/user/requests/pending_requests_screen.dart'; import 'package:test_sa/views/widgets/bottom_sheets/pending_request_bottom_sheet.dart'; import 'package:test_sa/views/widgets/equipment/asset_picker.dart'; diff --git a/lib/cm_module/views/service_request_detail_main_view.dart b/lib/cm_module/views/service_request_detail_main_view.dart index 4ea8d260..b9d465f8 100644 --- a/lib/cm_module/views/service_request_detail_main_view.dart +++ b/lib/cm_module/views/service_request_detail_main_view.dart @@ -10,9 +10,9 @@ import 'package:test_sa/models/enums/work_order_next_step.dart'; import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart'; -import 'package:test_sa/service_request_latest/views/components/history_log_view.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; +import 'package:test_sa/cm_module/views/components/history_log_view.dart'; import 'components/service_request_detail_view.dart'; class ServiceRequestDetailMain extends StatefulWidget { diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index a9ef09bf..0e76394e 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -86,6 +86,7 @@ class URLs { static get engineerConfirmArriveUrl => '$_baseUrl/ServiceRequest/EngineerConfirmArrive'; static get engineerUpdateWorkOrderUrl => '$_baseUrl/ServiceRequest/EngineerUpdateWorkOrder'; + static get engineerUpdateCost => '$_baseUrl/ServiceRequest/EngineerUpdateCost'; static get engineerSetReminderUrl => '$_baseUrl/ServiceRequest/EngineerSetReminder'; diff --git a/lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart index 2d575b30..3641f615 100644 --- a/lib/controllers/notification/firebase_notification_manger.dart +++ b/lib/controllers/notification/firebase_notification_manger.dart @@ -8,7 +8,7 @@ import 'package:huawei_push/huawei_push.dart' as h_push; import 'package:test_sa/controllers/notification/notification_manger.dart'; import 'package:test_sa/models/device/device_transfer.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart'; -import 'package:test_sa/service_request_latest/views/service_request_detail_main_view.dart'; +import 'package:test_sa/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart'; import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart'; import 'package:test_sa/views/pages/user/ppm/ppm_details_page.dart'; diff --git a/lib/dashboard_latest/widgets/request_category_fragment.dart b/lib/dashboard_latest/widgets/request_category_fragment.dart index 8a9d604b..076fb2b9 100644 --- a/lib/dashboard_latest/widgets/request_category_fragment.dart +++ b/lib/dashboard_latest/widgets/request_category_fragment.dart @@ -11,7 +11,7 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/new_models/dashboard_detail.dart'; import 'package:test_sa/new_views/common_widgets/tab_button.dart'; -import 'package:test_sa/service_request_latest/views/components/weekly_calendar_fragment.dart'; +import 'package:test_sa/cm_module/views/components/weekly_calendar_fragment.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; class RequestCategoryFragment extends StatelessWidget { diff --git a/lib/main.dart b/lib/main.dart index 4eac10a1..4aec276a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -66,8 +66,8 @@ import 'package:test_sa/providers/work_order/retirement_type_provider.dart'; import 'package:test_sa/providers/work_order/service_type_provider.dart'; import 'package:test_sa/providers/work_order/supplier_engineer_provider.dart'; import 'package:test_sa/providers/work_order/vendor_provider.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; -import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/views/nurse/create_new_request_view.dart'; import 'package:test_sa/views/pages/device_transfer/device_filter_screen.dart'; import 'package:test_sa/views/pages/device_transfer/device_search_screen.dart'; import 'package:test_sa/views/pages/device_transfer/create__device_transfer_request.dart'; 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 b8d691a2..ecdf5470 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 @@ -41,7 +41,8 @@ class WorkOrderHelperModel { } return data; } - Map toUploadAttachmentJson(int? workOrderId,List? workOrderAttachments) { + + Map toUploadAttachmentJson(int? workOrderId, List? workOrderAttachments) { final Map data = {}; data['workOrderId'] = workOrderId; if (workOrderAttachments != null) { @@ -152,3 +153,16 @@ class EngineerRejectHelperModel { return {'workOrderId': workOrderId, 'feedback': feedback, 'rejectReasonId': rejectionReason?.id}; } } + +class WorkOrderCostModel { + int? workOrderId; + num? sparePartCost; + num? labourCost; + num? travelCost; + + WorkOrderCostModel({this.workOrderId, this.sparePartCost, this.labourCost, this.travelCost}); + + Map toJson() { + return {'workOrderId': workOrderId, 'sparePartCost': sparePartCost, 'laborCost': labourCost, 'travelCost': travelCost}; + } +} diff --git a/lib/models/new_models/work_order_detail_model.dart b/lib/models/new_models/work_order_detail_model.dart index 3e2bfc55..46ba796f 100644 --- a/lib/models/new_models/work_order_detail_model.dart +++ b/lib/models/new_models/work_order_detail_model.dart @@ -93,6 +93,9 @@ class WorkOrderData { this.callResponse, this.descriptionOfFinding, this.actionTaken, + this.labourCost, + this.sparePartCost, + this.travelCost, required this.workOrderHistory, required this.activities, required this.activityAssetToBeRetireds, @@ -150,6 +153,9 @@ class WorkOrderData { String? descriptionOfFinding; String? actionTaken; int? since; + int? sparePartCost; + int? labourCost; + int? travelCost; List workOrderHistory; List activities; List activityAssetToBeRetireds; @@ -179,6 +185,9 @@ class WorkOrderData { cmFrame: json["cmFrame"] == null ? null : Lookup.fromJson(json["cmFrame"]), rejectReason: json["rejectReason"] == null ? null : Lookup.fromJson(json["rejectReason"]), since: json['since'], + travelCost: json['travelCost'], + sparePartCost: json['sparePartCost'], + labourCost: json['labourCost'], assetType: json["assetType"] == null ? null : Lookup.fromJson(json["assetType"]), assignedEmployee: json["assignedEmployee"] == null ? null : WorkOrderAssignedEmployee.fromJson(json["assignedEmployee"]), lastActivityStatus: json["lastActivityStatus"] != null ? Lookup.fromJson(json["lastActivityStatus"]) : null, diff --git a/lib/new_views/pages/gas_refill_request_form.dart b/lib/new_views/pages/gas_refill_request_form.dart index 12a6b215..916e7b78 100644 --- a/lib/new_views/pages/gas_refill_request_form.dart +++ b/lib/new_views/pages/gas_refill_request_form.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/dashboard_latest/dashboard_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -21,8 +22,8 @@ import 'package:test_sa/providers/gas_request_providers/cylinder_type_provider.d import 'package:test_sa/providers/gas_request_providers/gas_types_provider.dart'; import 'package:test_sa/providers/gas_request_providers/site_provider.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; + +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import '../../controllers/providers/api/gas_refill_provider.dart'; import '../common_widgets/default_app_bar.dart'; diff --git a/lib/new_views/pages/land_page/create_request-type_bottomsheet.dart b/lib/new_views/pages/land_page/create_request-type_bottomsheet.dart index 7a7f1ba0..c70caf19 100644 --- a/lib/new_views/pages/land_page/create_request-type_bottomsheet.dart +++ b/lib/new_views/pages/land_page/create_request-type_bottomsheet.dart @@ -6,7 +6,7 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/pages/gas_refill_request_form.dart'; -import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart'; +import 'package:test_sa/cm_module/views/nurse/create_new_request_view.dart'; import 'package:test_sa/views/pages/device_transfer/create__device_transfer_request.dart'; import 'package:test_sa/views/pages/user/tasks_request/create_task_view.dart'; 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 3f888da7..4f543b1f 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 @@ -10,7 +10,7 @@ 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/service_request_detail_main_view.dart'; +import 'package:test_sa/cm_module/views/service_request_detail_main_view.dart'; import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; diff --git a/lib/views/pages/device_transfer/create__device_transfer_request.dart b/lib/views/pages/device_transfer/create__device_transfer_request.dart index 49a97b2a..312e6e58 100644 --- a/lib/views/pages/device_transfer/create__device_transfer_request.dart +++ b/lib/views/pages/device_transfer/create__device_transfer_request.dart @@ -20,7 +20,7 @@ import 'package:test_sa/models/service_request/pending_service_request_model.dar import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; import 'package:test_sa/providers/ppm_service_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/pages/user/requests/pending_requests_screen.dart'; import 'package:test_sa/views/widgets/bottom_sheets/pending_request_bottom_sheet.dart'; import 'package:test_sa/views/widgets/equipment/asset_picker.dart'; diff --git a/lib/views/pages/device_transfer/update_device_transfer.dart b/lib/views/pages/device_transfer/update_device_transfer.dart index df824fa7..5aa2a4f7 100644 --- a/lib/views/pages/device_transfer/update_device_transfer.dart +++ b/lib/views/pages/device_transfer/update_device_transfer.dart @@ -337,6 +337,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -348,8 +349,8 @@ import 'package:test_sa/models/new_models/assigned_employee.dart'; import 'package:test_sa/models/new_models/assistant_employee.dart'; import 'package:test_sa/models/timer_model.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; + +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; diff --git a/lib/views/pages/user/gas_refill/update_gas_refill_request.dart b/lib/views/pages/user/gas_refill/update_gas_refill_request.dart index ce5a4598..4a9b8750 100644 --- a/lib/views/pages/user/gas_refill/update_gas_refill_request.dart +++ b/lib/views/pages/user/gas_refill/update_gas_refill_request.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/gas_refill_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; @@ -19,8 +20,8 @@ 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/providers/loading_list_notifier.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; + +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; 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 7034f7ca..c57408cb 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 @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -9,7 +10,7 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/ppm/recurrent_wo.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; + import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'package:test_sa/views/widgets/timer/app_timer.dart'; diff --git a/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/recurrent_work_order_view.dart b/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/recurrent_work_order_view.dart index c7ca4c5a..1703a525 100644 --- a/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/recurrent_work_order_view.dart +++ b/lib/views/pages/user/ppm/ppm_work_order/recurrent_wo/recurrent_work_order_view.dart @@ -9,7 +9,7 @@ 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/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/pages/user/ppm/ppm_work_order/recurrent_wo/components/task_info_widget.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; diff --git a/lib/views/pages/user/ppm/update_ppm/ppm_external_details_form.dart b/lib/views/pages/user/ppm/update_ppm/ppm_external_details_form.dart index 8fb7db23..35183d7a 100644 --- a/lib/views/pages/user/ppm/update_ppm/ppm_external_details_form.dart +++ b/lib/views/pages/user/ppm/update_ppm/ppm_external_details_form.dart @@ -17,7 +17,7 @@ // import 'package:test_sa/providers/loading_list_notifier.dart'; // import 'package:test_sa/providers/ppm_service_provider.dart'; // import 'package:test_sa/providers/work_order/vendor_provider.dart'; -// import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; +// // import 'package:test_sa/views/widgets/pentry/calibration_tool_asset_picker.dart'; // // import '../../../../../new_views/app_style/app_color.dart'; @@ -238,6 +238,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/ppm_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -252,7 +253,7 @@ 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/work_order/vendor_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; + import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; class PpmExternalDetailsForm extends StatefulWidget { diff --git a/lib/views/pages/user/ppm/update_ppm/update_ppm.dart b/lib/views/pages/user/ppm/update_ppm/update_ppm.dart index 9188e24c..7678bdbb 100644 --- a/lib/views/pages/user/ppm/update_ppm/update_ppm.dart +++ b/lib/views/pages/user/ppm/update_ppm/update_ppm.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/ppm_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; @@ -14,7 +15,7 @@ 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/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; + import 'package:test_sa/views/pages/user/ppm/update_ppm/ppm_external_details_form.dart'; import '../../../../../extensions/text_extensions.dart'; diff --git a/lib/views/pages/user/ppm/update_ppm/wo_info_form.dart b/lib/views/pages/user/ppm/update_ppm/wo_info_form.dart index 7b4b32c7..55856ba4 100644 --- a/lib/views/pages/user/ppm/update_ppm/wo_info_form.dart +++ b/lib/views/pages/user/ppm/update_ppm/wo_info_form.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/ppm_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -21,7 +22,7 @@ import 'package:test_sa/providers/ppm_asset_availability_provider.dart'; import 'package:test_sa/providers/ppm_electrical_safety_provider.dart'; import 'package:test_sa/providers/ppm_service_provider.dart'; import 'package:test_sa/providers/ppm_task_status_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; + import 'package:test_sa/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; diff --git a/lib/views/pages/user/requests/pending_requests_screen.dart b/lib/views/pages/user/requests/pending_requests_screen.dart index ee99a490..67df2821 100644 --- a/lib/views/pages/user/requests/pending_requests_screen.dart +++ b/lib/views/pages/user/requests/pending_requests_screen.dart @@ -6,7 +6,7 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/service_request/pending_service_request_model.dart'; import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/views/service_request_detail_main_view.dart'; +import 'package:test_sa/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/views/pages/user/requests/service_request_details.dart'; import 'package:test_sa/views/widgets/sound/sound_player.dart'; diff --git a/lib/views/pages/user/requests/work_order/work_orders_list_page.dart b/lib/views/pages/user/requests/work_order/work_orders_list_page.dart index a292ec70..f9dc40fd 100644 --- a/lib/views/pages/user/requests/work_order/work_orders_list_page.dart +++ b/lib/views/pages/user/requests/work_order/work_orders_list_page.dart @@ -10,7 +10,7 @@ import 'package:test_sa/models/service_request/search_work_order.dart'; import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/service_request_latest/views/components/activity_card_view.dart'; +import 'package:test_sa/cm_module/views/components/activity_card_view.dart'; import 'package:test_sa/views/pages/user/requests/work_order/create_service_report.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; diff --git a/lib/views/pages/user/tasks_request/create_task_view.dart b/lib/views/pages/user/tasks_request/create_task_view.dart index 2dc6e0bb..b50e1f10 100644 --- a/lib/views/pages/user/tasks_request/create_task_view.dart +++ b/lib/views/pages/user/tasks_request/create_task_view.dart @@ -24,7 +24,7 @@ import 'package:test_sa/providers/gas_request_providers/site_provider.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; import 'package:test_sa/providers/task_request_provider/task_job_provider.dart'; import 'package:test_sa/providers/task_request_provider/task_request_provider.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/equipment/asset_picker.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; diff --git a/lib/views/pages/user/tasks_request/update_task_request_view.dart b/lib/views/pages/user/tasks_request/update_task_request_view.dart index 58d4a395..5d9c7047 100644 --- a/lib/views/pages/user/tasks_request/update_task_request_view.dart +++ b/lib/views/pages/user/tasks_request/update_task_request_view.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; +import 'package:test_sa/cm_module/utilities/service_request_utils.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; @@ -24,8 +25,8 @@ import 'package:test_sa/providers/gas_request_providers/site_provider.dart'; import 'package:test_sa/providers/loading_list_notifier.dart'; import 'package:test_sa/providers/task_request_provider/task_job_provider.dart'; import 'package:test_sa/providers/task_request_provider/task_request_provider.dart'; -import 'package:test_sa/service_request_latest/utilities/service_request_utils.dart'; -import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; + +import 'package:test_sa/cm_module/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/date_and_time/date_picker.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; diff --git a/lib/views/widgets/bottom_sheets/request_approval_waiting_bottom_sheet.dart b/lib/views/widgets/bottom_sheets/request_approval_waiting_bottom_sheet.dart index 93db544a..85c5fec6 100644 --- a/lib/views/widgets/bottom_sheets/request_approval_waiting_bottom_sheet.dart +++ b/lib/views/widgets/bottom_sheets/request_approval_waiting_bottom_sheet.dart @@ -10,7 +10,7 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/main.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; -import 'package:test_sa/service_request_latest/service_request_detail_provider.dart'; +import 'package:test_sa/cm_module/service_request_detail_provider.dart'; class RequestApprovalBottomSheet extends StatefulWidget {