|
|
|
|
@ -61,11 +61,14 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EngineerUpdateWorkOrderHelperModel? updateAssetModel;
|
|
|
|
|
late WorkOrderData currentWorkOrderData;
|
|
|
|
|
|
|
|
|
|
void assignValues() {
|
|
|
|
|
// ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
|
|
|
|
|
// _requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
|
|
|
|
|
WorkOrderData currentWorkOrderData = _requestDetailProvider!.currentWorkOrder!.data!;
|
|
|
|
|
_requestDetailProvider!.engineerUpdateWorkOrderHelperModel = EngineerUpdateWorkOrderHelperModel(
|
|
|
|
|
currentWorkOrderData = _requestDetailProvider!.currentWorkOrder!.data!;
|
|
|
|
|
updateAssetModel = EngineerUpdateWorkOrderHelperModel(
|
|
|
|
|
workOrderId: currentWorkOrderData.requestId,
|
|
|
|
|
equipmentStatus: currentWorkOrderData.equipmentStatus,
|
|
|
|
|
loanAvailability: currentWorkOrderData.loanAvailablity,
|
|
|
|
|
@ -91,7 +94,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
);
|
|
|
|
|
setState(() {});
|
|
|
|
|
}
|
|
|
|
|
getFaultDescription(assetId: _requestDetailProvider!.currentWorkOrder?.data?.asset?.id);
|
|
|
|
|
getFaultDescription(assetId: currentWorkOrderData.asset?.id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
@ -126,15 +129,15 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
children: [
|
|
|
|
|
assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!),
|
|
|
|
|
assetStatusWidget(context: context, workOrderData: updateAssetModel!),
|
|
|
|
|
12.height,
|
|
|
|
|
ADatePicker(
|
|
|
|
|
label: context.translation.returnToService,
|
|
|
|
|
hideShadow: true,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
// initialDate: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
|
|
|
|
|
// initialDate: DateTime.tryParse(updateAssetModel?.returnToService ?? ""),
|
|
|
|
|
from: requestDetailProvider.currentWorkOrder?.data?.requestedDate,
|
|
|
|
|
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
|
|
|
|
|
date: DateTime.tryParse(updateAssetModel?.returnToService ?? ""),
|
|
|
|
|
formatDateWithTime: true,
|
|
|
|
|
onDatePicker: (selectedDate) {
|
|
|
|
|
showTimePicker(
|
|
|
|
|
@ -150,19 +153,18 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
);
|
|
|
|
|
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService != null &&
|
|
|
|
|
// selectedDateTime.isBefore(DateTime.parse(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService!))) {
|
|
|
|
|
// if (updateAssetModel?.returnToService != null &&
|
|
|
|
|
// selectedDateTime.isBefore(DateTime.parse(updateAssetModel!.returnToService!))) {
|
|
|
|
|
// "Return To Service Date time must be greater then previous date".showToast;
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
setState(() {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService = selectedDateTime.toIso8601String();
|
|
|
|
|
updateAssetModel?.returnToService = selectedDateTime.toIso8601String();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
12.height,
|
|
|
|
|
SingleItemDropDownMenu<Lookup, WoFrameProvider>(
|
|
|
|
|
context: context,
|
|
|
|
|
@ -170,10 +172,10 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
height: 56.toScreenHeight,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId,
|
|
|
|
|
initialValue: updateAssetModel?.cmFrameId,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
if (value != null) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId = value;
|
|
|
|
|
updateAssetModel?.cmFrameId = value;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -184,10 +186,10 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
height: 56.toScreenHeight,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason,
|
|
|
|
|
initialValue: updateAssetModel?.failureReason,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
if (value != null) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason = value;
|
|
|
|
|
updateAssetModel?.failureReason = value;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -198,22 +200,20 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
staticData: _faults,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription,
|
|
|
|
|
initialValue: updateAssetModel?.faultDescription,
|
|
|
|
|
onSelect: (fault) {
|
|
|
|
|
if (fault != null) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription = fault;
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution = fault.workPerformed;
|
|
|
|
|
updateAssetModel?.faultDescription = fault;
|
|
|
|
|
updateAssetModel?.solution = fault.workPerformed;
|
|
|
|
|
setState(() {});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null) ...[
|
|
|
|
|
if (updateAssetModel?.solution != null) ...[
|
|
|
|
|
12.height,
|
|
|
|
|
context.translation.solutions.heading6(context).custom(color: AppColor.neutral50),
|
|
|
|
|
8.height,
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null
|
|
|
|
|
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120, align: TextAlign.justify)
|
|
|
|
|
: const SizedBox(),
|
|
|
|
|
updateAssetModel?.solution != null ? updateAssetModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120, align: TextAlign.justify) : const SizedBox(),
|
|
|
|
|
],
|
|
|
|
|
12.height,
|
|
|
|
|
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
|
|
|
|
|
@ -222,25 +222,25 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
height: 56.toScreenHeight,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability,
|
|
|
|
|
initialValue: updateAssetModel?.loanAvailability,
|
|
|
|
|
onSelect: (status) {
|
|
|
|
|
if (status != null) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability = status;
|
|
|
|
|
updateAssetModel?.loanAvailability = status;
|
|
|
|
|
if (status.value != 1) {
|
|
|
|
|
loanAvailabilityAsset = null;
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = null;
|
|
|
|
|
updateAssetModel?.loanAssetId = null;
|
|
|
|
|
}
|
|
|
|
|
setState(() {});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) 8.height,
|
|
|
|
|
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1)
|
|
|
|
|
if (updateAssetModel?.loanAvailability?.value == 1) 8.height,
|
|
|
|
|
if (updateAssetModel?.loanAvailability?.value == 1)
|
|
|
|
|
PickAsset(
|
|
|
|
|
device: loanAvailabilityAsset, // ?? _serviceReport.device,
|
|
|
|
|
cardColor: AppColor.neutral100,
|
|
|
|
|
onPickAsset: (asset) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = asset.id;
|
|
|
|
|
updateAssetModel?.loanAssetId = asset.id;
|
|
|
|
|
setState(() {
|
|
|
|
|
loanAvailabilityAsset = asset;
|
|
|
|
|
});
|
|
|
|
|
@ -251,9 +251,9 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
label: "EDD",
|
|
|
|
|
hideShadow: true,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
// initialDate: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd ?? ""),
|
|
|
|
|
// initialDate: DateTime.tryParse(updateAssetModel?.edd ?? ""),
|
|
|
|
|
from: requestDetailProvider.currentWorkOrder?.data?.requestedDate,
|
|
|
|
|
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd ?? ""),
|
|
|
|
|
date: DateTime.tryParse(updateAssetModel?.edd ?? ""),
|
|
|
|
|
formatDateWithTime: true,
|
|
|
|
|
onDatePicker: (selectedDate) {
|
|
|
|
|
showTimePicker(
|
|
|
|
|
@ -269,13 +269,13 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
);
|
|
|
|
|
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd != null &&
|
|
|
|
|
// selectedDateTime.isBefore(DateTime.parse(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.edd!))) {
|
|
|
|
|
// if (updateAssetModel?.edd != null &&
|
|
|
|
|
// selectedDateTime.isBefore(DateTime.parse(updateAssetModel!.edd!))) {
|
|
|
|
|
// "Return To Service Date time must be greater then previous date".showToast;
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
setState(() {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd = selectedDateTime.toIso8601String();
|
|
|
|
|
updateAssetModel?.edd = selectedDateTime.toIso8601String();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -285,12 +285,12 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.callResponse,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse,
|
|
|
|
|
initialValue: updateAssetModel?.callResponse,
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
onChange: (value) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value;
|
|
|
|
|
updateAssetModel?.callResponse = value;
|
|
|
|
|
},
|
|
|
|
|
style: Theme.of(context).textTheme.titleMedium,
|
|
|
|
|
),
|
|
|
|
|
@ -299,12 +299,12 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: "Description of Finding",
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.descriptionOfFinding,
|
|
|
|
|
initialValue: updateAssetModel?.descriptionOfFinding,
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
onChange: (value) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.descriptionOfFinding = value;
|
|
|
|
|
updateAssetModel?.descriptionOfFinding = value;
|
|
|
|
|
},
|
|
|
|
|
style: Theme.of(context).textTheme.titleMedium,
|
|
|
|
|
),
|
|
|
|
|
@ -312,12 +312,12 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: "Action Taken",
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.actionTaken,
|
|
|
|
|
initialValue: updateAssetModel?.actionTaken,
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
onChange: (value) {
|
|
|
|
|
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.actionTaken = value;
|
|
|
|
|
updateAssetModel?.actionTaken = value;
|
|
|
|
|
},
|
|
|
|
|
style: Theme.of(context).textTheme.titleMedium,
|
|
|
|
|
),
|
|
|
|
|
@ -326,7 +326,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
).toShadowContainer(context).paddingAll(16),
|
|
|
|
|
).expanded,
|
|
|
|
|
] else ...[
|
|
|
|
|
assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!).toShadowContainer(context).paddingAll(16),
|
|
|
|
|
assetStatusWidget(context: context, workOrderData: updateAssetModel!).toShadowContainer(context).paddingAll(16),
|
|
|
|
|
],
|
|
|
|
|
Container(
|
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 16.toScreenHeight),
|
|
|
|
|
@ -337,13 +337,12 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
if (validateForm(requestDetailProvider: requestDetailProvider)) {
|
|
|
|
|
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
|
|
|
|
|
await requestDetailProvider.engineerUpdateWorkOrder().then((success){
|
|
|
|
|
await requestDetailProvider.engineerUpdateWorkOrder(updateAssetModel!).then((success) {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
if (success) {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -359,9 +358,9 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
|
|
|
|
|
if (!widget.isEdit) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus != null) {
|
|
|
|
|
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 1 || requestDetailProvider.engineerUpdateWorkOrderHelperModel!.equipmentStatus!.value == 2) {
|
|
|
|
|
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService == null) {
|
|
|
|
|
// if (updateAssetModel!.equipmentStatus != null) {
|
|
|
|
|
// if (updateAssetModel!.equipmentStatus!.value == 1 || updateAssetModel!.equipmentStatus!.value == 2) {
|
|
|
|
|
// if (updateAssetModel!.returnToService == null) {
|
|
|
|
|
// Fluttertoast.showToast(msg: "Return to service is required ", toastLength: Toast.LENGTH_LONG);
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
|