|
|
|
@ -1,32 +1,26 @@
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:fluttertoast/fluttertoast.dart';
|
|
|
|
import 'package:fluttertoast/fluttertoast.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:test_sa/controllers/providers/api/parts_provider.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
|
|
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
|
|
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart';
|
|
|
|
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart';
|
|
|
|
import 'package:test_sa/controllers/providers/api/user_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/extensions/context_extension.dart';
|
|
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
import 'package:test_sa/models/device/asset.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/models/helper_data_models/maintenance_request/activity_maintenance_model.dart';
|
|
|
|
import 'package:test_sa/models/helper_data_models/maintenance_request/activity_maintenance_model.dart';
|
|
|
|
import 'package:test_sa/models/service_request/service_report.dart';
|
|
|
|
import 'package:test_sa/models/service_request/service_report.dart';
|
|
|
|
import 'package:test_sa/models/service_request/service_request.dart';
|
|
|
|
import 'package:test_sa/models/service_request/service_request.dart';
|
|
|
|
import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
|
|
import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
|
|
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
|
|
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
|
|
|
|
import 'package:test_sa/providers/loading_list_notifier.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/providers/work_order/activity_status_provider.dart';
|
|
|
|
import 'package:test_sa/providers/work_order/activity_status_provider.dart';
|
|
|
|
import 'package:test_sa/providers/work_order/reason_provider.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/service_request_latest/request_detail_provider.dart';
|
|
|
|
import 'package:test_sa/service_request_latest/request_detail_provider.dart';
|
|
|
|
import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart';
|
|
|
|
import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart';
|
|
|
|
import 'package:test_sa/service_request_latest/views/forms/maintenance_request/components/assistant_employee_card.dart';
|
|
|
|
import 'package:test_sa/service_request_latest/views/forms/maintenance_request/components/assistant_employee_card.dart';
|
|
|
|
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
|
|
|
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
|
|
|
import 'package:test_sa/views/widgets/date_and_time/time_picker.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
|
|
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
|
|
|
import '../../../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
|
|
|
|
|
|
import '../../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
|
|
import '../../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
|
|
|
import '../../../../../models/lookup.dart';
|
|
|
|
import '../../../../../models/lookup.dart';
|
|
|
|
import '../../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
|
|
import '../../../../../new_views/common_widgets/app_text_form_field.dart';
|
|
|
|
@ -104,7 +98,6 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
|
|
|
|
|
|
|
return Consumer<RequestDetailProvider>(builder: (context, requestDetailProvider, child) {
|
|
|
|
return Consumer<RequestDetailProvider>(builder: (context, requestDetailProvider, child) {
|
|
|
|
return LoadingManager(
|
|
|
|
return LoadingManager(
|
|
|
|
isLoading: _isLoading,
|
|
|
|
isLoading: _isLoading,
|
|
|
|
@ -177,13 +170,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
|
|
|
|
).then((selectedTime) {
|
|
|
|
).then((selectedTime) {
|
|
|
|
// Handle the selected date and time here.
|
|
|
|
// Handle the selected date and time here.
|
|
|
|
if (selectedTime != null) {
|
|
|
|
if (selectedTime != null) {
|
|
|
|
DateTime selectedDateTime = DateTime(
|
|
|
|
DateTime selectedDateTime = DateTime(selectedDate.year, selectedDate.month, selectedDate.day, selectedTime.hour, selectedTime.minute);
|
|
|
|
selectedDate.year,
|
|
|
|
|
|
|
|
selectedDate.month,
|
|
|
|
|
|
|
|
selectedDate.day,
|
|
|
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
if (requestDetailProvider.activityMaintenanceHelperModel!.startTime != null &&
|
|
|
|
if (requestDetailProvider.activityMaintenanceHelperModel!.startTime != null &&
|
|
|
|
selectedDateTime.isBefore(requestDetailProvider.activityMaintenanceHelperModel!.startTime!)) {
|
|
|
|
selectedDateTime.isBefore(requestDetailProvider.activityMaintenanceHelperModel!.startTime!)) {
|
|
|
|
"End Date time must be greater then start date".showToast;
|
|
|
|
"End Date time must be greater then start date".showToast;
|
|
|
|
@ -260,7 +247,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
).toShadowContainer(context).paddingOnly(start: 13, end: 14, top: 12),
|
|
|
|
).toShadowContainer(context).paddingOnly(start: 13, end: 14, top: 12),
|
|
|
|
const AssistantEmployeeCard().toShadowContainer(context, paddingValue: const EdgeInsets.symmetric(horizontal: 16)).paddingOnly(start: 13, end: 14, top: 12),
|
|
|
|
const AssistantEmployeeCard().paddingOnly(start: 13, end: 14, top: 12),
|
|
|
|
100.height,
|
|
|
|
100.height,
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
@ -348,6 +335,7 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
|
|
|
|
requestDetailProvider.activityMaintenanceHelperModel!.workingHour = hours;
|
|
|
|
requestDetailProvider.activityMaintenanceHelperModel!.workingHour = hours;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<bool> validate({required ActivityMaintenanceHelperModel model}) async {
|
|
|
|
Future<bool> validate({required ActivityMaintenanceHelperModel model}) async {
|
|
|
|
if (model.activityStatus == null) {
|
|
|
|
if (model.activityStatus == null) {
|
|
|
|
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.activityStatus}");
|
|
|
|
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.activityStatus}");
|
|
|
|
@ -369,5 +357,4 @@ class _InternalMaintenanceRequestState extends State<InternalMaintenanceRequest>
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|