From 91be46db223e7f3283aee5c9ee016db4a5e12f58 Mon Sep 17 00:00:00 2001 From: nextwo <1234> Date: Wed, 6 Sep 2023 10:11:55 +0300 Subject: [PATCH] confirm the call last situation has a part in some cases add time in date picker, when first action is need a visit disable update, edit workorder & create work order if status is a complete or closed --- .../pages/sub_workorder/create_sub_workorder_page.dart | 4 ++++ .../sub_workorder/work_order_details_bottom_sheet.dart | 3 +++ lib/views/pages/user/requests/create_request.dart | 5 +++-- lib/views/widgets/date_and_time/time_picker.dart | 8 +++++--- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart index 8534f52a..9a6f36db 100644 --- a/lib/views/pages/sub_workorder/create_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/create_sub_workorder_page.dart @@ -328,6 +328,10 @@ class _CreateSubWorkOrderPageState extends State { _validate = true; setState(() {}); if (validate()) { + if(_subWorkOrders.calllastSituation.value == 12 && (_subWorkOrders.sparePartsWorkOrders == null || _subWorkOrders.sparePartsWorkOrders.isEmpty)){ + await Fluttertoast.showToast(msg: "You have to add parts"); + return; + } _subWorkOrders.attachmentsWorkOrder ??= []; for (var file in _files) { _subWorkOrders.attachmentsWorkOrder.add(AttachmentsWorkOrder(name: "${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}")); diff --git a/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart b/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart index 58ac107d..13c807eb 100644 --- a/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart +++ b/lib/views/pages/sub_workorder/work_order_details_bottom_sheet.dart @@ -13,6 +13,7 @@ import 'package:test_sa/views/widgets/status/service_request/supplier_engineers_ import '../../../controllers/localization/localization.dart'; import '../../../controllers/providers/api/status_drop_down/report/service_report_maintenance_situation_provider.dart'; +import '../../app_style/colors.dart'; import '../../widgets/timer/app_timer.dart'; import '../../widgets/titles/app_sub_title.dart'; import 'auto_generated_vendor_name.dart'; @@ -151,6 +152,8 @@ class _WorkOrderDetailsBottomSheetState extends State { ), if (_showDatePicker) 12.height, if (_showDatePicker) - ADatePicker( + ADateTimePicker( date: _dateTime, enable: !isFirstActionSubmitted, from: DateTime.now(), - onDatePicker: (date) { + onDateTimePicker: (date) { _dateTime = date; setState(() {}); }, diff --git a/lib/views/widgets/date_and_time/time_picker.dart b/lib/views/widgets/date_and_time/time_picker.dart index 63648225..ea079428 100644 --- a/lib/views/widgets/date_and_time/time_picker.dart +++ b/lib/views/widgets/date_and_time/time_picker.dart @@ -6,8 +6,10 @@ class ADateTimePicker extends StatelessWidget { final DateTime from; final DateTime to; final Function(DateTime) onDateTimePicker; + final bool enable; - const ADateTimePicker({Key key, this.date, this.onDateTimePicker, this.from, this.to}) : super(key: key); + + const ADateTimePicker({Key key, this.date, this.onDateTimePicker, this.from, this.to, this.enable}) : super(key: key); @override Widget build(BuildContext context) { @@ -23,10 +25,10 @@ class ADateTimePicker extends StatelessWidget { date == null ? "Pick Time" : date.toString().substring(0, date.toString().lastIndexOf(":")), textScaleFactor: AppStyle.getScaleFactor(context), ), - onPressed: () async { + onPressed: enable? () async { // TimeOfDay picked = await showTimePicker(context: context, initialTime: TimeOfDay.now()); onDateTimePicker(await showDateTimePicker(context: context, initialDate: date, firstDate: from, lastDate: to)); - }, + }: null, ); } }