From f132004c11f46d0e159fec1e30aec6fce43c6ca5 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Sun, 20 Aug 2023 12:41:30 +0300 Subject: [PATCH 1/3] remove expected date --- .../providers/api/gas_refill_provider.dart | 4 +- .../user/gas_refill/request_gas_refill.dart | 42 +++++++++---------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index 40a96203..fc657ce5 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -112,7 +112,7 @@ class GasRefillProvider extends ChangeNotifier { "site": hospital?.toMap(), "building": {"id": building?.id, "name": building?.name, "value": building?.value}, "floor": {"id": floor?.id, "name": floor?.name, "value": floor?.value}, - if (expectedDateTime != null) "expectedDate": expectedDateTime?.toIso8601String(), + //if (expectedDateTime != null) "expectedDate": expectedDateTime?.toIso8601String(), if (expectedDateTime != null) "expectedTime": expectedDateTime?.toIso8601String(), if (timer?.startAt != null) "startDate": timer.startAt.toIso8601String(), if (timer?.startAt != null) "startTime": timer.startAt.toIso8601String(), @@ -158,7 +158,7 @@ class GasRefillProvider extends ChangeNotifier { "id": newModel.id, "gazRefillNo": newModel.title ?? "", "status": newModel.status.toMap(), - "expectedDate": newModel.expectedDate?.toIso8601String(), + //"expectedDate": newModel.expectedDate?.toIso8601String(), "expectedTime": newModel.expectedDate?.toIso8601String(), if (timer?.startAt != null) "startDate": timer.startAt.toIso8601String(), if (timer?.startAt != null) "startTime": timer.startAt.toIso8601String(), 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 1278df23..1df747ea 100644 --- a/lib/views/pages/user/gas_refill/request_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/request_gas_refill.dart @@ -298,27 +298,27 @@ class _RequestGasRefillState extends State { ), ], ), - const SizedBox(height: 8), - if (_userProvider.user?.type == UsersTypes.normal_user || widget.gasRefillModel != null) - Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const ASubTitle("Expected Date"), - SizedBox( - height: 8 * AppStyle.getScaleFactor(context), - ), - ADateTimePicker( - date: _gasRefillProvider.expectedDateTime, - from: DateTime.now().subtract(const Duration(days: 365)), - to: DateTime.now().add(const Duration(days: 365)), - onDateTimePicker: (date) { - _gasRefillProvider.expectedDateTime = date; - _formModel.expectedDate = _gasRefillProvider.expectedDateTime; - setState(() {}); - }, - ), - ], - ), + //const SizedBox(height: 8), + // if (_userProvider.user?.type == UsersTypes.normal_user || widget.gasRefillModel != null) + // Column( + // crossAxisAlignment: CrossAxisAlignment.stretch, + // children: [ + // const ASubTitle("Expected Date"), + // SizedBox( + // height: 8 * AppStyle.getScaleFactor(context), + // ), + // ADateTimePicker( + // date: _gasRefillProvider.expectedDateTime, + // from: DateTime.now().subtract(const Duration(days: 365)), + // to: DateTime.now().add(const Duration(days: 365)), + // onDateTimePicker: (date) { + // _gasRefillProvider.expectedDateTime = date; + // _formModel.expectedDate = _gasRefillProvider.expectedDateTime; + // setState(() {}); + // }, + // ), + // ], + // ), // if (_userProvider.user?.type == UsersTypes.engineer) // Column( // children: [ From d33c97d1df6b054a8a6bdc0e2e0a7034c2ee7c81 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Sun, 20 Aug 2023 15:02:26 +0300 Subject: [PATCH 2/3] make return to service not required --- lib/models/service_report.dart | 16 ++++++++-------- .../requests/report/create_service_report.dart | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/models/service_report.dart b/lib/models/service_report.dart index a5fed419..5b661458 100644 --- a/lib/models/service_report.dart +++ b/lib/models/service_report.dart @@ -155,14 +155,14 @@ class ServiceReport { } Future validate() async { - if (visitDate == null) { - await Fluttertoast.showToast(msg: "Visit Date Required"); - return false; - } - if (returnToService == null) { - await Fluttertoast.showToast(msg: "Return To Service Date Required"); - return false; - } + // if (visitDate == null) { + // await Fluttertoast.showToast(msg: "Visit Date Required"); + // return false; + // } + // if (returnToService == null) { + // await Fluttertoast.showToast(msg: "Return To Service Date Required"); + // return false; + // } if (timer?.startAt == null) { await Fluttertoast.showToast(msg: "Working Hours Required"); return false; diff --git a/lib/views/pages/user/requests/report/create_service_report.dart b/lib/views/pages/user/requests/report/create_service_report.dart index ff09c44c..0c3d6fe1 100644 --- a/lib/views/pages/user/requests/report/create_service_report.dart +++ b/lib/views/pages/user/requests/report/create_service_report.dart @@ -391,12 +391,12 @@ class _CreateServiceReportState extends State with TickerPr crossAxisAlignment: CrossAxisAlignment.start, children: [ const ASubTitle("Return to Service"), - _validate && _serviceReport.returnToService == null - ? ASubTitle( - _subtitle.requiredWord, - color: Colors.red, - ) - : const SizedBox.shrink(), + // _validate && _serviceReport.returnToService == null + // ? ASubTitle( + // _subtitle.requiredWord, + // color: Colors.red, + // ) + // : const SizedBox.shrink(), Row( children: [ Expanded( From b3c577d03eb0d305d68e4abf54a534e32f7ed384 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Mon, 21 Aug 2023 18:01:03 +0300 Subject: [PATCH 3/3] fix bugs --- lib/controllers/api_routes/urls.dart | 2 +- .../providers/api/gas_refill_provider.dart | 35 +++++++++---------- .../user/gas_refill/gas_refill_details.dart | 15 +++++--- .../user/gas_refill/request_gas_refill.dart | 5 +-- .../pages/user/requests/create_request.dart | 6 ++-- .../widgets/gas_refill/gas_refill_list.dart | 22 ++++++++---- 6 files changed, 49 insertions(+), 36 deletions(-) diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index a587fb7f..0dec4fe9 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -70,7 +70,7 @@ class URLs { static get getServiceReportLastCalls => "$_baseUrl/WorkOrder/GetLookupCallLastSituationBasedOnCase"; // get static get getAssetTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=500"; // get static get getPartNumber => "$_baseUrl/PartCatalog/GetPartAutoComplete"; // get - static get getServiceReportPriority => "$_baseUrl/Lookups/GetLookup?lookupEnum=602"; // get + static get getServiceReportPriority => "$_baseUrl/Lookups/GetLookup?lookupEnum=4"; // get static get getServiceReportDefectTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=601"; // get static get getCallRequestForWorkOrder => "$_baseUrl/CallRequest/GetCallRequestForWorkOrder"; // get diff --git a/lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index fc657ce5..445be633 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -185,24 +185,23 @@ class GasRefillProvider extends ChangeNotifier { }) .toList(); log(body.toString()); - return -1; - // Response response; - // try { - // response = await ApiManager.instance.put(URLs.updateGasRefill, body: body); - // // response = await post( - // // Uri.parse("$host${URLs.updateGasRefill}/${newModel.id}"), - // // body: body, - // // ); - // - // stateCode = response.statusCode; - // if (response.statusCode >= 200 && response.statusCode < 300) { - // oldModel.fromGasRefillModel(newModel); - // notifyListeners(); - // } - // return response.statusCode; - // } catch (error) { - // return -1; - // } + Response response; + try { + response = await ApiManager.instance.put(URLs.updateGasRefill, body: body); + // response = await post( + // Uri.parse("$host${URLs.updateGasRefill}/${newModel.id}"), + // body: body, + // ); + + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + oldModel.fromGasRefillModel(newModel); + notifyListeners(); + } + return response.statusCode; + } catch (error) { + return -1; + } } Hospital hospital; diff --git a/lib/views/pages/user/gas_refill/gas_refill_details.dart b/lib/views/pages/user/gas_refill/gas_refill_details.dart index bc6f49a0..7a4cd554 100644 --- a/lib/views/pages/user/gas_refill/gas_refill_details.dart +++ b/lib/views/pages/user/gas_refill/gas_refill_details.dart @@ -25,9 +25,9 @@ import '../../../../models/enums/user_types.dart'; import '../../../app_style/colors.dart'; class GasRefillDetails extends StatefulWidget { - final GasRefillModel model; + GasRefillModel model; - const GasRefillDetails({Key key, this.model}) : super(key: key); + GasRefillDetails({Key key, this.model}) : super(key: key); @override State createState() => _GasRefillDetailsState(); @@ -102,7 +102,9 @@ class _GasRefillDetailsState extends State { padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Row( children: [ - const ABackButton(), + ABackButton(onPressed: (){ + Navigator.of(context).pop(_model); + },), Expanded( child: Center( child: Text( @@ -123,14 +125,17 @@ class _GasRefillDetailsState extends State { _model.fromGasRefillModel(widget.model); print(widget.model.startDate); // setState(() {}); - Navigator.push( + Navigator.push( context, MaterialPageRoute( builder: (context) => RequestGasRefill( gasRefillModel: widget.model, ), ), - ); + ).then((value) { + _model.status= value; + }); + setState(() {}); }, ), const SizedBox( 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 43a324aa..83fb8f47 100644 --- a/lib/views/pages/user/gas_refill/request_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/request_gas_refill.dart @@ -106,7 +106,8 @@ class _RequestGasRefillState extends State { Fluttertoast.showToast( msg: _subtitle.requestCompleteSuccessfully, ); - Navigator.of(context).pop(); + Navigator.of(context).pop(_formModel.status); + setState(() { }); } else { String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar( @@ -151,7 +152,7 @@ class _RequestGasRefillState extends State { _settingProvider = Provider.of(context); if (_gasRefillProvider == null) { _gasRefillProvider = Provider.of(context, listen: false); - _gasRefillProvider.reset(); + //_gasRefillProvider.reset(); } if (_firstTime) { if (widget.gasRefillModel != null) { diff --git a/lib/views/pages/user/requests/create_request.dart b/lib/views/pages/user/requests/create_request.dart index 4aaf65bc..ebc23e44 100644 --- a/lib/views/pages/user/requests/create_request.dart +++ b/lib/views/pages/user/requests/create_request.dart @@ -189,7 +189,7 @@ class CreateRequestPageState extends State { height: 4, ), ServiceRequestPriorityMenu( - initialValue: _serviceRequest.priority, + initialValue: widget.serviceRequest.priority, onSelect: (status) { _serviceRequest.priority = status; }, @@ -341,13 +341,13 @@ class CreateRequestPageState extends State { child: AButton( text: widget.serviceRequest == null ? _subtitle.submit : _subtitle.update, onPressed: () async { - if (!_formKey.currentState.validate()) return; + //if (!_formKey.currentState.validate()) return; if (_device?.id == null) { Fluttertoast.showToast(msg: _subtitle.pickDevice); return; } if (_serviceRequest.firstAction?.name == "Need a visit" && _dateTime == null) { - Fluttertoast.showToast(msg: _subtitle.noDateFound); + Fluttertoast.showToast(msg: "first action is required"); return; } if (widget.serviceRequest != null && (_serviceRequest?.engineerId == null || (_serviceRequest?.engineerId?.isEmpty ?? false))) { diff --git a/lib/views/widgets/gas_refill/gas_refill_list.dart b/lib/views/widgets/gas_refill/gas_refill_list.dart index b6f58e83..f805e67c 100644 --- a/lib/views/widgets/gas_refill/gas_refill_list.dart +++ b/lib/views/widgets/gas_refill/gas_refill_list.dart @@ -7,37 +7,45 @@ import 'package:test_sa/views/widgets/gas_refill/gas_refill_item.dart'; import 'package:test_sa/views/widgets/loaders/lazy_loading.dart'; import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; -class GasRefillList extends StatelessWidget { +class GasRefillList extends StatefulWidget { final List items; final bool nextPage; final Future Function() onLazyLoad; const GasRefillList({Key key, this.items, this.nextPage, this.onLazyLoad}) : super(key: key); + @override + State createState() => _GasRefillListState(); +} + +class _GasRefillListState extends State { @override Widget build(BuildContext context) { - if (items.length == 0) { + if (widget.items.length == 0) { Subtitle subtitle = AppLocalization.of(context).subtitle; return NoItemFound( message: subtitle.noServiceRequestFound, ); } return LazyLoading( - nextPage: nextPage, - onLazyLoad: onLazyLoad, + nextPage: widget.nextPage, + onLazyLoad: widget.onLazyLoad, child: ListView.builder( //physics: const BouncingScrollPhysics(), - itemCount: items.length, + itemCount: widget.items.length, padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), itemBuilder: (context, itemIndex) { return GasRefillItem( index: itemIndex, - item: items[itemIndex], + item: widget.items[itemIndex], onPressed: (model) { Navigator.of(context).push(MaterialPageRoute( builder: (_) => GasRefillDetails( model: model, - ))); + ))).then((value) { + model=value; + setState(() {}); + }); }, ); }),