form fixes

design_3.0_dark_mode
WaseemAbbasi22 3 months ago
parent 456432050d
commit 32627bbda1

@ -222,7 +222,7 @@ class AllRequestsProvider extends ChangeNotifier {
} }
} }
Future<int> updateRecurrentWo({required int status}) async { Future<bool> updateRecurrentWo({required int status}) async {
isLoading = true; isLoading = true;
Response response; Response response;
try { try {
@ -230,12 +230,15 @@ class AllRequestsProvider extends ChangeNotifier {
stateCode = response.statusCode; stateCode = response.statusCode;
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1; stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }

@ -47,14 +47,11 @@ class GasRefillProvider extends ChangeNotifier {
// failed _loading = false // failed _loading = false
bool isLoading = false; bool isLoading = false;
Future<GasRefillModel?> getGasRefillObjectById(num id) async { Future<GasRefillModel?> getGasRefillObjectById(num id) async {
try { try {
Response response = await ApiManager.instance.get(URLs.getGasRefillById + "?gasRefillId=$id"); Response response = await ApiManager.instance.get(URLs.getGasRefillById + "?gasRefillId=$id");
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
return GasRefillModel.fromJson(json.decode(response.body)["data"]); return GasRefillModel.fromJson(json.decode(response.body)["data"]);
} else { } else {
return null; return null;
@ -64,7 +61,6 @@ class GasRefillProvider extends ChangeNotifier {
} }
} }
/// return -2 if request in progress /// return -2 if request in progress
/// return -1 if error happen when sending request /// return -1 if error happen when sending request
/// return state code if request complete may be 200, 404 or 403 /// return state code if request complete may be 200, 404 or 403
@ -139,6 +135,7 @@ class GasRefillProvider extends ChangeNotifier {
print(error); print(error);
} }
} }
Future<void> updateGasRefillRequestByNurse({ Future<void> updateGasRefillRequestByNurse({
required BuildContext context, required BuildContext context,
required GasRefillModel model, required GasRefillModel model,
@ -167,7 +164,7 @@ class GasRefillProvider extends ChangeNotifier {
} }
} }
Future<int> updateGasRefill({required int status, required GasRefillModel model}) async { Future<bool> updateGasRefill({required int status, required GasRefillModel model}) async {
isLoading = true; isLoading = true;
Response response; Response response;
try { try {
@ -175,12 +172,15 @@ class GasRefillProvider extends ChangeNotifier {
stateCode = response.statusCode; stateCode = response.statusCode;
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1; stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }

@ -152,7 +152,6 @@ class GasRefillModel {
floor = json['floor'] != null ? Floor.fromJson(json['floor']) : null; floor = json['floor'] != null ? Floor.fromJson(json['floor']) : null;
department = json['department'] != null ? Department.fromJson(json['department']) : null; department = json['department'] != null ? Department.fromJson(json['department']) : null;
mapSite = json['site'] != null ? MappedSite.fromJson(json['site']) : null; mapSite = json['site'] != null ? MappedSite.fromJson(json['site']) : null;
print('site i got is ::${mapSite?.toJson()}');
mappedBuilding = mapSite?.buildings?.firstWhere((element) => element.identifier == building?.identifier, orElse: () => MappedBuilding()); mappedBuilding = mapSite?.buildings?.firstWhere((element) => element.identifier == building?.identifier, orElse: () => MappedBuilding());
mappedFloor = mappedBuilding?.floors?.firstWhere((element) => element.identifier == floor?.identifier, orElse: () => MappedFloor()); mappedFloor = mappedBuilding?.floors?.firstWhere((element) => element.identifier == floor?.identifier, orElse: () => MappedFloor());
mappedDepartment = mappedFloor?.departments?.firstWhere((element) => element.identifier == department?.identifier, orElse: () => MappedDepartment()); mappedDepartment = mappedFloor?.departments?.firstWhere((element) => element.identifier == department?.identifier, orElse: () => MappedDepartment());

@ -611,40 +611,47 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
} }
//engineerUpdateWorkOrder...... //engineerUpdateWorkOrder......
Future<void> engineerUpdateWorkOrder() async { Future<bool> engineerUpdateWorkOrder() async {
try {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
final response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson()); try {
response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson());
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
} catch (e) { if (stateCode == 200) {
log("engineer update workorder [error] : $e"); currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
notifyListeners();
return true;
}
return false;
} catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return false;
} }
} }
//engineerUpdateWorkOrder...... Future<bool> engineerUpdateCost() async {
Future<void> engineerUpdateCost() async {
try {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
final response = await ApiManager.instance.post(URLs.engineerUpdateCost, body: workOrderCostModel!.toJson()); try {
response = await ApiManager.instance.post(URLs.engineerUpdateCost, body: workOrderCostModel!.toJson());
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
} catch (e) { if (stateCode == 200) {
log("engineer update workorder [error] : $e"); currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
notifyListeners();
return true;
}
return false;
} catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return false;
} }
} }
@ -737,42 +744,43 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
} }
} }
Future<int> updateActivitySparePart() async { Future<bool> updateActivitySparePart() async {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
try { try {
final response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson()); response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson());
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }
Future<int> updateActivityMaintenance() async { Future<bool> updateActivityMaintenance() async {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
try { try {
final response = await ApiManager.instance.put(URLs.updateActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson()); response = await ApiManager.instance.put(URLs.updateActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson());
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }
@ -867,50 +875,49 @@ class ServiceRequestDetailProvider extends ChangeNotifier {
} }
} }
Future<int> createActivitySparePart() async { Future<bool> createActivitySparePart() async {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
try { try {
final response = await ApiManager.instance.post( response = await ApiManager.instance.post(
URLs.createActivitySparePartUrl, URLs.createActivitySparePartUrl,
body: sparePartHelperModel!.toJson(), body: sparePartHelperModel!.toJson(),
); );
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
// // updateCurrentWorkOrder(currentWorkOrder);
// notifyListeners();
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }
Future<int> createActivityMaintenanceRequest() async { Future<bool> createActivityMaintenanceRequest() async {
isLoading = true; isLoading = true;
notifyListeners(); Response response;
try { try {
final response = await ApiManager.instance.post( response = await ApiManager.instance.post(
URLs.createActivityMaintenanceUrl, URLs.createActivityMaintenanceUrl,
body: activityMaintenanceHelperModel!.toJson(), body: activityMaintenanceHelperModel!.toJson(),
); );
stateCode = response.statusCode; stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
// currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body));
// updateCurrentWorkOrder(currentWorkOrder);
}
isLoading = false; isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
isLoading = false; isLoading = false;
stateCode = -1;
notifyListeners(); notifyListeners();
return -1; return false;
} }
} }

@ -132,7 +132,7 @@ class FooterActionButton {
maxWidth: true, maxWidth: true,
buttonColor: AppColor.green70, buttonColor: AppColor.green70,
onPressed: () async { onPressed: () async {
requestDetailProvider.engineerAcceptWorkOrder(id: requestDetailProvider.currentWorkOrder!.data!.requestId.toString()).whenComplete(() {}); requestDetailProvider.engineerAcceptWorkOrder(id: requestDetailProvider.currentWorkOrder!.data!.requestId.toString());
}, },
).expanded, ).expanded,
], ],

@ -354,8 +354,10 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
], ],
] else ...[ ] else ...[
8.height, 8.height,
if (_attachments.isNotEmpty) ...[
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
FilesList(images: _attachments.map((toElement) => URLs.getFileUrl(toElement.name!)!).toList()), FilesList(images: _attachments.map((toElement) => URLs.getFileUrl(toElement.name!)!).toList()),
],
//handle nurse case.. //handle nurse case..
], ],

@ -283,10 +283,14 @@ 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(); await requestDetailProvider.engineerUpdateWorkOrder().then((success){
Navigator.pop(context); Navigator.pop(context);
if(success){
Navigator.pop(context); Navigator.pop(context);
} }
});
}
}, },
), ),
), ),

@ -164,10 +164,13 @@ class _CostDetailFormScreenState extends State<CostDetailFormScreen> with Ticker
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.engineerUpdateCost(); await requestDetailProvider.engineerUpdateCost().then((success) {
Navigator.pop(context); Navigator.pop(context);
if (success) {
Navigator.pop(context); Navigator.pop(context);
} }
});
}
}, },
), ),
), ),

@ -148,19 +148,23 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
); );
}); });
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
int status = -1;
if (requestDetailProvider.activityMaintenanceHelperModel?.id == 0) { if (requestDetailProvider.activityMaintenanceHelperModel?.id == 0) {
status = await requestDetailProvider.createActivityMaintenanceRequest(); await requestDetailProvider.createActivityMaintenanceRequest().then((success) {
} else {
status = await requestDetailProvider.updateActivityMaintenance();
}
if (status == 200) {
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);
Navigator.pop(context); Navigator.pop(context);
if (success) {
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);
Navigator.pop(context); Navigator.pop(context);
}
});
} else { } else {
await requestDetailProvider.updateActivityMaintenance().then((success) {
Navigator.pop(context);
if (success) {
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);
Navigator.pop(context); Navigator.pop(context);
} }
});
}
} }
} }

@ -309,40 +309,54 @@ class _SparePartRequestState extends State<SparePartRequest> with TickerProvider
child: AppFilledButton( child: AppFilledButton(
label: _requestDetailProvider?.sparePartHelperModel?.id == 0 ? context.translation.addSparePartActivity : context.translation.updateSparePartActivity, label: _requestDetailProvider?.sparePartHelperModel?.id == 0 ? context.translation.addSparePartActivity : context.translation.updateSparePartActivity,
buttonColor: AppColor.green70, buttonColor: AppColor.green70,
onPressed: () async { onPressed: () {
_onSubmit(requestDetailProvider: requestDetailProvider);
},
)),
],
),
));
}),
);
}
_onSubmit({required ServiceRequestDetailProvider requestDetailProvider}) async {
requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear(); requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear();
for (var pickerObject in _files) { for (var pickerObject in _files) {
String fileData = String fileData = _isLocalUrl(pickerObject.file.path) ? "${pickerObject.file.path.split("/").last}|${base64Encode(File(pickerObject.file.path).readAsBytesSync())}" : pickerObject.file.path;
_isLocalUrl(pickerObject.file.path) ? ("${pickerObject.file.path.split("/").last}|${base64Encode(File(pickerObject.file.path).readAsBytesSync())}") : pickerObject.file.path; requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add(
requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add(SparePartAttachments(id: pickerObject.id, name: fileData)); SparePartAttachments(id: pickerObject.id, name: fileData),
);
} }
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
int status = -1; // Show loading dialog
showDialog(
context: context,
barrierDismissible: false,
builder: (context) => const AppLazyLoading(),
);
bool success = false;
if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { if (_requestDetailProvider?.sparePartHelperModel?.id == 0) {
status = await requestDetailProvider.createActivitySparePart(); success = await requestDetailProvider.createActivitySparePart();
} else { } else {
status = await requestDetailProvider.updateActivitySparePart(); success = await requestDetailProvider.updateActivitySparePart();
} }
if (status == 200) { if (mounted) Navigator.pop(context);
await requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); if (success) {
//this is for hide the dialoge... requestDetailProvider.getWorkOrderById(
Navigator.pop(context); id: requestDetailProvider.currentWorkOrder!.data!.requestId!,
Navigator.pop(context); );
//show this only for add form.. if (mounted) Navigator.pop(context);
if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { if (_requestDetailProvider?.sparePartHelperModel?.id == 0) {
ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context); ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context);
SizedBox().flushBar(context: context, title: context.translation.sparePartActivitySuccess, message: ''); const SizedBox().flushBar(
context: context,
title: context.translation.sparePartActivitySuccess,
message: '',
);
} }
} else {
Navigator.pop(context);
} }
},
)),
],
),
));
}),
);
} }
} }

@ -144,7 +144,9 @@ void _updateTask({required BuildContext context, required int status}) async {
.updateRecurrentWo( .updateRecurrentWo(
status: status, status: status,
) )
.whenComplete(() { .then((success) {
Navigator.pop(context);
if (success) {
if (status == 1) { if (status == 1) {
// when click complete then this request remove from the list and status changes to closed.. // when click complete then this request remove from the list and status changes to closed..
allRequestsProvider.reset(); allRequestsProvider.reset();
@ -152,7 +154,7 @@ void _updateTask({required BuildContext context, required int status}) async {
} }
allRequestsProvider.recurrentWoData?.recurrentWoTimerModel = null; allRequestsProvider.recurrentWoData?.recurrentWoTimerModel = null;
Navigator.pop(context); Navigator.pop(context);
Navigator.pop(context); }
}); });
} }
} }

@ -218,6 +218,23 @@ class _UpdateTaskRequestState extends State<UpdateTaskRequest> {
); );
}); });
// TODO need to test this when task is enabled ...
// await taskRequestProvider.updateTaskByEngineer().then((success) {
// Navigator.pop(context);
// if (success) {
// if (status == 1) {
// AllRequestsProvider allRequestsProvider = Provider.of<AllRequestsProvider>(context, listen: false);
// allRequestsProvider.reset();
// allRequestsProvider.getAllRequests(context, typeTransaction: 6);
// } else {
// taskRequestProvider.getTaskById(id: widget.taskId, showLoading: false);
//
// }
// Navigator.pop(context);
// Navigator.pop(context);
// }
// });
await taskRequestProvider.updateTaskByEngineer().whenComplete(() async { await taskRequestProvider.updateTaskByEngineer().whenComplete(() async {
if (taskRequestProvider.stateCode == 200) { if (taskRequestProvider.stateCode == 200) {
if (status == 1) { if (status == 1) {

@ -116,15 +116,23 @@ class TaskRequestProvider extends ChangeNotifier {
} }
} }
Future<int> updateTaskByEngineer() async { Future<bool> updateTaskByEngineer() async {
notifyListeners(); isLoading = true;
Response response;
try { try {
final response = await ApiManager.instance.post(URLs.updateTaskByEngineerUrl, body: taskRequestModel!.toEngineerUpdateJson()); response = await ApiManager.instance.post(URLs.updateTaskByEngineerUrl, body: taskRequestModel!.toEngineerUpdateJson());
stateCode = response.statusCode; stateCode = response.statusCode;
isLoading = false;
notifyListeners(); notifyListeners();
return response.statusCode; if (stateCode == 200) {
return true;
}
return false;
} catch (error) { } catch (error) {
return -1; isLoading = false;
stateCode = -1;
notifyListeners();
return false;
} }
} }

@ -156,7 +156,10 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
_formModel.gasRefillAttachments?.add(GasRefillAttachments( _formModel.gasRefillAttachments?.add(GasRefillAttachments(
id: 0, gasRefillId: _formModel.id ?? 0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path)); id: 0, gasRefillId: _formModel.id ?? 0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path));
} }
await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).whenComplete(() {
await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).then((success) {
Navigator.pop(context);
if (success) {
if (status == 1) { if (status == 1) {
AllRequestsProvider allRequestsProvider = Provider.of<AllRequestsProvider>(context, listen: false); AllRequestsProvider allRequestsProvider = Provider.of<AllRequestsProvider>(context, listen: false);
// when click complete then this request remove from the list and status changes to closed.. // when click complete then this request remove from the list and status changes to closed..
@ -164,7 +167,7 @@ class _UpdateGasRefillRequestState extends State<UpdateGasRefillRequest> {
allRequestsProvider.getAllRequests(context, typeTransaction: 2); allRequestsProvider.getAllRequests(context, typeTransaction: 2);
} }
Navigator.pop(context); Navigator.pop(context);
Navigator.pop(context); }
}); });
} }

Loading…
Cancel
Save