diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index fefd7a70..6d02f14f 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -78,7 +78,8 @@ class URLs { static get getSubWorkerInfoAccordingToPreviousStep => "$_baseUrl/WorkOrder/GetDataPreviousStep"; - static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get + static get getPpmReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get for ppm po reason, in mobile there is no use of it. + static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=505"; // get // for service 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/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index fdf2d7fd..6ada850c 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -161,6 +161,7 @@ class GasRefillProvider extends ChangeNotifier { "department": department?.toJson(), "engSignature": newModel.engSignature, "nurseSignature": newModel.nurseSignature, + "comment": newModel.comment, }; body["gazRefillDetails"] = newModel.gazRefillDetails diff --git a/lib/controllers/providers/api/notifications_provider.dart b/lib/controllers/providers/api/notifications_provider.dart index 0d27022d..0fffcc93 100644 --- a/lib/controllers/providers/api/notifications_provider.dart +++ b/lib/controllers/providers/api/notifications_provider.dart @@ -49,7 +49,7 @@ class NotificationsProvider extends ChangeNotifier { notifyListeners(); Response response; try { - final Map body = {"pageSize": pageItemNumber, "pageNumber": notifications.length ~/ pageItemNumber + 1}; + final Map body = {"pageSize": pageItemNumber, "pageNumber": notifications.length ~/ pageItemNumber + 1, "userId": user.userID}; response = await ApiManager.instance.post(URLs.getSystemNotifications, body: body); stateCode = response.statusCode; diff --git a/lib/models/service_request/service_report.dart b/lib/models/service_request/service_report.dart index 1a41faa3..0eb5e062 100644 --- a/lib/models/service_request/service_report.dart +++ b/lib/models/service_request/service_report.dart @@ -345,6 +345,10 @@ class ServiceReport { await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.callLastSituation}"); return false; } + if (reason == null) { + await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.reason}"); + return false; + } // if (sparePartsWorkOrders?.isEmpty ?? true) { // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.partNo}"); // return false; diff --git a/lib/models/system_notification_model.dart b/lib/models/system_notification_model.dart index 2d9eb4cf..b6bb07aa 100644 --- a/lib/models/system_notification_model.dart +++ b/lib/models/system_notification_model.dart @@ -11,9 +11,11 @@ class SystemNotificationModel { int id; String createdOn; String modifiedOn; + String priorityName; + String statusName; SystemNotificationModel( - {this.userId, this.userName, this.title, this.text, this.referenceId, this.sourceId, this.sourceName, this.readed, this.readingDate, this.id, this.createdOn, this.modifiedOn}); + {this.userId, this.userName, this.title, this.text, this.referenceId, this.sourceId, this.sourceName, this.readed, this.readingDate, this.id, this.createdOn, this.modifiedOn, this.priorityName, this.statusName}); SystemNotificationModel.fromJson(Map json) { userId = json['userId']; @@ -28,6 +30,8 @@ class SystemNotificationModel { id = json['id']; createdOn = json['createdOn']; modifiedOn = json['modifiedOn']; + priorityName = json['priorityName']; + statusName = json['statusName']; } Map toNotificationJson() { @@ -44,8 +48,9 @@ class SystemNotificationModel { data['id'] = this.id; data['createdOn'] = this.createdOn; data['modifiedOn'] = this.modifiedOn; - data['priority'] = "Low Priority"; - + data['priorityName'] = this.priorityName; + data['priority'] = this.priorityName; + data['statusName'] = this.statusName; return data; } @@ -63,6 +68,8 @@ class SystemNotificationModel { data['id'] = this.id; data['createdOn'] = this.createdOn; data['modifiedOn'] = this.modifiedOn; + data['priorityName'] = this.priorityName; + data['statusName'] = this.statusName; return data; } } diff --git a/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart index 2820749c..2416c1c4 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart @@ -3,6 +3,7 @@ import 'package:provider/provider.dart'; import 'package:test_sa/controllers/notification/firebase_notification_manger.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; +import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; @@ -21,7 +22,7 @@ class RecentActivitiesFragment extends StatelessWidget { return RefreshIndicator( onRefresh: () { Provider.of(context, listen: false).getRequests(); - _notificationsProvider.getSystemNotifications(); + _notificationsProvider.getSystemNotifications(user: Provider.of(context, listen: false).user); return Future.delayed(const Duration(microseconds: 250)); }, child: SingleChildScrollView( diff --git a/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart index ed6538a2..6624208c 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart @@ -3,6 +3,7 @@ import 'package:provider/provider.dart'; import 'package:test_sa/controllers/api_routes/api_manager.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.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'; import 'package:test_sa/extensions/text_extensions.dart'; @@ -24,7 +25,7 @@ class RequestsFragment extends StatelessWidget { builder: (context, snapshot, _) => RefreshIndicator( onRefresh: () { snapshot.getRequests(); - Provider.of(context, listen: false).getSystemNotifications(); + Provider.of(context, listen: false).getSystemNotifications(user: Provider.of(context, listen: false).user); return Future.delayed(const Duration(microseconds: 250)); }, child: GridView( diff --git a/lib/new_views/pages/land_page/dashboard_page.dart b/lib/new_views/pages/land_page/dashboard_page.dart index 9b3863a3..c9b5324c 100644 --- a/lib/new_views/pages/land_page/dashboard_page.dart +++ b/lib/new_views/pages/land_page/dashboard_page.dart @@ -38,7 +38,7 @@ class _DashboardPageState extends State { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { Provider.of(context, listen: false).getRequests(); - Provider.of(context, listen: false).getSystemNotifications(); + Provider.of(context, listen: false).getSystemNotifications(user: Provider.of(context, listen: false).user); }); } diff --git a/lib/new_views/pages/new_gas_refill_request_page.dart b/lib/new_views/pages/new_gas_refill_request_page.dart index 9c106146..5cbe4fe1 100644 --- a/lib/new_views/pages/new_gas_refill_request_page.dart +++ b/lib/new_views/pages/new_gas_refill_request_page.dart @@ -171,68 +171,69 @@ class _NewGasRefillRequestPageState extends State { buttonColor: context.isDark ? AppColor.neutral60 : AppColor.neutral50, onPressed: _add, ), - 24.height, ListView.builder( shrinkWrap: true, itemCount: _gasModel.gazRefillDetails?.length, + padding: const EdgeInsets.only(top: 12, bottom: 24), physics: const NeverScrollableScrollPhysics(), itemBuilder: (context, index) { - return Card( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _gasModel.gazRefillDetails[index].gasType?.name?.heading5(context), - 8.height, - ("${context.translation.quantity}: ${_gasModel.gazRefillDetails[index].requestedQty}").bodyText(context), - ("${context.translation.cylinderSize}: ${_gasModel.gazRefillDetails[index].cylinderSize?.name}").bodyText(context), - ("${context.translation.cylinderType}: ${_gasModel.gazRefillDetails[index].cylinderType?.name}").bodyText(context), - ], + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _gasModel.gazRefillDetails[index].gasType?.name?.heading5(context), + 8.height, + ("${context.translation.quantity}: ${_gasModel.gazRefillDetails[index].requestedQty}").bodyText(context), + ("${context.translation.cylinderSize}: ${_gasModel.gazRefillDetails[index].cylinderSize?.name}").bodyText(context), + ("${context.translation.cylinderType}: ${_gasModel.gazRefillDetails[index].cylinderType?.name}").bodyText(context), + ], + ), + Container( + height: 48.toScreenWidth, + width: 48.toScreenWidth, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(100), + border: Border.all(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30), ), - Container( - height: 48.toScreenWidth, - width: 48.toScreenWidth, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(100), - border: Border.all(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30), - ), - padding: EdgeInsets.symmetric(vertical: 12.toScreenHeight), - child: "trash".toSvgAsset(fit: BoxFit.fitHeight, color: context.isDark ? AppColor.red40 : AppColor.red50), - ).onPress(() { - _delete(index); - }), - ], - ), - const Divider().defaultStyle(context), - ("${context.translation.site}: ${_gasModel.site?.custName}").bodyText(context), - ("${context.translation.building}: ${_gasModel.building?.name}").bodyText(context), - ("${context.translation.floor}: ${_gasModel.floor?.name}").bodyText(context), - ("${context.translation.department}: ${_gasModel.department?.departmentName}").bodyText(context), - ], - ).paddingAll(16), - ); + padding: EdgeInsets.symmetric(vertical: 12.toScreenHeight), + child: "trash".toSvgAsset(fit: BoxFit.fitHeight, color: context.isDark ? AppColor.red40 : AppColor.red50), + ).onPress(() { + _delete(index); + }), + ], + ), + const Divider().defaultStyle(context), + ("${context.translation.site}: ${_gasModel.site?.custName}").bodyText(context), + ("${context.translation.building}: ${_gasModel.building?.name}").bodyText(context), + ("${context.translation.floor}: ${_gasModel.floor?.name}").bodyText(context), + ("${context.translation.department}: ${_gasModel.department?.departmentName}").bodyText(context), + ], + ).toShadowContainer(context); }, ), - 8.height, - AppTextFormField( - labelText: context.translation.comments, - textInputType: TextInputType.multiline, - alignLabelWithHint: true, - onChange: (text) { - _gasModel.comment = text; - }, - ), - 40.height, + // 8.height, + + // // todo sikander, check it with FM + // AppTextFormField( + // labelText: context.translation.comments, + // textInputType: TextInputType.multiline, + // alignLabelWithHint: true, + // onChange: (text) { + // _gasModel.comment = text; + // }, + // ), + //40.height, ], ), ), ).expanded, + 16.height, AppFilledButton(label: context.translation.submitRequest, maxWidth: true, onPressed: _submit), ], ).paddingOnly(start: 16, end: 16, bottom: 24), 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 5b3451ae..b50ced39 100644 --- a/lib/views/pages/user/gas_refill/request_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/request_gas_refill.dart @@ -63,6 +63,7 @@ class _RequestGasRefillState extends State { super.initState(); if (widget.gasRefillModel != null) { _formModel.fromGasRefillModel(widget.gasRefillModel); + _commentController.text = _formModel.comment ?? ""; } } @@ -90,7 +91,7 @@ class _RequestGasRefillState extends State { setState(() {}); _formKey.currentState.save(); - + _formModel.comment = _commentController.text; int status = widget.gasRefillModel == null ? null /*await _gasRefillProvider.createModel( user: _userProvider.user, @@ -137,7 +138,7 @@ class _RequestGasRefillState extends State { // Scrollable.ensureVisible(_DetailsKey.currentContext); _deliveredQuantityController.clear(); _workingHoursController.clear(); - _commentController.clear(); + //_commentController.clear(); _currentDetails = GasRefillDetails(); setState(() {}); return true; @@ -207,6 +208,7 @@ class _RequestGasRefillState extends State { /// TBD '${context.translation.gasRequest}: ${widget.gasRefillModel.gazRefillDetails[0].gasType.name}'.bodyText(context), + '${context.translation.cylinderType}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderType.name}'.bodyText(context), '${context.translation.cylinderSize}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderSize.name}'.bodyText(context), '${context.translation.quantity}: ${widget.gasRefillModel.gazRefillDetails[0].requestedQty ?? 0}'.bodyText(context), '${context.translation.site}: ${widget.gasRefillModel.site?.name}'.bodyText(context), @@ -225,7 +227,7 @@ class _RequestGasRefillState extends State { 8.height, SingleItemDropDownMenu( context: context, - title: context.translation.reportStatus, + title: context.translation.requestStatus, initialValue: _formModel.status, onSelect: (value) { if (value?.value == 0) { @@ -233,8 +235,9 @@ class _RequestGasRefillState extends State { setState(() {}); return; } - - _formModel.status = value; + if(value!=null) { + _formModel.status = value; + } }, ), 8.height, diff --git a/lib/views/pages/user/requests/service_request_details.dart b/lib/views/pages/user/requests/service_request_details.dart index 79b5bdac..7a08e0cd 100644 --- a/lib/views/pages/user/requests/service_request_details.dart +++ b/lib/views/pages/user/requests/service_request_details.dart @@ -231,45 +231,50 @@ class _ServiceRequestDetailsPageState extends State { body: SafeArea( child: loading ? const ALoading().center - : Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SingleChildScrollView( - padding: const EdgeInsets.all(16), - child: informationCard(serviceRequest), - ).expanded, - if (_userProvider.user.type == UsersTypes.engineer || (serviceRequest.statusValue == 5 || serviceRequest.statusValue == 3)) - (serviceRequest.firstAction == null - ? AppFilledButton( - label: context.translation.firstAction, - maxWidth: true, - onPressed: () async { - bool shouldReloadData = (await showModalBottomSheet( - context: context, - useSafeArea: true, - isScrollControlled: true, - backgroundColor: Colors.transparent, - builder: (context) => FirstActionBottomSheet(request: serviceRequest), - )) as bool; - if (shouldReloadData ?? false) { - getServiceRequest(); - } - }, - ) - : AppFilledButton( - label: context.translation.viewWorkOrder, - maxWidth: true, - onPressed: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)), - ); - // Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest); - }, - )) - .paddingOnly(start: 16, end: 16, bottom: 24), - ], - ), + : serviceRequest == null + ? Text( + context.translation.noDataFound, + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ).center + : Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SingleChildScrollView( + padding: const EdgeInsets.all(16), + child: informationCard(serviceRequest), + ).expanded, + if (_userProvider.user.type == UsersTypes.engineer || (serviceRequest.statusValue == 5 || serviceRequest.statusValue == 3)) + (serviceRequest?.firstAction == null + ? AppFilledButton( + label: context.translation.firstAction, + maxWidth: true, + onPressed: () async { + bool shouldReloadData = (await showModalBottomSheet( + context: context, + useSafeArea: true, + isScrollControlled: true, + backgroundColor: Colors.transparent, + builder: (context) => FirstActionBottomSheet(request: serviceRequest), + )) as bool; + if (shouldReloadData ?? false) { + getServiceRequest(); + } + }, + ) + : AppFilledButton( + label: context.translation.viewWorkOrder, + maxWidth: true, + onPressed: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)), + ); + // Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest); + }, + )) + .paddingOnly(start: 16, end: 16, bottom: 24), + ], + ), ), ); } diff --git a/lib/views/widgets/date_and_time/date_picker.dart b/lib/views/widgets/date_and_time/date_picker.dart index 08453fc5..983163bc 100644 --- a/lib/views/widgets/date_and_time/date_picker.dart +++ b/lib/views/widgets/date_and_time/date_picker.dart @@ -46,8 +46,9 @@ class ADatePicker extends StatelessWidget { padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight), child: Row( children: [ - enable - ? Column( + // enable + // ? + Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisSize: MainAxisSize.min, children: [ @@ -58,8 +59,8 @@ class ADatePicker extends StatelessWidget { .bodyText(context) .custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ], - ).expanded - : label.bodyText(context).paddingOnly(top: 8, bottom: 8), + ).expanded, + //: label.bodyText(context).paddingOnly(top: 8, bottom: 8), enable ? 16.width : const Spacer(), "calender".toSvgAsset(width: 20, color: context.isDark ? AppColor.neutral10 : null), ], diff --git a/lib/views/widgets/notifications/notification_item.dart b/lib/views/widgets/notifications/notification_item.dart index e581b47f..02fe4e3b 100644 --- a/lib/views/widgets/notifications/notification_item.dart +++ b/lib/views/widgets/notifications/notification_item.dart @@ -6,6 +6,7 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/system_notification_model.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/views/widgets/requests/request_status.dart'; class NotificationItem extends StatelessWidget { final SystemNotificationModel notification; @@ -20,6 +21,24 @@ class NotificationItem extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + Row( + children: [ + if (notification.priorityName != null) + StatusLabel( + label: notification.priorityName, + textColor: AppColor.getRequestStatusTextColorByName(context, notification.priorityName), + backgroundColor: AppColor.getRequestStatusColorByName(context, notification.priorityName), + ).toShimmer(isShow: isLoading), + 8.width, + if((notification.statusName ?? "").isNotEmpty && notification.sourceName!="Asset Transfer") + StatusLabel( + label: notification.statusName ?? "", + textColor: AppColor.getRequestStatusTextColorByName(context, notification.statusName ?? ""), + backgroundColor: AppColor.getRequestStatusColorByName(context, notification.statusName ?? ""), + ).toShimmer(isShow: isLoading), + ], + ), + 8.height, Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/views/widgets/pentry/pentry_tbs_form.dart b/lib/views/widgets/pentry/pentry_tbs_form.dart index dd37eb1b..42fc33ac 100644 --- a/lib/views/widgets/pentry/pentry_tbs_form.dart +++ b/lib/views/widgets/pentry/pentry_tbs_form.dart @@ -93,6 +93,7 @@ class _PentryTBSFormState extends State { label: context.translation.expectedVisitDate, date: DateTime.tryParse(widget.model.expectedDate ?? ""), from: DateTime.now().subtract(const Duration(days: 30)), + enable: false, onDatePicker: (date) { if (date == null) return; widget.model.expectedDate = date?.toIso8601String(); diff --git a/lib/views/widgets/status/report/service_report_reasons.dart b/lib/views/widgets/status/report/service_report_reasons.dart index 81092b5c..22755fc6 100644 --- a/lib/views/widgets/status/report/service_report_reasons.dart +++ b/lib/views/widgets/status/report/service_report_reasons.dart @@ -1,38 +1,38 @@ -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart'; -import 'package:test_sa/controllers/providers/api/user_provider.dart'; -import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; -import 'package:test_sa/models/lookup.dart'; -import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; -import 'package:test_sa/views/widgets/status/single_status_menu.dart'; - -class ServiceReportReasonsMenu extends StatelessWidget { - final Lookup initialValue; - final Function(Lookup) onSelect; - - const ServiceReportReasonsMenu({Key key, this.onSelect, this.initialValue}) : super(key: key); - - @override - Widget build(BuildContext context) { - SettingProvider _settingProvider = Provider.of(context); - UserProvider _userProvider = Provider.of(context); - ServiceReportReasonsProvider _menuProvider = Provider.of(context); - return LoadingManager( - isLoading: _menuProvider.isLoading, - isFailedLoading: _menuProvider.reasons == null, - stateCode: _menuProvider.stateCode, - onRefresh: () async { - _menuProvider.reset(); - await _menuProvider.getTypes( - user: _userProvider.user, - host: _settingProvider.host, - ); - }, - child: SingleStatusMenu( - initialStatus: initialValue, - statuses: _menuProvider.reasons, - onSelect: onSelect, - )); - } -} +// import 'package:flutter/material.dart'; +// import 'package:provider/provider.dart'; +// import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart'; +// import 'package:test_sa/controllers/providers/api/user_provider.dart'; +// import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; +// import 'package:test_sa/models/lookup.dart'; +// import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; +// import 'package:test_sa/views/widgets/status/single_status_menu.dart'; +// +// class ServiceReportReasonsMenu extends StatelessWidget { +// final Lookup initialValue; +// final Function(Lookup) onSelect; +// +// const ServiceReportReasonsMenu({Key key, this.onSelect, this.initialValue}) : super(key: key); +// +// @override +// Widget build(BuildContext context) { +// SettingProvider _settingProvider = Provider.of(context); +// UserProvider _userProvider = Provider.of(context); +// ServiceReportReasonsProvider _menuProvider = Provider.of(context); +// return LoadingManager( +// isLoading: _menuProvider.isLoading, +// isFailedLoading: _menuProvider.reasons == null, +// stateCode: _menuProvider.stateCode, +// onRefresh: () async { +// _menuProvider.reset(); +// await _menuProvider.getTypes( +// user: _userProvider.user, +// host: _settingProvider.host, +// ); +// }, +// child: SingleStatusMenu( +// initialStatus: initialValue, +// statuses: _menuProvider.reasons, +// onSelect: onSelect, +// )); +// } +// }