|
|
|
|
@ -25,6 +25,7 @@ import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
|
|
|
|
import '../../../attachment.dart';
|
|
|
|
|
import '../../../controllers/api_routes/http_status_manger.dart';
|
|
|
|
|
import '../../../controllers/providers/api/status_drop_down/report/service_report_fault_description_provider.dart';
|
|
|
|
|
import '../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
|
|
|
|
import '../../../models/service_request/spare_parts.dart';
|
|
|
|
|
import '../../../models/service_request/supp_engineer_work_orders.dart';
|
|
|
|
|
import '../../../models/service_request/supplier_details.dart';
|
|
|
|
|
@ -35,6 +36,7 @@ import '../../../new_views/common_widgets/single_item_drop_down_menu.dart';
|
|
|
|
|
import '../../../providers/loading_list_notifier.dart';
|
|
|
|
|
import '../../../providers/work_order/reason_provider.dart';
|
|
|
|
|
import '../../widgets/date_and_time/date_picker.dart';
|
|
|
|
|
import '../../widgets/e_signature/e_signature.dart';
|
|
|
|
|
import '../../widgets/status/report/service_report_assistant_employee_menu.dart';
|
|
|
|
|
import '../../widgets/status/report/service_report_last_call.dart';
|
|
|
|
|
import '../../widgets/timer/app_timer.dart';
|
|
|
|
|
@ -57,6 +59,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
bool _isLoading = false;
|
|
|
|
|
bool _showVendorFields = false;
|
|
|
|
|
SuppEngineerWorkOrders engineer;
|
|
|
|
|
SupplierDetails initialSupplier;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
@ -79,6 +82,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
CallRequest _callRequestForWorkOrder;
|
|
|
|
|
|
|
|
|
|
Future getAssetType() async {
|
|
|
|
|
Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset();
|
|
|
|
|
final serviceRequestProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
|
|
|
Provider.of<ServiceRequestFaultDescriptionProvider>(context, listen: false).reset();
|
|
|
|
|
assetTypesProvider = Provider.of<ServiceStatusProvider>(context, listen: false);
|
|
|
|
|
@ -88,6 +92,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
_subWorkOrders.copyDetails(subWoDetails);
|
|
|
|
|
_serviceReport.equipmentStatus = subWoDetails.equipmentStatus;
|
|
|
|
|
_serviceReport.reason = subWoDetails.reason;
|
|
|
|
|
initialSupplier = subWoDetails.supplier;
|
|
|
|
|
// _serviceReport.faultDescription = subWoDetails.faultDescription;
|
|
|
|
|
}
|
|
|
|
|
await assetTypesProvider.getTypes();
|
|
|
|
|
@ -179,12 +184,14 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
ServiceReportLastCallsMenu(
|
|
|
|
|
report: _serviceReport,
|
|
|
|
|
title: context.translation.callLastSituation,
|
|
|
|
|
parentId: widget.workOrder?.callRequest?.id?.toString(),
|
|
|
|
|
parentId: widget.workOrder?.id?.toString(),
|
|
|
|
|
onSelect: (status) {
|
|
|
|
|
_serviceReport.calllastSituation = status;
|
|
|
|
|
if (checkVendorFieldsVisibility(status)) {
|
|
|
|
|
_subWorkOrders.supplier ??= SupplierDetails(id: _subWorkOrders?.supplier?.id);
|
|
|
|
|
engineer = null;
|
|
|
|
|
} else {
|
|
|
|
|
_subWorkOrders.supplier = initialSupplier;
|
|
|
|
|
}
|
|
|
|
|
if (status?.value == 12 || _subWorkOrders.calllastSituation?.value == 12) {
|
|
|
|
|
_subWorkOrders.calllastSituation = status;
|
|
|
|
|
@ -195,6 +202,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
if (_subWorkOrders.calllastSituation?.value == 12) const SizedBox(height: 8),
|
|
|
|
|
if (_subWorkOrders.calllastSituation?.value == 12)
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.mrNumber,
|
|
|
|
|
@ -272,6 +280,20 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
MultiFilesPicker(label: context.translation.attachImage, files: _files),
|
|
|
|
|
8.height,
|
|
|
|
|
ESignature(
|
|
|
|
|
title: context.translation.engSign,
|
|
|
|
|
oldSignature: _subWorkOrders.engSignature,
|
|
|
|
|
newSignature: _subWorkOrders.localEngSignature,
|
|
|
|
|
onSaved: (signature) {
|
|
|
|
|
// if (signature == null || signature.isEmpty) {
|
|
|
|
|
// setState(() {});
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
_subWorkOrders.localEngSignature = signature;
|
|
|
|
|
_subWorkOrders.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
|