diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index bd39955c..617065a9 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -4,12 +4,12 @@ class URLs { static const String appReleaseBuildNumber = "14"; // static const host1 = "https://atomsm.hmg.com"; // production url - // static const host1 = "https://atomsmdev.hmg.com"; // local DEV url - static const host1 = "https://atomsmuat.hmg.com"; // local UAT url + static const host1 = "https://atomsmdev.hmg.com"; // local DEV url + // static const host1 = "https://atomsmuat.hmg.com"; // local UAT url // static String _baseUrl = "$_host/mobile"; - // static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis - static final String _baseUrl = "$_host/mobile"; // host local UAT + static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis + // static final String _baseUrl = "$_host/mobile"; // host local UAT // static final String _baseUrl = "$_host/v3/mobile"; // new V3 apis static String _host = host1; diff --git a/lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart index 0f026c62..43dabb24 100644 --- a/lib/controllers/notification/firebase_notification_manger.dart +++ b/lib/controllers/notification/firebase_notification_manger.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'dart:developer'; import 'dart:io'; import 'package:firebase_messaging/firebase_messaging.dart'; @@ -6,12 +7,17 @@ import 'package:flutter/material.dart'; import 'package:google_api_availability/google_api_availability.dart'; import 'package:huawei_push/huawei_push.dart' as h_push; import 'package:test_sa/controllers/notification/notification_manger.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/device/device_transfer.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart'; import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart'; import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart'; +import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart'; +import 'package:test_sa/modules/tm_module/tasks_wo/task_request_detail_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/widgets/loaders/no_data_found.dart'; @pragma('vm:entry-point') Future firebaseMessagingBackgroundHandler(RemoteMessage message) async {} @@ -78,28 +84,67 @@ class FirebaseNotificationManger { static void handleMessage(context, Map messageData) { if (messageData["requestType"] != null && messageData["requestNumber"] != null) { Widget? serviceClass; - - if (messageData["requestType"] == "Service request to engineer") { - serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); - } else if (messageData["requestType"] == "Gas Refill") { - serviceClass = GasRefillDetailsPage( - priority: messageData["priority"], - date: messageData["createdOn"], - model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), - ); - } else if (messageData["requestType"] == "Asset Transfer") { - serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); - } else if (messageData["requestType"] == "PPM") { - serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + // PPM=1, + // ServiceRequestEngineer = 3, + // AssetTransfer=7, + // SparePartTransaction= 8, + // GasRefill=9, + // TechnicalRetirmentWO = 11, + // Recurrent = 12,​ + switch (messageData["transactionType"]) { + case 1: + serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + break; + //these three request are same corrective maintenance.... + case 3: + serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + break; + case 8: + serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + break; + case 11: + serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + break; + case 7: + serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); + break; + case 9: + serviceClass = GasRefillDetailsPage( + priority: messageData["priority"], + date: messageData["createdOn"], + model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), + ); + break; + case 12: + serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); + //Didn't handle task request yet... + // case 6: + // serviceClass = TaskRequestDetailsView( + // taskId: int.parse(messageData["requestNumber"].toString()), + // requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"])); + // return; + default: + serviceClass = const Scaffold(body: Center(child: NoDataFound())); } + + // if (messageData["requestType"] == "Service request to engineer") { + // serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? ''); + // } else if (messageData["requestType"] == "Gas Refill") { + // serviceClass = GasRefillDetailsPage( + // priority: messageData["priority"], + // date: messageData["createdOn"], + // model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), + // ); + // } else if (messageData["requestType"] == "Asset Transfer") { + // serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString()))); + // } else if (messageData["requestType"] == "PPM") { + // serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + // } // else if (data["requestType"] == "WorkOrder") { // // } - - if (serviceClass != null) { - Navigator.of(context).push(MaterialPageRoute(builder: (_) => serviceClass!)); - } - } + Navigator.of(context).push(MaterialPageRoute(builder: (_) => serviceClass!)); + } } static initialized(BuildContext context) async { @@ -116,6 +161,7 @@ class FirebaseNotificationManger { if (message is Map) { Map remoteData = message; remoteData = remoteData["extras"]; + handleMessage(context, remoteData); } } catch (ex) { diff --git a/lib/models/system_notification_model.dart b/lib/models/system_notification_model.dart index 23154215..f307b289 100644 --- a/lib/models/system_notification_model.dart +++ b/lib/models/system_notification_model.dart @@ -13,6 +13,7 @@ class SystemNotificationModel { String? modifiedOn; String? priorityName; String? statusName; + int ? transactionType; SystemNotificationModel( {this.userId, @@ -28,6 +29,7 @@ class SystemNotificationModel { this.createdOn, this.modifiedOn, this.priorityName, + this.transactionType, this.statusName}); SystemNotificationModel.fromJson(Map? json) { @@ -48,6 +50,7 @@ class SystemNotificationModel { modifiedOn = json['modifiedOn']; priorityName = json['priorityName']; statusName = json['statusName']; + transactionType = json['transactionType']; } } @@ -68,6 +71,7 @@ class SystemNotificationModel { data['priorityName'] = priorityName; data['priority'] = priorityName; data['statusName'] = statusName; + data['transactionType'] = transactionType; return data; } @@ -87,6 +91,7 @@ class SystemNotificationModel { data['modifiedOn'] = modifiedOn; data['priorityName'] = priorityName; data['statusName'] = statusName; + data['transactionType'] = transactionType; return data; } } diff --git a/lib/modules/cm_module/service_request_detail_provider.dart b/lib/modules/cm_module/service_request_detail_provider.dart index 15f2644f..55df5224 100644 --- a/lib/modules/cm_module/service_request_detail_provider.dart +++ b/lib/modules/cm_module/service_request_detail_provider.dart @@ -243,6 +243,8 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } else { isReadOnlyRequest = false; } + }else{ + currentWorkOrder =null; } isLoading = false; notifyListeners(); diff --git a/lib/modules/cm_module/views/service_request_detail_main_view.dart b/lib/modules/cm_module/views/service_request_detail_main_view.dart index 7d56634e..294c284b 100644 --- a/lib/modules/cm_module/views/service_request_detail_main_view.dart +++ b/lib/modules/cm_module/views/service_request_detail_main_view.dart @@ -12,6 +12,7 @@ import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.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/views/widgets/loaders/no_data_found.dart'; import 'components/history_log_view.dart'; import 'components/service_request_detail_view.dart'; @@ -37,18 +38,18 @@ class _ServiceRequestDetailMainState extends State { }); } - Future getInitialData() async{ + Future getInitialData() async { bool isNurse = (Provider.of(context, listen: false).user?.type) == UsersTypes.normal_user; - _requestProvider = Provider.of(context, listen: false); + _requestProvider = Provider.of(context, listen: false); await _requestProvider.getWorkOrderById(id: widget.requestId); if (isNurse && (_requestProvider.currentWorkOrder?.data?.nextStep?.workOrderNextStepEnum == WorkOrderNextStepEnum.waitingForRequesterToConfirm)) { ServiceRequestBottomSheet.nurseVerifyArrivalBottomSheet(context: context); } _requestProvider.needVisitHelperModel = NeedVisitHelperModel( - workOrderId: _requestProvider.currentWorkOrder?.data?.requestId, - visitDate: _requestProvider.currentWorkOrder?.data?.needAVisitDateTime, - comment: _requestProvider.currentWorkOrder?.data?.needAVisitComment, - ); + workOrderId: _requestProvider.currentWorkOrder?.data?.requestId, + visitDate: _requestProvider.currentWorkOrder?.data?.needAVisitDateTime, + comment: _requestProvider.currentWorkOrder?.data?.needAVisitComment, + ); } @override @@ -72,72 +73,71 @@ class _ServiceRequestDetailMainState extends State { return true; }, child: Scaffold( - backgroundColor: AppColor.neutral100, - appBar: DefaultAppBar( - title: context.translation.cmDetails, - onBackPress: () { - stopTimer(); - Navigator.pop(context); - }, - actions: [ - isNurse - ? IconButton( - icon: 'qr'.toSvgAsset( - height: 24, - width: 24, + backgroundColor: AppColor.neutral100, + appBar: DefaultAppBar( + title: context.translation.cmDetails, + onBackPress: () { + stopTimer(); + Navigator.pop(context); + }, + actions: [ + isNurse + ? IconButton( + icon: 'qr'.toSvgAsset( + height: 24, + width: 24, + ), + onPressed: () { + ServiceRequestBottomSheet.getQRCodeBottomSheet(context: context); + }, + ) + : IconButton( + icon: const Icon(Icons.home), + onPressed: () { + // stopTimer(); + Navigator.pop(context); + }, ), - onPressed: () { - ServiceRequestBottomSheet.getQRCodeBottomSheet(context: context); - }, - ) - : IconButton( - icon: const Icon(Icons.home), - onPressed: () { - // stopTimer(); - Navigator.pop(context); + ], + ), + body: DefaultTabController( + length: 2, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + margin: EdgeInsets.only(left: 16.toScreenWidth, right: 16.toScreenWidth, top: 12.toScreenHeight), + decoration: BoxDecoration(color: context.isDark ? AppColor.neutral50 : AppColor.white10, borderRadius: BorderRadius.circular(10)), + child: TabBar( + //controller: _tabController, + padding: EdgeInsets.symmetric(vertical: 4.toScreenHeight, horizontal: 4.toScreenWidth), + labelColor: context.isDark ? AppColor.neutral30 : AppColor.black20, + unselectedLabelColor: context.isDark ? AppColor.neutral30 : AppColor.black20, + unselectedLabelStyle: AppTextStyles.bodyText, + labelStyle: AppTextStyles.bodyText, + indicatorPadding: EdgeInsets.zero, + indicatorSize: TabBarIndicatorSize.tab, + dividerColor: Colors.transparent, + indicator: BoxDecoration(color: context.isDark ? AppColor.neutral60 : AppColor.neutral110, borderRadius: BorderRadius.circular(7)), + onTap: (index) { + // setState(() {}); }, + tabs: [ + Tab(text: context.translation.details, height: 57.toScreenHeight), + Tab(text: context.translation.historyLogs, height: 57.toScreenHeight), + ], ), - ], - ), - body: DefaultTabController( - length: 2, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - margin: EdgeInsets.only(left: 16.toScreenWidth, right: 16.toScreenWidth, top: 12.toScreenHeight), - decoration: BoxDecoration(color: context.isDark ? AppColor.neutral50 : AppColor.white10, borderRadius: BorderRadius.circular(10)), - child: TabBar( - //controller: _tabController, - padding: EdgeInsets.symmetric(vertical: 4.toScreenHeight, horizontal: 4.toScreenWidth), - labelColor: context.isDark ? AppColor.neutral30 : AppColor.black20, - unselectedLabelColor: context.isDark ? AppColor.neutral30 : AppColor.black20, - unselectedLabelStyle: AppTextStyles.bodyText, - labelStyle: AppTextStyles.bodyText, - indicatorPadding: EdgeInsets.zero, - indicatorSize: TabBarIndicatorSize.tab, - dividerColor: Colors.transparent, - indicator: BoxDecoration(color: context.isDark ? AppColor.neutral60 : AppColor.neutral110, borderRadius: BorderRadius.circular(7)), - onTap: (index) { - // setState(() {}); - }, - tabs: [ - Tab(text: context.translation.details, height: 57.toScreenHeight), - Tab(text: context.translation.historyLogs, height: 57.toScreenHeight), - ], ), - ), - 12.height, - TabBarView( - children: [ - ServiceRequestDetailView(), - const HistoryLogView(), - ], - ).expanded, - ], - ), - ), - ), + 12.height, + TabBarView( + children: [ + ServiceRequestDetailView(), + const HistoryLogView(), + ], + ).expanded, + ], + ), + )), ); } } diff --git a/lib/modules/pm_module/ppm_wo/ppm_details_page.dart b/lib/modules/pm_module/ppm_wo/ppm_details_page.dart index b39180fd..78d8cefe 100644 --- a/lib/modules/pm_module/ppm_wo/ppm_details_page.dart +++ b/lib/modules/pm_module/ppm_wo/ppm_details_page.dart @@ -9,6 +9,7 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; +import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import '../../../../../controllers/providers/api/user_provider.dart'; @@ -64,7 +65,7 @@ class _PpmDetailsPageState extends State { PlanPreventiveVisit? planPreventiveVisit = ppmProvider.planPreventiveVisit; return ppmProvider.isLoading ? const ALoading() - : Column(children: [ + :planPreventiveVisit!=null? Column(children: [ SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -80,7 +81,7 @@ class _PpmDetailsPageState extends State { // if (planPreventiveVisit?.visitStatus != null) 8.width, StatusLabel( label: planPreventiveVisit?.visitStatus!.name!, - id: planPreventiveVisit!.visitStatus!.id!, + id: planPreventiveVisit?.visitStatus?.id??0, textColor: AppColor.getRequestStatusTextColorByName(context, planPreventiveVisit.visitStatus!.name!), backgroundColor: AppColor.getRequestStatusColorByName(context, planPreventiveVisit.visitStatus!.name!), ), @@ -124,7 +125,7 @@ class _PpmDetailsPageState extends State { label: context.translation.viewDetails, ).paddingAll(16) ] - ]); + ]):const Center(child: NoDataFound()); }), ), ); diff --git a/lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart index 80a04a9e..1359c203 100644 --- a/lib/views/pages/device_transfer/device_transfer_details.dart +++ b/lib/views/pages/device_transfer/device_transfer_details.dart @@ -13,6 +13,7 @@ import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart' import 'package:test_sa/views/widgets/images/files_list.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; +import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import '../../../extensions/text_extensions.dart'; import '../../../models/enums/user_types.dart'; import '../../../new_views/app_style/app_color.dart'; @@ -57,131 +58,135 @@ class _DeviceTransferDetailsState extends State { } else { _model = snapshot.data as DeviceTransfer?; _attachments = _model?.assetTransferAttachments?.map((e) => File(e.attachmentName ?? '')).toList() ?? []; - return Form( - key: _formKey, - child: LoadingManager( - isLoading: _isLoading, - isFailedLoading: false, - stateCode: 200, - onRefresh: () async {}, - child: SingleChildScrollView( - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Text( - "Transfer Details".addTranslation, - style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), - ), - _buildTextWidget('${context.translation.requestNo} : ${_model?.transferCode ?? ""}'), - _buildTextWidget('${context.translation.transferType} : ${_model?.transferType?.name ?? ""}'), - _buildTextWidget('${context.translation.createdBy} : ${_model?.name ?? ""}'), - const Divider().defaultStyle(context), - Text( - "Asset Info".addTranslation, - style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), - ), - _buildTextWidget('${context.translation.assetName} : ${_model?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? ""}'), - _buildTextWidget('${context.translation.assetNumber} : ${_model?.assetNumber ?? ""}'), - _buildTextWidget('${context.translation.model} : ${_model?.modelName ?? ""}'), - _buildTextWidget('${context.translation.sn} : ${_model?.assetSerialNo ?? ""}'), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _contactInfo(), - if ((_model?.comment ?? "").isNotEmpty) ...[ - const Divider().defaultStyle(context), + return _model != null + ? Form( + key: _formKey, + child: LoadingManager( + isLoading: _isLoading, + isFailedLoading: false, + stateCode: 200, + onRefresh: () async {}, + child: SingleChildScrollView( + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ Text( - "Comments".addTranslation, + "Transfer Details".addTranslation, style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ), - 8.height, - _buildTextWidget(_model!.comment!), - ], - if (_attachments.isNotEmpty) ...[ + _buildTextWidget('${context.translation.requestNo} : ${_model?.transferCode ?? ""}'), + _buildTextWidget('${context.translation.transferType} : ${_model?.transferType?.name ?? ""}'), + _buildTextWidget('${context.translation.createdBy} : ${_model?.name ?? ""}'), const Divider().defaultStyle(context), Text( - "Attachments".addTranslation, + "Asset Info".addTranslation, style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ), - 8.height, - FilesList(images: _model?.assetTransferAttachments?.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []), - //attachmentWidget(), - ] - ], + _buildTextWidget('${context.translation.assetName} : ${_model?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? ""}'), + _buildTextWidget('${context.translation.assetNumber} : ${_model?.assetNumber ?? ""}'), + _buildTextWidget('${context.translation.model} : ${_model?.modelName ?? ""}'), + _buildTextWidget('${context.translation.sn} : ${_model?.assetSerialNo ?? ""}'), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _contactInfo(), + if ((_model?.comment ?? "").isNotEmpty) ...[ + const Divider().defaultStyle(context), + Text( + "Comments".addTranslation, + style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + 8.height, + _buildTextWidget(_model!.comment!), + ], + if (_attachments.isNotEmpty) ...[ + const Divider().defaultStyle(context), + Text( + "Attachments".addTranslation, + style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + 8.height, + FilesList(images: _model?.assetTransferAttachments?.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []), + //attachmentWidget(), + ] + ], + ), + ], + ).expanded, + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + 1.width, + Text( + _model?.createdOn != null ? _model!.createdOn!.toServiceRequestCardFormat : "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + ], + ), + ], + ).toShadowContainer(context), + 8.height, + if (_model?.transferType?.value == 1) ...[ + _internalRequestDetailsCard( + statusLabel: _model?.senderMachineStatusName != null + ? StatusLabel( + label: _model!.senderMachineStatusName!, + id: _model!.senderMachineStatusId!.toInt(), + textColor: AppColor.getRequestStatusTextColorByName(context, _model!.senderMachineStatusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.senderMachineStatusName!), + ) + : null, + ) + ] else ...[ + // sender card + _buildCard( + isSender: true, + site: _model?.senderSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + dept: _model?.senderDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + building: _model?.senderBuildingName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + floor: _model?.senderFloorName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + comment: _model?.senderComment ?? "", + statusLabel: _model?.senderMachineStatusName != null + ? StatusLabel( + label: _model!.senderMachineStatusName!, + id: _model!.senderMachineStatusId!.toInt(), + textColor: AppColor.getRequestStatusTextColorByName(context, _model!.senderMachineStatusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.senderMachineStatusName!), + ) + : null, ), - ], - ).expanded, - Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - 1.width, - Text( - _model?.createdOn != null ? _model!.createdOn!.toServiceRequestCardFormat : "", - textAlign: TextAlign.end, - style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + 8.height, + // receiver card + _buildCard( + isSender: false, + site: _model?.destSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + dept: _model?.destDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + building: _model?.destBuildingName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + floor: _model?.destFloorName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", + comment: _model?.receiverComment ?? "", + statusLabel: _model?.receiverMachineStatusName != null + ? StatusLabel( + label: _model!.receiverMachineStatusName ?? "", + id: _model!.receiverMachineStatusId!.toInt(), + textColor: AppColor.getRequestStatusTextColorByName(context, _model!.receiverMachineStatusName!), + backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.receiverMachineStatusName!)) + : null, ), ], - ), - ], - ).toShadowContainer(context), - 8.height, - if (_model?.transferType?.value == 1) ...[ - _internalRequestDetailsCard( - statusLabel: _model?.senderMachineStatusName != null - ? StatusLabel( - label: _model!.senderMachineStatusName!, - id: _model!.senderMachineStatusId!.toInt(), - textColor: AppColor.getRequestStatusTextColorByName(context, _model!.senderMachineStatusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.senderMachineStatusName!), - ) - : null, - ) - ] else ...[ - // sender card - _buildCard( - isSender: true, - site: _model?.senderSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - dept: _model?.senderDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - building: _model?.senderBuildingName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - floor: _model?.senderFloorName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - comment: _model?.senderComment ?? "", - statusLabel: _model?.senderMachineStatusName != null - ? StatusLabel( - label: _model!.senderMachineStatusName!, - id: _model!.senderMachineStatusId!.toInt(), - textColor: AppColor.getRequestStatusTextColorByName(context, _model!.senderMachineStatusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.senderMachineStatusName!), - ) - : null, - ), - 8.height, - // receiver card - _buildCard( - isSender: false, - site: _model?.destSiteName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - dept: _model?.destDepartmentName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - building: _model?.destBuildingName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - floor: _model?.destFloorName?.cleanupWhitespace.capitalizeFirstOfEach ?? "", - comment: _model?.receiverComment ?? "", - statusLabel: _model?.receiverMachineStatusName != null - ? StatusLabel( - label: _model!.receiverMachineStatusName ?? "", - id: _model!.receiverMachineStatusId!.toInt(), - textColor: AppColor.getRequestStatusTextColorByName(context, _model!.receiverMachineStatusName!), - backgroundColor: AppColor.getRequestStatusColorByName(context, _model!.receiverMachineStatusName!)) - : null, - ), - ], - ], - ).paddingAll(16), - ), - ), - ); + ], + ).paddingAll(16), + ), + ), + ) + : const Center( + child: NoDataFound(), + ); } }, ), diff --git a/lib/views/widgets/requests/request_status.dart b/lib/views/widgets/requests/request_status.dart index 2f655bc3..b304eb51 100644 --- a/lib/views/widgets/requests/request_status.dart +++ b/lib/views/widgets/requests/request_status.dart @@ -4,7 +4,7 @@ import 'package:test_sa/extensions/text_extensions.dart'; class StatusLabel extends StatelessWidget { String? label; - final int id; + final int? id; final Color? backgroundColor; final Color? textColor; final bool isPriority;