create sub workorder multiple fix

main_design2.0
Sikander Saleem 8 months ago
parent 3b812a6952
commit 1e514493de

@ -289,6 +289,7 @@
"searchByDesc" : "إبحث بأي من المعايير التالية",
"location" : "الموقع",
"supplier" : "المزود",
"supplierEngineer" : "Supplier Engineer",
"md": "تعريف النموذج",
"snNumber" : "الرقم التسلسلي",
"snNo" : "الرقم التسلسلي",

@ -294,6 +294,7 @@
"searchByDesc" : "Search by any of the following criteria",
"location" : "Location",
"supplier" : "Supplier",
"supplierEngineer" : "Supplier Engineer",
"md": "MD",
"snNumber" : "SN Number",
"snNo" : "SN No.",

@ -23,6 +23,7 @@ import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
import 'package:test_sa/providers/work_order/vendor_provider.dart';
import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
@ -216,6 +217,15 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
enabled: _subWorkOrders?.timer?.endAt == null,
onChange: (timer) async {
_subWorkOrders.timer = timer;
if (timer?.startAt != null && timer?.endAt != null) {
if (timer?.durationInSecond != 0) {
_subWorkOrders.workingHours = num.tryParse((((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0");
} else {
timer.durationInSecond = (timer.endAt.difference(timer.startAt))?.inSeconds;
String workingHours = (((timer.durationInSecond ?? 0) / 60) / 60).toStringAsFixed(2);
_subWorkOrders.workingHours = num.tryParse(workingHours ?? "0");
}
}
return true;
},
),
@ -257,7 +267,10 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
title: context.translation.equipmentStatus,
initialValue: _subWorkOrders.equipmentStatus,
onSelect: (value) {
_subWorkOrders.equipmentStatus = value;
if(value!=null) {
_subWorkOrders.equipmentStatus = value;
}
},
),
8.height,
@ -295,7 +308,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
if (_showVendorFields)
SingleItemDropDownMenu<SupplierDetails, VendorProvider>(
context: context,
title: context.translation.vendorEng,
title: context.translation.supplier,
initialValue: _subWorkOrders.supplier ?? initialSupplier,
onSelect: (supplier) {
if (supplier != null) {
@ -309,7 +322,7 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
if (_showVendorFields)
SingleItemDropDownMenu<SuppPersons, NullableLoadingProvider>(
context: context,
title: context.translation.vendorName,
title: context.translation.supplierEngineer,
enabled: _subWorkOrders?.supplier?.suppPersons?.isNotEmpty ?? false,
staticData: _subWorkOrders?.supplier?.suppPersons,
onSelect: (suppPerson) {
@ -328,16 +341,16 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
8.height,
ServiceReportFaultDescription(
requestId: widget.workOrder?.callRequest?.id?.toString(),
initialValue: _serviceReport.faultDescription,
initialValue: _subWorkOrders.faultDescription,
onSelect: (status) {
_serviceReport.faultDescription = status;
_workPreformedController?.text = _serviceReport.faultDescription?.workPerformed;
_subWorkOrders.faultDescription = status;
_workPreformedController?.text = _subWorkOrders.faultDescription?.workPerformed;
},
),
8.height,
AppTextFormField(
labelText: context.translation.solution,
initialValue: _serviceReport?.faultDescription?.workPerformed,
initialValue: _subWorkOrders?.faultDescription?.workPerformed,
textAlign: TextAlign.center,
enable: false,
controller: _workPreformedController,
@ -405,9 +418,9 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
PartNoButton(
controller: _partQtyController,
spareParts: _spareParts,
initialList: _serviceReport.sparePartsWorkOrders,
initialList: _subWorkOrders.sparePartsWorkOrders,
onChange: (parts) {
_serviceReport.sparePartsWorkOrders = parts;
_subWorkOrders.sparePartsWorkOrders = parts;
},
),
8.height,
@ -415,31 +428,72 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
8.height,
AppTextFormField(
labelText: context.translation.travelingExpense,
initialValue: _serviceReport?.travelingExpenses?.toString(),
initialValue: _subWorkOrders?.travelingExpenses?.toString(),
textInputType: TextInputType.number,
onSaved: (value) {
_serviceReport.travelingExpenses = int.tryParse(value) ?? 0;
_subWorkOrders.travelingExpenses = int.tryParse(value) ?? 0;
},
),
8.height,
AppTextFormField(
labelText: context.translation.travelingHours,
initialValue: _serviceReport?.travelingHours?.toString(),
initialValue: _subWorkOrders?.travelingHours?.toString(),
textInputType: TextInputType.number,
onSaved: (value) {
_serviceReport.travelingHours = int.tryParse(value) ?? 0;
_subWorkOrders.travelingHours = int.tryParse(value) ?? 0;
},
),
8.height,
AppTextFormField(
initialValue: _serviceReport?.comment,
initialValue: _subWorkOrders?.comment,
labelText: context.translation.technicalComment,
alignLabelWithHint: true,
textInputType: TextInputType.multiline,
onSaved: (value) {
_serviceReport.comment = value;
_subWorkOrders.comment = value;
},
),
8.height,
ESignature(
title: context.translation.engSign,
oldSignature: _subWorkOrders.engSignature,
newSignature: _subWorkOrders.localEngSignature,
// onChange: (signature) {
// // if (signature == null || signature.isEmpty) {
// // setState(() {});
// // return;
// // }
// if (signature == null || signature.isEmpty) return;
// _subWorkOrders.localEngSignature = signature;
// _subWorkOrders.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
// print("_serviceReport.engSignature:${_serviceReport.engSignature}");
// },
onSaved: (signature) {
if (signature == null || signature.isEmpty) {
setState(() {});
return;
}
if (signature == null || signature.isEmpty) return;
_subWorkOrders.localEngSignature = signature;
_subWorkOrders.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
},
),
8.height,
ESignature(
title: context.translation.nurseSignature,
oldSignature: _subWorkOrders.nurseSignature,
newSignature: _subWorkOrders.localNurseSignature,
onSaved: (signature) {
// if (signature == null || signature.isEmpty) {
// setState(() {});
// return;
// }
if (signature == null || signature.isEmpty) return;
_subWorkOrders.localNurseSignature = signature;
_subWorkOrders.nurseSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
},
),
16.height,
],
),
),
@ -503,10 +557,10 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.callLastSituation}");
return false;
} else if (_showVendorFields && _subWorkOrders.suppEngineerWorkOrders == null) {
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.vendorEng}");
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.supplierEngineer}");
return false;
} else if (_showVendorFields && (_subWorkOrders.supplier.suppliername == null || _subWorkOrders.supplier.suppliername.isEmpty)) {
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.vendorName}");
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.supplier}");
return false;
} else if (_subWorkOrders.calllastSituation.value == 12 && (_subWorkOrders.sparePartsWorkOrders == null || _subWorkOrders.sparePartsWorkOrders.isEmpty)) {
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.partNo}");

@ -274,7 +274,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_engineerSignature = signature;
if (signature == null || signature.isEmpty) return;
_formModel.engSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}";
base64Encode(signature);
//base64Encode(signature);
},
),
8.height,
@ -286,7 +286,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_nurseSignature = signature;
if (signature == null || signature.isEmpty) return;
_formModel.nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}";
base64Encode(signature);
//base64Encode(signature);
},
),
],

@ -246,7 +246,6 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
title: context.translation.serviceType,
initialValue: _serviceReport.serviceType,
onSelect: (value) {
print("ServiceTypeProvider:${value.toJson()}");
_serviceReport.serviceType = value;
},
),
@ -376,6 +375,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
// setState(() {});
// return;
// }
if (signature == null || signature.isEmpty) return;
_serviceReport.localEngSignature = signature;
_serviceReport.engSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
},
@ -390,6 +390,7 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
// setState(() {});
// return;
// }
if (signature == null || signature.isEmpty) return;
_serviceReport.localNurseSignature = signature;
_serviceReport.nurseSignature = signature != null ? "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}" : null;
},

Loading…
Cancel
Save