diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index 230aebdb..60839cb1 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -111,7 +111,8 @@ class URLs { static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookupReason?lookupEnum=505"; static get getServiceReportRejectionReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=1303"; static get getServiceReportReasonsNew => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=505"; - static get getServiceReportRetirementTypeTest => "$_baseUrl/Lookups/GetLookup?lookupEnum=415"; + static get getServiceReportRetirementType => "$_baseUrl/Lookups/GetLookup?lookupEnum=415"; + static get getServiceReportActivityStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=1302"; static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get static get getServiceReportTypesForWO => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get static get getServiceReportStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=521"; // get diff --git a/lib/dashboard_latest/dashboard_view.dart b/lib/dashboard_latest/dashboard_view.dart index d6fa9157..cae90ec8 100644 --- a/lib/dashboard_latest/dashboard_view.dart +++ b/lib/dashboard_latest/dashboard_view.dart @@ -115,6 +115,7 @@ class _DashboardViewState extends State { @override Widget build(BuildContext context) { bool isNurse = (Provider.of(context, listen: false).user!.type) == UsersTypes.normal_user; + print('user data is ${Provider.of(context, listen: false).user?.toJson()}'); return Scaffold( // backgroundColor: AppColor.background(context), appBar: PreferredSize( diff --git a/lib/main.dart b/lib/main.dart index 4dcb198a..abe5e130 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -51,6 +51,7 @@ import 'package:test_sa/providers/service_request_providers/first_action_provide 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/providers/work_order/activity_status_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/providers/work_order/retirement_type_provider.dart'; @@ -58,6 +59,7 @@ 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/request_detail_provider.dart'; +import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart'; import 'package:test_sa/views/pages/device_transfer/asset_filter_screen.dart'; import 'package:test_sa/views/pages/device_transfer/asset_search_screen.dart'; import 'package:test_sa/views/pages/device_transfer/request_device_transfer.dart'; @@ -206,6 +208,7 @@ class MyApp extends StatelessWidget { ChangeNotifierProvider(create: (_) => RejectReasonProvider()), ChangeNotifierProvider(create: (_) => FaultDescriptionProvider()), ChangeNotifierProvider(create: (_) => RetirementTypeProvider()), + ChangeNotifierProvider(create: (_) => ActivityStatusProvider()), ///todo deleted //ChangeNotifierProvider(create: (_) => AssetTypesProvider()), @@ -255,6 +258,7 @@ class MyApp extends StatelessWidget { //ReportIssuesPage.id: (_) => ReportIssuesPage(), RequestGasRefill.id: (_) => const RequestGasRefill(), CreateServiceRequestPage.id: (_) => const CreateServiceRequestPage(), + CreateNewRequest.id: (_) => const CreateNewRequest(), // SingleHospitalPicker.id: (_) => SingleHospitalPicker(), MyAssetsPage.id: (_) => const MyAssetsPage(), SingleDepartmentPicker.id: (_) => const SingleDepartmentPicker(), 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 new file mode 100644 index 00000000..5944ba2f --- /dev/null +++ b/lib/new_views/pages/land_page/create_request-type_bottomsheet.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.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/new_views/app_style/app_color.dart'; +import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart'; +import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart'; +import 'package:test_sa/views/pages/device_transfer/request_device_transfer.dart'; + +class CreateRequestTypeBottomSheet extends StatelessWidget { + const CreateRequestTypeBottomSheet({super.key}); + @override + Widget build(BuildContext context) { +//TODO replace all the icons with new icons... + return Container( + padding: const EdgeInsets.all(16.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + listCard( + context: context, + icon: 'add_icon', + label: '${context.translation.create}\n${context.translation.serviceRequest}', + onTap: () { + Navigator.pushReplacementNamed(context, CreateNewRequest.id); + + }, + ), + listCard( + context: context, + icon: 'add_icon', + label: '${context.translation.create}\n${context.translation.gasRefill}', + onTap: () { + //NewGasRefillRequestPage.routeName) + Navigator.pushReplacementNamed(context, NewGasRefillRequestPage.routeName); + }, + ), + listCard( + context: context, + icon: 'add_icon', + label: '${context.translation.create}\n${context.translation.deviceTransfer}', + onTap: () async { + Navigator.pushReplacementNamed(context, RequestDeviceTransfer.id); + }, + ), + ], + ), + ); + return const Placeholder(); + } + + Widget listCard({required String icon, required String label, required VoidCallback onTap, required BuildContext context}) { + return GestureDetector( + onTap: onTap, + child: Container( + constraints: BoxConstraints(minWidth: 111.toScreenWidth, minHeight: 111.toScreenHeight), + padding: EdgeInsets.symmetric(horizontal: 12.toScreenWidth, vertical: 12.toScreenHeight), + decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), border: Border.all(width: 1, color: AppColor.white70)), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + icon.toSvgAsset(), + 24.height, + label.bodyText2(context).custom(color: AppColor.black20), + ], + ), + ), + ); + } +} diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index c9deb0e0..3196bfc4 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -14,6 +14,7 @@ import 'package:test_sa/models/enums/user_types.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/pages/land_page/calendar_page.dart'; +import 'package:test_sa/new_views/pages/land_page/create_request-type_bottomsheet.dart'; import 'package:test_sa/new_views/pages/land_page/my_request/my_requests_page.dart'; import 'package:test_sa/new_views/pages/settings_page.dart'; import 'package:test_sa/service_request_latest/views/nurse/create_new_request_view.dart'; @@ -107,7 +108,7 @@ class _LandPageState extends State { })), // const old_page.LandPage(), const MyRequestsPage(), - if(_userProvider!.user!.type != UsersTypes.engineer) const CreateNewRequest(), + if(_userProvider!.user!.type != UsersTypes.engineer) const SizedBox(), // if (_userProvider!.user!.type != UsersTypes.engineer) const CalendarPage(), const MyAssetsPage(fromBottomBar: true), ]; @@ -136,15 +137,23 @@ class _LandPageState extends State { selectedIndex: currentPageIndex, onPressed: (index) { bool isEngineer = _userProvider!.user!.type == UsersTypes.engineer; - - if (index == (!isEngineer ? 4 : 3)) { + if (!isEngineer&& index == 2) { + showModalBottomSheet( + context: context, + useSafeArea: true, + backgroundColor: Colors.white, + builder: (context) => const CreateRequestTypeBottomSheet(), + ); + } + else if (index == (!isEngineer ? 4 : 3)) { showModalBottomSheet( context: context, useSafeArea: true, backgroundColor: Colors.transparent, builder: (context) => const ContactUsBottomSheet(), ); - } else { + } + else { setState(() { currentPageIndex = index; }); diff --git a/lib/providers/service_request_providers/equipment_status_provider.dart b/lib/providers/service_request_providers/equipment_status_provider.dart index d3280398..e92251c6 100644 --- a/lib/providers/service_request_providers/equipment_status_provider.dart +++ b/lib/providers/service_request_providers/equipment_status_provider.dart @@ -16,6 +16,7 @@ class EquipmentStatusProvider extends LoadingListNotifier { try { Response response = await ApiManager.instance.get(URLs.equipmentStatus); stateCode = response.statusCode; + print('response of get status value is ${response.body}'); if (response.statusCode >= 200 && response.statusCode < 300) { // client's request was successfully received List categoriesListJson = json.decode(response.body)["data"]; diff --git a/lib/providers/work_order/activity_status_provider.dart b/lib/providers/work_order/activity_status_provider.dart new file mode 100644 index 00000000..77907d95 --- /dev/null +++ b/lib/providers/work_order/activity_status_provider.dart @@ -0,0 +1,34 @@ +import 'dart:convert'; + +import 'package:http/http.dart'; +import 'package:test_sa/providers/loading_list_notifier.dart'; + +import '../../controllers/api_routes/api_manager.dart'; +import '../../controllers/api_routes/urls.dart'; +import '../../models/lookup.dart'; + +class ActivityStatusProvider extends LoadingListNotifier { + + @override + Future getDate() async { + if (loading == true) return -2; + loading = true; + notifyListeners(); + try { + Response response = await ApiManager.instance.get(URLs.getServiceReportActivityStatus); + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + List categoriesListJson = json.decode(response.body)["data"]; + items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList(); + } + loading = false; + notifyListeners(); + return response.statusCode; + } catch (error) { + loading = false; + stateCode = -1; + notifyListeners(); + return -1; + } + } +} \ No newline at end of file diff --git a/lib/providers/work_order/retirement_type_provider.dart b/lib/providers/work_order/retirement_type_provider.dart index b7e83af6..bcb4397c 100644 --- a/lib/providers/work_order/retirement_type_provider.dart +++ b/lib/providers/work_order/retirement_type_provider.dart @@ -19,7 +19,7 @@ class RetirementTypeProvider extends LoadingListNotifier { notifyListeners(); try { //TODO change this url only used for testing till ahmed make a new api.. getServiceReportReasonsTest replace with getServiceReportReasons - Response response = await ApiManager.instance.get(URLs.getServiceReportRetirementTypeTest+"&serviceRequestId=$serviceRequestId"); + Response response = await ApiManager.instance.get(URLs.getServiceReportRetirementType+"&serviceRequestId=$serviceRequestId"); stateCode = response.statusCode; if (response.statusCode >= 200 && response.statusCode < 300) { List categoriesListJson = json.decode(response.body)["data"]; diff --git a/lib/service_request_latest/request_detail_provider.dart b/lib/service_request_latest/request_detail_provider.dart index 03a3417f..6a9c9aed 100644 --- a/lib/service_request_latest/request_detail_provider.dart +++ b/lib/service_request_latest/request_detail_provider.dart @@ -148,6 +148,7 @@ class RequestDetailProvider extends ChangeNotifier { body: workOrderHelperModel!.toJson(), ); stateCode = response.statusCode; + print('response of create request is ${response.body}'); if (response.statusCode >= 200 && response.statusCode < 300) { // request.engineerName = employee.name; notifyListeners(); @@ -541,6 +542,7 @@ class RequestDetailProvider extends ChangeNotifier { body: assetRetiredHelperModel!.toJson(), ); stateCode = response.statusCode; + print('response of asset retired is ${response.body}'); if (response.statusCode >= 200 && response.statusCode < 300) { currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body)); updateCurrentWorkOrder(currentWorkOrder); diff --git a/lib/service_request_latest/views/components/action_button/footer_action_button.dart b/lib/service_request_latest/views/components/action_button/footer_action_button.dart index 81c0be08..9dbc1f94 100644 --- a/lib/service_request_latest/views/components/action_button/footer_action_button.dart +++ b/lib/service_request_latest/views/components/action_button/footer_action_button.dart @@ -18,6 +18,7 @@ import 'package:test_sa/service_request_latest/views/components/activities_list_ 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/service_request_latest/views/forms/maintenance_request/maintenance_request_main.dart'; class FooterActionButton { static Widget footerContainer({required Widget child}) { @@ -169,6 +170,10 @@ class FooterActionButton { buttonColor: AppColor.neutral140, textColor: AppColor.neutral150, fontSize: 12.toScreenWidth, + //TODO remove this after testing .... + onPressed: (){ + Navigator.push(context, MaterialPageRoute(builder: (context)=>const MaintenanceRequestForm())); + }, )); } } else if (userProvider.user?.type == UsersTypes.nurse) { diff --git a/lib/service_request_latest/views/components/request_detail_view.dart b/lib/service_request_latest/views/components/request_detail_view.dart index 2f2a4436..a56e96e7 100644 --- a/lib/service_request_latest/views/components/request_detail_view.dart +++ b/lib/service_request_latest/views/components/request_detail_view.dart @@ -43,29 +43,30 @@ class WorkOrderDetailView extends StatelessWidget { return requestProvider.isLoading ? const CircularProgressIndicator(color: AppColor.primary10).center : requestProvider.currentWorkOrder == null - ? const NoDataFound() - : Stack( - children: [ - Column( - children: [ - SingleChildScrollView( - padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, + ? const NoDataFound() + : Stack( children: [ - workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider), - initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider), - 20.height, + Column( + children: [ + SingleChildScrollView( + padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider), + initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider), + 20.height, + ], + ), + ).expanded, + FooterActionButton.requestDetailsFooterWidget( + workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!, userProvider: _userProvider, context: context), + ], + ), + // const TimerWidget(), ], - ), - ).expanded, - FooterActionButton.requestDetailsFooterWidget(workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!,userProvider: _userProvider, context: context), - ], - ), - // const TimerWidget(), - ], - ); + ); }); } @@ -220,51 +221,51 @@ class WorkOrderDetailView extends StatelessWidget { ], ).paddingOnly(start: 16, end: 16, top: 16, bottom: 8), (userProvider.user!.type == UsersTypes.normal_user - ? Container( - height: 50, - padding: const EdgeInsets.only(left: 16, right: 16), - alignment: Alignment.center, - width: double.infinity, - decoration: ShapeDecoration( - color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(20), - bottomRight: Radius.circular(20), - ), - ), - ), - child: Row( - children: [ - Text( - '${context.translation.commentHere}...', - style: AppTextStyles.heading6.copyWith( - color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6), - ), - ).expanded, - "comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70), - ], - ), - ) - : Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Divider().defaultStyle(context), - 16.height, - Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - context.translation.viewComments, - style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), - ), - 4.width, - Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) - ], - ), - ], - ).paddingOnly(bottom: 16, start: 16, end: 16)) + ? Container( + height: 50, + padding: const EdgeInsets.only(left: 16, right: 16), + alignment: Alignment.center, + width: double.infinity, + decoration: ShapeDecoration( + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20), + ), + ), + ), + child: Row( + children: [ + Text( + '${context.translation.commentHere}...', + style: AppTextStyles.heading6.copyWith( + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6), + ), + ).expanded, + "comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70), + ], + ), + ) + : Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Divider().defaultStyle(context), + 16.height, + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.viewComments, + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), + ), + 4.width, + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) + ], + ), + ], + ).paddingOnly(bottom: 16, start: 16, end: 16)) .onPress(() { // showModalBottomSheet( // context: context, @@ -276,7 +277,8 @@ class WorkOrderDetailView extends StatelessWidget { // ); }), //set condition for show asset detail button... - if (workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.verifyAssetDetail || workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) ...[ + if (workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.verifyAssetDetail || + workOrder.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity && userProvider.user?.type == UsersTypes.engineer) ...[ assetRetiredButton(context: context), ] ], @@ -314,13 +316,12 @@ class WorkOrderDetailView extends StatelessWidget { } } - 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: ''); + 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: ''); } } - } } diff --git a/lib/service_request_latest/views/forms/asset_retired/asset_retired.dart b/lib/service_request_latest/views/forms/asset_retired/asset_retired.dart index cbdd5c5c..ee16a089 100644 --- a/lib/service_request_latest/views/forms/asset_retired/asset_retired.dart +++ b/lib/service_request_latest/views/forms/asset_retired/asset_retired.dart @@ -81,8 +81,6 @@ class _AssetRetiredState extends State with TickerProviderStateMix child: Column( children: [ 12.height, - //TODO replace with correct provider.. - SingleItemDropDownMenu( context: context, title: context.translation.retirementType, @@ -126,16 +124,18 @@ class _AssetRetiredState extends State with TickerProviderStateMix label: context.translation.submit, buttonColor: AppColor.primary10, onPressed: () async { + requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments=[]; for (var file in _files) { requestDetailProvider.assetRetiredHelperModel?.activityAssetToBeRetiredAttachments ?.add(ActivityAssetToBeRetiredAttachments(id: 0, name: "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}")); } - // print('attachments i got is ${}'); - //TODO uncommit this when all data is confirmed... print('data i got is ${requestDetailProvider.assetRetiredHelperModel?.toJson()}'); - requestDetailProvider.createActivityAssetToBeRetired(); - Navigator.pop(context); - // + int status= await requestDetailProvider.createActivityAssetToBeRetired(); + if(status==200){ + Navigator.pop(context); + const SizedBox().flushBar(context: context, title: '', message: context.translation.assetRetirementRequestSubmittedSuccessfully); + } + }, ), ), diff --git a/lib/service_request_latest/views/forms/maintenance_request/components/internal_request.dart b/lib/service_request_latest/views/forms/maintenance_request/components/internal_request.dart index fedce3ed..5c61999c 100644 --- a/lib/service_request_latest/views/forms/maintenance_request/components/internal_request.dart +++ b/lib/service_request_latest/views/forms/maintenance_request/components/internal_request.dart @@ -15,6 +15,7 @@ import 'package:test_sa/models/service_request/service_request.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/loading_list_notifier.dart'; +import 'package:test_sa/providers/work_order/activity_status_provider.dart'; import 'package:test_sa/providers/work_order/reason_provider.dart'; import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart'; import 'package:test_sa/views/widgets/date_and_time/time_picker.dart'; @@ -39,6 +40,7 @@ class _InternalMaintenanceRequestState extends State ServiceRequest? _request; ServiceRequestsProvider ?_serviceRequestsProvider; ServiceStatusProvider? _assetTypeProvider; + ActivityStatusProvider? _activityStatusProvider; ServiceReport ?_serviceReport; bool _isLoading = false; TimeOfDay ?_startTime; @@ -59,9 +61,11 @@ class _InternalMaintenanceRequestState extends State // device: widget.request.device, sparePartsWorkOrders: [], ); + _activityStatusProvider = Provider.of(context,listen: false); super.initState(); if (context.mounted) { + getInitialData(); _request = Provider.of(context, listen: false).currentSelectedRequest; Provider.of(context, listen: false).reset(); Provider.of(context, listen: false).reset(); @@ -77,6 +81,9 @@ class _InternalMaintenanceRequestState extends State _partQtyController.dispose(); super.dispose(); } + Future getInitialData()async { + _activityStatusProvider?.getDate(); + } void getRequestForWorkOrder() async { _isLoading = true; @@ -92,15 +99,15 @@ class _InternalMaintenanceRequestState extends State @override Widget build(BuildContext context) { - _serviceRequestsProvider = Provider.of(context); - _assetTypeProvider = Provider.of(context); - if (_serviceReport?.callRequest == null) { - getRequestForWorkOrder(); - } - _serviceReport?.assetType = _assetTypeProvider?.statuses?.firstWhere( - (element) => element.value == _serviceReport?.callRequest?.assetType, - orElse: () => Lookup(), - ); + // _serviceRequestsProvider = Provider.of(context); + // _assetTypeProvider = Provider.of(context); + // if (_serviceReport?.callRequest == null) { + // getRequestForWorkOrder(); + // } + // _serviceReport?.assetType = _assetTypeProvider?.statuses?.firstWhere( + // (element) => element.value == _serviceReport?.callRequest?.assetType, + // orElse: () => Lookup(), + // ); return LoadingManager( isLoading: _isLoading, diff --git a/lib/service_request_latest/views/nurse/create_new_request_view.dart b/lib/service_request_latest/views/nurse/create_new_request_view.dart index 9ba7ade0..38ccd9a2 100644 --- a/lib/service_request_latest/views/nurse/create_new_request_view.dart +++ b/lib/service_request_latest/views/nurse/create_new_request_view.dart @@ -17,6 +17,7 @@ import 'package:test_sa/models/service_request/pending_service_request_model.dar import 'package:test_sa/models/service_request/service_request.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/providers/service_request_providers/equipment_status_provider.dart'; import 'package:test_sa/providers/service_request_providers/priority_provider.dart'; import 'package:test_sa/providers/service_request_providers/requested_through_provider.dart'; @@ -269,19 +270,6 @@ class _CreateNewRequestState extends State with TickerProvider setState(() {}); }).toShimmer(isShow: snapshot.loading); }), - // CupertinoSwitch( - // value: _isHighPriority, - // - // onChanged: (value) { - // setState(() { - // // listingVm.listing[listingVm.listingParameter]['bayut'] = value; - // _isHighPriority = value; - // }); - // }, - // thumbColor: AppColor.red70, - // activeColor: AppColor.red30.withOpacity(0.4), - // - // ), ], ); } @@ -355,9 +343,6 @@ class _CreateNewRequestState extends State with TickerProvider } } List attachement = []; - //for(var item in localFile){ - // attachmentList.add(SparePartAttachments(id: 0, name: "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}")); - // } for (var item in _deviceImages) { attachement.add(WorkOrderAttachments(id: 0, name: "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}")); } @@ -370,11 +355,16 @@ class _CreateNewRequestState extends State with TickerProvider comments: _serviceRequest.callComments, //add attachments also... ); - print('model to add activity is ${_requestDetailProvider.workOrderHelperModel?.toJson()}'); + showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - int status = await _requestDetailProvider.createWorkOrder(); + int status = await _requestDetailProvider.createWorkOrder(); if(status==200){ - + //pop dialoge... + Navigator.pop(context); + Navigator.pop(context); + } + else{ + Navigator.pop(context); } // await _serviceRequestsProvider.createRequest( diff --git a/lib/views/pages/user/gas_refill/request_gas_refill.dart b/lib/views/pages/user/gas_refill/request_gas_refill.dart index 3aa67db8..42c8c115 100644 --- a/lib/views/pages/user/gas_refill/request_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/request_gas_refill.dart @@ -169,7 +169,7 @@ class _RequestGasRefillState extends State { clientName = _userProvider.user?.clientName; } - HospitalsProvider().getHospitalsListByVal(searchVal: clientName!).then((value) { + HospitalsProvider().getHospitalsListByVal(searchVal: clientName??'').then((value) { _gasRefillProvider!.hospital = value.firstWhere((element) => element.name == clientName, orElse: null); _gasRefillProvider!.building = _gasRefillProvider!.hospital?.buildings?.firstWhere((element) => element.name == widget.gasRefillModel?.building?.name, orElse: null); _gasRefillProvider!.floor = _gasRefillProvider!.building?.floors?.firstWhere((element) => element.name == widget.gasRefillModel?.floor?.name, orElse: null);