diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 8d696f91..3916cade 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -157,6 +157,7 @@ "searchBySn": "البحث بالرقم التسلسلي", "serviceRequestInformation": "معلومات طلب الخدمة", "serviceRequests": "طلبات الخدمة", + "correctiveMaintenance": "الصيانة التصحيحية", "shareAntherIssue": "مشاركة قضية أخرى", "shareApp": "مشاركة التطبيق", "sn": "الرقم التسلسلي", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index fd91c197..5dae1142 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -157,6 +157,7 @@ "searchBySn": "Search By Sn", "serviceRequestInformation": "Service Request Information", "serviceRequests": "Service Requests", + "correctiveMaintenance": "Corrective Maintenance", "shareAntherIssue": "share Another Issue", "shareApp": "Share App", "sn": "SN", diff --git a/lib/new_views/common_widgets/app_drawer.dart b/lib/new_views/common_widgets/app_drawer.dart index 48fc9e81..034f427c 100644 --- a/lib/new_views/common_widgets/app_drawer.dart +++ b/lib/new_views/common_widgets/app_drawer.dart @@ -34,7 +34,6 @@ class AppDrawer extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Consumer(builder: (context, snapshot, _) { - print('profile photo i got is ${snapshot.user!.profilePhotoName!}'); return CircleAvatar( radius: 45, backgroundColor: context.isDark ? AppColor.neutral50 : AppColor.neutral40, @@ -43,7 +42,7 @@ class AppDrawer extends StatelessWidget { child: ClipOval( child: snapshot.profileImage != null ? Image.file(snapshot.profileImage!) - : (snapshot.user!.profilePhotoName?.isNotEmpty ?? false) + : (snapshot.user?.profilePhotoName?.isNotEmpty ?? false) ? Image.network(snapshot.user!.profilePhotoName!) : const Icon(Icons.person, size: 50, color: Colors.white), ), diff --git a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart index 3a1b18f9..5050a9c8 100644 --- a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart +++ b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart @@ -19,7 +19,7 @@ class RequestItemViewList extends StatelessWidget { @override Widget build(BuildContext context) { return (list.isEmpty && !isLoading) - ? NoDataFound(message: context.translation.noDataFound) + ? NoDataFound(message: context.translation.noDataFound).center : ListView.separated( padding: const EdgeInsets.all(16), shrinkWrap: true, diff --git a/lib/providers/department_provider.dart b/lib/providers/department_provider.dart index b735dbc3..407b4d32 100644 --- a/lib/providers/department_provider.dart +++ b/lib/providers/department_provider.dart @@ -1,13 +1,13 @@ import 'dart:convert'; import 'package:http/http.dart'; +import 'package:test_sa/models/lookup.dart'; import '../../controllers/api_routes/api_manager.dart'; import '../../controllers/api_routes/urls.dart'; -import '../models/new_models/department.dart'; import 'loading_list_notifier.dart'; -class DepartmentProvider extends LoadingListNotifier { +class DepartmentProvider extends LoadingListNotifier { @override Future getDate() async { if (loading ?? false) return -2; @@ -15,7 +15,7 @@ class DepartmentProvider extends LoadingListNotifier { notifyListeners(); Response response; try { - response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50}); + response = await ApiManager.instance.post(URLs.getDepartments, body: {"pageSize": 50}); } catch (error) { loading = false; stateCode = -1; @@ -26,7 +26,7 @@ class DepartmentProvider extends LoadingListNotifier { if (response.statusCode >= 200 && response.statusCode < 300) { // client's request was successfully received List listJson = json.decode(response.body)["data"]; - items = listJson.map((department) => Department.fromJson(department)).toList(); + items = listJson.map((department) => Lookup.fromJson(department)).toList(); } loading = false; notifyListeners(); diff --git a/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart b/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart index ce5d4f1a..ba70c0a3 100644 --- a/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart +++ b/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/app_strings/app_asset.dart'; -import 'package:test_sa/dashboard_latest/widgets/request_category_list.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'; @@ -608,6 +607,7 @@ class ServiceRequestBottomSheet { ); })); } + static Future nurseRejectBackBottomSheet({required BuildContext context}) { String feedback = ''; return buildBottomSheetParent( @@ -652,7 +652,7 @@ class ServiceRequestBottomSheet { ); requestDetailProvider.nurseReject(); Navigator.pop(context); - if(requestDetailProvider.currentWorkOrder!.data!.requestId!=null){ + if (requestDetailProvider.currentWorkOrder!.data!.requestId != null) { requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); } } @@ -691,13 +691,13 @@ class ServiceRequestBottomSheet { InkWell( child: acknowledge ? const Icon( - Icons.check_box, - color: AppColor.primary10, - ) + Icons.check_box, + color: AppColor.primary10, + ) : const Icon( - Icons.check_box_outline_blank, - color: AppColor.neutral120, - ), + Icons.check_box_outline_blank, + color: AppColor.neutral120, + ), onTap: () { setState(() { acknowledge = !acknowledge; @@ -706,9 +706,7 @@ class ServiceRequestBottomSheet { ), 6.width, Flexible( - child: context.translation.nurseAcknowledge - .bodyText(context) - .custom(color: context.isDark ? AppColor.primary50 : AppColor.neutral120), + child: context.translation.nurseAcknowledge.bodyText(context).custom(color: context.isDark ? AppColor.primary50 : AppColor.neutral120), ), ], ), @@ -719,18 +717,17 @@ class ServiceRequestBottomSheet { newSignature: newSignature, backgroundColor: AppColor.neutral100, showShadow: false, - onChange:(signature){ + onChange: (signature) { + if (signature == null || signature.isEmpty) return; setState(() { - if (signature == null || signature.isEmpty) return; newSignature = signature; nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; print('signature i got is ${newSignature}'); }); - }, + }, onSaved: (signature) { - + if (signature == null || signature.isEmpty) return; setState(() { - if (signature == null || signature.isEmpty) return; newSignature = signature; nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; print('signature i got is ${newSignature}'); @@ -763,6 +760,7 @@ class ServiceRequestBottomSheet { AppFilledButton( label: context.translation.confirm, maxWidth: true, + loading: requestDetailProvider.isLoading, buttonColor: AppColor.green70, onPressed: () async { if (newSignature != null) { @@ -770,12 +768,12 @@ class ServiceRequestBottomSheet { workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, signatureNurse: nurseSignature, ); - requestDetailProvider.nurseConfirm(); - if(requestDetailProvider.currentWorkOrder!.data!.requestId!=null){ + await requestDetailProvider.nurseConfirm(); + if (requestDetailProvider.currentWorkOrder!.data!.requestId != null) { requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); } Navigator.pop(context); - }else{ + } else { //show some toast... } }, 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 106bdcba..a1b59079 100644 --- a/lib/service_request_latest/views/components/request_detail_view.dart +++ b/lib/service_request_latest/views/components/request_detail_view.dart @@ -60,7 +60,7 @@ class WorkOrderDetailView extends StatelessWidget { context: context), ], ), - if (requestProvider.timer!=null&&requestProvider.timer!.isActive)...[ + if (requestProvider.timer != null && requestProvider.timer!.isActive) ...[ const TimerWidget(), ] ], @@ -69,7 +69,6 @@ class WorkOrderDetailView extends StatelessWidget { } Widget workOrderDetailCard(BuildContext context, WorkOrderData workOrder, UserProvider userProvider) { - return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -104,10 +103,10 @@ class WorkOrderDetailView extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ - if (userProvider.user!.type == UsersTypes.normal_user) - context.translation.code.toSvgAsset(width: 48).onPress(() { - // Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest))); - }), + // if (userProvider.user!.type == UsersTypes.normal_user) + // context.translation.code.toSvgAsset(width: 48).onPress(() { + // // Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest))); + // }), if (userProvider.user!.type == UsersTypes.engineer) 16.height, Text( workOrder.requestedDate!.toString().toServiceRequestCardFormat, diff --git a/lib/views/pages/device_transfer/asset_filter_screen.dart b/lib/views/pages/device_transfer/asset_filter_screen.dart index 29b6fcc9..392189c4 100644 --- a/lib/views/pages/device_transfer/asset_filter_screen.dart +++ b/lib/views/pages/device_transfer/asset_filter_screen.dart @@ -6,7 +6,6 @@ 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/lookup.dart'; -import 'package:test_sa/models/new_models/department.dart'; import 'package:test_sa/models/new_models/site.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; @@ -34,7 +33,7 @@ class _AssetFilterScreenState extends State { late AssetSearch filter; Lookup? _commissioningStatus; Site? _site; - Department? _department; + Lookup? _department; String? startDate, endDate; bool loading = false; @@ -50,8 +49,8 @@ class _AssetFilterScreenState extends State { final siteProvider = Provider.of(context, listen: false); if (departmentProvider.items.isEmpty ?? true) await departmentProvider.getDate(); if (siteProvider.items.isEmpty ?? true) await siteProvider.getDate(); - _department = departmentProvider.items.firstWhere((element) => element.name == filter.department, orElse: null); - _site = siteProvider.items.firstWhere((element) => element.name == filter.site, orElse: null); + _department = departmentProvider.items.where((element) => element.name == filter.department).firstOrNull; + _site = siteProvider.items.where((element) => element.name == filter.site).firstOrNull; loading = false; setState(() {}); }); @@ -99,7 +98,7 @@ class _AssetFilterScreenState extends State { }, ), 16.height, - SingleItemDropDownMenu( + SingleItemDropDownMenu( context: context, title: context.translation.byDepartment, initialValue: _department, @@ -161,7 +160,7 @@ class _AssetFilterScreenState extends State { void _search() async { filter.site = _site?.name; - filter.department = _department?.departmentName; + filter.department = _department?.name; filter.supplyDateFrom = startDate; filter.supplyDateTo = endDate; final deviceProvider = Provider.of(context, listen: false); diff --git a/lib/views/pages/user/requests/service_request_details.dart b/lib/views/pages/user/requests/service_request_details.dart index ce3ad62c..2c619510 100644 --- a/lib/views/pages/user/requests/service_request_details.dart +++ b/lib/views/pages/user/requests/service_request_details.dart @@ -119,10 +119,10 @@ class _ServiceRequestDetailsPageState extends State { Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ - if (userProvider.user!.type == UsersTypes.normal_user) - context.translation.code.toSvgAsset(width: 48).onPress(() { - Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest))); - }), + // if (userProvider.user!.type == UsersTypes.normal_user) + // context.translation.code.toSvgAsset(width: 48).onPress(() { + // Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest))); + // }), if (userProvider.user!.type == UsersTypes.engineer) 16.height, Text( serviceRequest.date!.toServiceRequestCardFormat, diff --git a/lib/views/widgets/equipment/single_device_picker.dart b/lib/views/widgets/equipment/single_device_picker.dart index 4433a938..3abe8522 100644 --- a/lib/views/widgets/equipment/single_device_picker.dart +++ b/lib/views/widgets/equipment/single_device_picker.dart @@ -132,7 +132,7 @@ class _MyAssetsPageState extends State { context.translation.filter, style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), ).onPress(() async { - final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AssetFilterScreen(data: _searchAsset!))); + final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AssetFilterScreen(data: _searchAsset))); if (result != null) { _searchAsset = result; }