update asset details improvement.

design_3.0_TM_Module
Sikander Saleem 3 months ago
parent 4e665d1959
commit 4fe2943a5f

@ -612,11 +612,11 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
} }
//engineerUpdateWorkOrder...... //engineerUpdateWorkOrder......
Future<bool> engineerUpdateWorkOrder() async { Future<bool> engineerUpdateWorkOrder(EngineerUpdateWorkOrderHelperModel updateAssetModel) async {
isLoading = true; isLoading = true;
Response response; Response response;
try { try {
response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson()); response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: updateAssetModel.toJson());
stateCode = response.statusCode; stateCode = response.statusCode;
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();

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

Loading…
Cancel
Save