code improvements & fixes.

design_3.0_demo_module
Sikander Saleem 1 year ago
parent 01e0d054e6
commit 973c85418e

@ -44,6 +44,7 @@ class URLs {
static get engineerNeedVisitUrl=> '$_baseUrl/ServiceRequest/EngineerNeedVisit';
static get engineerUpdateNeedVisitUrl=> '$_baseUrl/ServiceRequest/EngineerUpdateNeedVisit';
static get engineerMarkAsFixUrl=> '$_baseUrl/ServiceRequest/EngineerMarkAsFix';
static get reOrderActivity=> '$_baseUrl/ServiceRequest/ReOrderActivity';
static get engineerConfirmArriveUrl=> '$_baseUrl/ServiceRequest/EngineerConfirmArrive';
static get engineerUpdateWorkOrderUrl=> '$_baseUrl/ServiceRequest/EngineerUpdateWorkOrder';
static get getWorkOrderByIdUrl=> '$_baseUrl/ServiceRequest/GetWorkOrderById';

@ -147,6 +147,7 @@ class RequestDetailProvider extends ChangeNotifier {
//create workOrder nurse .....
Future<int> createWorkOrder() async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.post(
URLs.createWorkOrderUrl,
@ -156,7 +157,6 @@ class RequestDetailProvider extends ChangeNotifier {
print('response of create request is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
notifyListeners();
}
isLoading = false;
notifyListeners();
@ -192,18 +192,13 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> engineerAcceptWorkOrder({required String id}) async {
Response response;
try {
final body = {
"workOrderId": id,
};
final body = {"workOrderId": id};
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerAcceptUrl, body: body);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
isLoading = false;
return response.statusCode;
}
isLoading = false;
notifyListeners();
@ -221,15 +216,11 @@ class RequestDetailProvider extends ChangeNotifier {
Response response;
try {
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerRejectUrl, body: engineerRejectHelperModel!.toJson());
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
print('engineer reject workOrder response is ${response.body}');
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
isLoading = false;
return response.statusCode;
}
isLoading = false;
notifyListeners();
@ -247,13 +238,11 @@ class RequestDetailProvider extends ChangeNotifier {
Response response;
try {
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerFixRemotlyUrl, body: fixRemotelyHelperModel!.toJson());
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
updateCurrentWorkOrder(WorkOrderDetail.fromJson(json.decode(response.body)));
notifyListeners();
isLoading = false;
return response.statusCode;
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
@ -271,14 +260,11 @@ class RequestDetailProvider extends ChangeNotifier {
Response response;
try {
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerNeedVisitUrl, body: needVisitHelperModel!.toJson());
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
isLoading = false;
return response.statusCode;
}
isLoading = false;
notifyListeners();
@ -296,16 +282,13 @@ class RequestDetailProvider extends ChangeNotifier {
Response response;
try {
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerUpdateNeedVisitUrl, body: needVisitHelperModel!.toJson());
stateCode = response.statusCode;
print('body i got is ${needVisitHelperModel?.toJson()}');
print('response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
isLoading = false;
return response.statusCode;
}
isLoading = false;
notifyListeners();
@ -322,16 +305,37 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> engineerMarkAsFixed({required int workOrderId, required String feedback}) async {
Response response;
try {
Map<String, dynamic> body = {'workOrderId': workOrderId, 'feedback': feedback};
isLoading = true;
notifyListeners();
Map<String, dynamic> body = {'workOrderId': workOrderId, 'feedback': feedback};
response = await ApiManager.instance.post(URLs.engineerMarkAsFixUrl, body: body);
stateCode = response.statusCode;
print('engineer mark as fixed response is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
notifyListeners();
isLoading = false;
return response.statusCode;
}
isLoading = false;
notifyListeners();
return response.statusCode;
} catch (e) {
log("engineer mark as fixed [error] : $e");
isLoading = false;
notifyListeners();
return -1;
}
}
Future<int> reOrderActivities({required int workOrderId, required List<Map<String, dynamic>> reOrderActivityDTOs}) async {
Response response;
try {
isLoading = true;
notifyListeners();
Map<String, dynamic> body = {'workOrderId': workOrderId, 'reOrderActivityDTOs': reOrderActivityDTOs};
response = await ApiManager.instance.post(URLs.reOrderActivity, body: body);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
@ -345,18 +349,16 @@ class RequestDetailProvider extends ChangeNotifier {
}
//engineer Confirm Arrive......
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, required String photoInfo, required String otp, String ?assetNo}) async {
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, required String photoInfo, required String otp, String? assetNo}) async {
Response response;
try {
Map<String, dynamic> body = {"workOrderId": workOrderId, "verificationTypeId": verificationTypeId, "photoInfo": photoInfo, "otp": otp, "assetNumber": assetNo};
isLoading = true;
notifyListeners();
response = await ApiManager.instance.post(URLs.engineerConfirmArriveUrl, body: body);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
print('response of Engineer confirm arrival ${response.body}');
notifyListeners();
isLoading = false;
return response.statusCode;
// print('response of Engineer confirm arrival ${response.body}');
}
isLoading = false;
notifyListeners();
@ -372,22 +374,18 @@ class RequestDetailProvider extends ChangeNotifier {
//assignEngineerToWorkOrder......
Future<CommonResponseModel> assignEngineerWorkOrder({required String workOrderId, required String engineerId}) async {
try {
final body = {
"workOrderId": workOrderId,
"assignedEngineerId": engineerId,
};
final body = {"workOrderId": workOrderId, "assignedEngineerId": engineerId};
isLoading = true;
notifyListeners();
final response = await ApiManager.instance.post(URLs.assignEngineerToWorkOrderUrl, body: body);
stateCode = response.statusCode;
CommonResponseModel commonResponseModel = CommonResponseModel();
if (response.statusCode >= 200 && response.statusCode < 300) {
CommonResponseModel commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
notifyListeners();
isLoading = false;
return commonResponseModel;
commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
return CommonResponseModel();
return commonResponseModel;
} catch (e) {
log("engineer accept [error] : $e");
isLoading = false;
@ -398,41 +396,37 @@ class RequestDetailProvider extends ChangeNotifier {
//engineerUpdateWorkOrder......
Future<void> engineerUpdateWorkOrder() async {
// try {
isLoading = true;
final response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson());
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
try {
isLoading = true;
notifyListeners();
final response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson());
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
} catch (e) {
log("engineer update workorder [error] : $e");
isLoading = false;
notifyListeners();
}
isLoading = false;
notifyListeners();
// }
// catch (e) {
// log("engineer update workorder [error] : $e");
// isLoading = false;
// notifyListeners();
// }
}
//Nurse confirm reopen
Future<CommonResponseModel> nurseReject() async {
try {
isLoading = true;
notifyListeners();
final response = await ApiManager.instance.post(URLs.nurseRejectUrl, body: nurseActionHelperModel!.toJson());
stateCode = response.statusCode;
CommonResponseModel commonResponseModel = CommonResponseModel();
if (response.statusCode >= 200 && response.statusCode < 300) {
CommonResponseModel commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
notifyListeners();
isLoading = false;
return commonResponseModel;
commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
return CommonResponseModel();
return commonResponseModel;
} catch (e) {
log("engineer accept [error] : $e");
isLoading = false;
@ -445,19 +439,17 @@ class RequestDetailProvider extends ChangeNotifier {
Future<CommonResponseModel> nurseConfirm() async {
try {
isLoading = true;
notifyListeners();
final response = await ApiManager.instance.post(URLs.nurseConfirmUrl, body: nurseActionHelperModel!.toJson());
print('response i got is ${response.body}');
stateCode = response.statusCode;
CommonResponseModel commonResponseModel = CommonResponseModel();
if (response.statusCode >= 200 && response.statusCode < 300) {
CommonResponseModel commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
notifyListeners();
isLoading = false;
return commonResponseModel;
commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
}
isLoading = false;
notifyListeners();
return CommonResponseModel();
return commonResponseModel;
} catch (e) {
log("engineer accept [error] : $e");
isLoading = false;
@ -468,16 +460,13 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> updateActivitySparePart() async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.post(
URLs.updateActivitySparePartUrl,
body: sparePartHelperModel!.toJson(),
);
final response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson());
stateCode = response.statusCode;
print('update response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
notifyListeners();
}
isLoading = false;
notifyListeners();
@ -491,16 +480,13 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> updateActivityMaintenance() async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.put(
URLs.updateActivityMaintenanceUrl,
body: activityMaintenanceHelperModel!.toJson(),
);
final response = await ApiManager.instance.put(URLs.updateActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson());
stateCode = response.statusCode;
print('update response i got is ${response.statusCode}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// request.engineerName = employee.name;
notifyListeners();
}
isLoading = false;
notifyListeners();
@ -533,21 +519,16 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> deleteActivitySparePart({required int id, required int workOrderId}) async {
isLoading = true;
var body = {
'id': id,
'workOrderId': workOrderId,
};
notifyListeners();
var body = {'id': id, 'workOrderId': workOrderId};
try {
final response = await ApiManager.instance.post(
URLs.deleteActivitySparePartUrl,
body: body,
);
final response = await ApiManager.instance.post(URLs.deleteActivitySparePartUrl, body: body);
stateCode = response.statusCode;
print('response of delete activity spare part is ${response.statusCode}');
if (response.statusCode >= 200 && response.statusCode < 300) {
//map to the model...
notifyListeners();
// notifyListeners();
}
isLoading = false;
notifyListeners();
@ -561,22 +542,17 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> deleteActivityMaintenance({required int id, required int workOrderId}) async {
isLoading = true;
var body = {
'id': id,
'workOrderId': workOrderId,
};
notifyListeners();
var body = {'id': id, 'workOrderId': workOrderId};
try {
//TODO replace with delete model...
final response = await ApiManager.instance.delete(
URLs.deleteActivityMaintenanceUrl,
body: body,
);
stateCode = response.statusCode;
print('response of delete activity spare part is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
//map to the model...
notifyListeners();
}
isLoading = false;
notifyListeners();
@ -590,6 +566,7 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> createActivitySparePart() async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.post(
URLs.createActivitySparePartUrl,
@ -599,8 +576,8 @@ class RequestDetailProvider extends ChangeNotifier {
print('add sparepart activity response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
// updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
// // updateCurrentWorkOrder(currentWorkOrder);
// notifyListeners();
}
isLoading = false;
notifyListeners();
@ -614,43 +591,40 @@ class RequestDetailProvider extends ChangeNotifier {
Future<int> createActivityMaintenanceRequest() async {
isLoading = true;
// try {
final response = await ApiManager.instance.post(
URLs.createActivityMaintenanceUrl,
body: activityMaintenanceHelperModel!.toJson(),
);
stateCode = response.statusCode;
print('add maintenance activity response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
// updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
try {
final response = await ApiManager.instance.post(
URLs.createActivityMaintenanceUrl,
body: activityMaintenanceHelperModel!.toJson(),
);
stateCode = response.statusCode;
print('add maintenance activity response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
// updateCurrentWorkOrder(currentWorkOrder);
}
isLoading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
isLoading = false;
notifyListeners();
return -1;
}
isLoading = false;
notifyListeners();
return response.statusCode;
// } catch (error) {
// isLoading = false;
// notifyListeners();
// return -1;
// }
}
//create asset retired request..
Future<int> createActivityAssetToBeRetired() async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.post(
URLs.createActivityAssetToBeRetiredUrl,
body: assetRetiredHelperModel!.toJson(),
);
stateCode = response.statusCode;
print('response of asset retired is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
updateCurrentWorkOrder(currentWorkOrder);
notifyListeners();
}
isLoading = false;
notifyListeners();
@ -687,6 +661,7 @@ class RequestDetailProvider extends ChangeNotifier {
//send otp..
Future<int?> sendOtp({required int workOrderId}) async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.postWithOutBody(
URLs.sendOtpUrl + "$workOrderId",
@ -695,9 +670,7 @@ class RequestDetailProvider extends ChangeNotifier {
stateCode = response.statusCode;
print('response i got is ${response.body}');
if (response.statusCode >= 200 && response.statusCode < 300) {
notifyListeners();
}
if (response.statusCode >= 200 && response.statusCode < 300) {}
isLoading = false;
notifyListeners();
return response.statusCode;
@ -711,15 +684,12 @@ class RequestDetailProvider extends ChangeNotifier {
//verify otp..
Future<int> verifyOtp({required int workOrderId, required String otpCode}) async {
isLoading = true;
notifyListeners();
try {
final response = await ApiManager.instance.postWithOutBody(
URLs.verifyOtpUrl + '$workOrderId&$otpCode',
);
print('response i got is ${response.body}');
final response = await ApiManager.instance.postWithOutBody(URLs.verifyOtpUrl + '$workOrderId&$otpCode');
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
notifyListeners();
}
if (response.statusCode >= 200 && response.statusCode < 300) {}
isLoading = false;
notifyListeners();
return response.statusCode;

@ -8,6 +8,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/enums/work_order_next_step.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/new_models/work_order_detail_model.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/providers/service_request_providers/reject_reason_provider.dart';
@ -29,9 +30,12 @@ class FooterActionButton {
);
}
static Widget requestDetailsFooterWidget({required WorkOrderNextStepEnum workOrderNextStepStatus, required BuildContext context, required UserProvider userProvider}) {
static Widget requestDetailsFooterWidget(
{required WorkOrderNextStepEnum workOrderNextStepStatus, List<Activities> activities = const [], required BuildContext context, required UserProvider userProvider}) {
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context, listen: false);
bool showMarkAsFixedButton = activities.isEmpty ? true : activities.every((object) => object.activityStatus!.name!.toLowerCase() == "completed");
if (userProvider.user?.type == UsersTypes.engineer) {
switch (workOrderNextStepStatus) {
case WorkOrderNextStepEnum.onlyView:
@ -65,8 +69,8 @@ class FooterActionButton {
onPressed: () async {
//TODO need to discuss getData is not called by default...
if (context.mounted) {
RejectReasonProvider rejectionReasonProvider = Provider.of<RejectReasonProvider>(context, listen: false);
rejectionReasonProvider.reset();
RejectReasonProvider rejectionReasonProvider = Provider.of<RejectReasonProvider>(context, listen: false);
rejectionReasonProvider.reset();
//rejectionReasonProvider.getDate();
}
ServiceRequestBottomSheet.rejectRequestBottomSheet(context: context);
@ -147,15 +151,17 @@ class FooterActionButton {
Navigator.push(context, MaterialPageRoute(builder: (context) => const ActivitiesListView()));
},
),
8.height,
AppFilledButton(
label: context.translation.markAsFixed,
// maxWidth: true,
buttonColor: AppColor.green70,
onPressed: () async {
ServiceRequestBottomSheet.feedBackBottomSheet(context: context);
},
),
if (showMarkAsFixedButton) ...[
8.height,
AppFilledButton(
label: context.translation.markAsFixed,
// maxWidth: true,
buttonColor: AppColor.green70,
onPressed: () async {
ServiceRequestBottomSheet.feedBackBottomSheet(context: context);
},
),
]
],
));
case WorkOrderNextStepEnum.endWorkFlow:

@ -54,15 +54,15 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
List<Activities> reOrderActivities = [];
List<Activities> activities = [];
@override
Widget build(BuildContext context) {
//TODO add the check for type of activity after completing maintenance activity flow.
List<Activities> activities = [];
UserProvider userProvider = Provider.of<UserProvider>(context);
return Scaffold(
appBar: DefaultAppBar(
title: context.translation.activities,
actions: [if (!showReorderView) IconButton(onPressed: () => setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))],
actions: [if (!showReorderView) IconButton(onPressed: () => activities.isEmpty ? null : setState(() => showReorderView = true), icon: const Icon(Icons.reorder_rounded))],
),
//backgroundColor: const Color(0xfff8f9fb),
body: Consumer<RequestDetailProvider>(builder: (context, RequestDetailProvider requestDetailProvider, child) {
@ -126,8 +126,12 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
if (showReorderView) {
requestDetailProvider.currentWorkOrder!.data!.activities = reOrderActivities;
reOrderActivities = [];
List<Map<String, dynamic>> data = [];
for (int i = 0; i < reOrderActivities.length; i++) {
data.add({"id": reOrderActivities[i].id, "orderNo": i});
}
requestDetailProvider.reOrderActivities(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, reOrderActivityDTOs: data);
showReorderView = false;
setState(() {});
return;
}
ServiceRequestBottomSheet.activityTypeBottomSheet(context: context);

@ -1,10 +1,9 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/app_strings/app_asset.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
@ -15,17 +14,14 @@ import 'package:test_sa/models/helper_data_models/maintenance_request/activity_m
import 'package:test_sa/models/helper_data_models/spare_part/activity_spare_part_model.dart';
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
import 'package:test_sa/providers/service_request_providers/first_action_provider.dart';
import 'package:test_sa/providers/service_request_providers/reject_reason_provider.dart';
import 'package:test_sa/providers/work_order/reason_provider.dart';
import 'package:test_sa/service_request_latest/request_detail_provider.dart';
import 'package:test_sa/service_request_latest/views/forms/maintenance_request/maintenance_request_main.dart';
import 'package:test_sa/service_request_latest/views/forms/spare_part/spare_part_request.dart';
import 'package:test_sa/service_request_latest/views/components/verify_arrival_view.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/e_signature/e_signature.dart';
import '../../../../controllers/providers/api/service_requests_provider.dart';
import '../../../../new_views/app_style/app_color.dart';
import '../../../../new_views/common_widgets/app_filled_button.dart';
@ -216,13 +212,11 @@ class ServiceRequestBottomSheet {
buttonColor: AppColor.green70,
loading: false,
onPressed: () async {
requestDetailProvider.fixRemotelyHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder?.data?.requestId;
requestDetailProvider.engineerFixRemotely();
requestDetailProvider.engineerFixRemotely();
//TODO context issue to show message..
Navigator.pop(context);
// const SizedBox().flushBar(context: context, title: '', message: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm);
// const SizedBox().flushBar(context: context, title: '', message: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm);
},
),
),
@ -441,7 +435,7 @@ class ServiceRequestBottomSheet {
await requestDetailProvider.engineerUpdateNeedVisit();
} else {
requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId;
requestDetailProvider.engineerNeedVisit();
requestDetailProvider.engineerNeedVisit();
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
}
Navigator.pop(context);
@ -468,7 +462,8 @@ class ServiceRequestBottomSheet {
SingleItemDropDownMenu<Lookup, RejectReasonProvider>(
context: context,
title: context.translation.reason,
backgroundColor: AppColor.neutral100,showShadow: false,
backgroundColor: AppColor.neutral100,
showShadow: false,
initialValue: requestDetailProvider.engineerRejectHelperModel?.rejectionReason,
onSelect: (value) {
if (value != null) {
@ -482,7 +477,8 @@ class ServiceRequestBottomSheet {
backgroundColor: AppColor.neutral100,
labelText: context.translation.comments,
textInputType: TextInputType.multiline,
alignLabelWithHint: true,showShadow: false,
alignLabelWithHint: true,
showShadow: false,
labelStyle: AppTextStyles.textFieldLabelStyle,
onChange: (text) {
requestDetailProvider.engineerRejectHelperModel?.feedback = text;
@ -712,8 +708,9 @@ class ServiceRequestBottomSheet {
static Future addAnotherSpareRequestBottomSheet({required BuildContext context}) {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
context: context,
childWidget: Consumer<ServiceRequestsProvider>(
builder: (context, serviceRequestProvider, child) {
return Column(
mainAxisSize: MainAxisSize.min,
children: [
@ -721,7 +718,7 @@ class ServiceRequestBottomSheet {
8.height,
Align(
alignment: AlignmentDirectional.centerStart,
child: context.translation.doYouWantToCreateAnotherSparePartRequest.heading6(context),
child: context.translation.doYouWantToCreateAnotherSparePartRequest.bottomSheetHeadingTextStyle(context),
),
41.height,
Row(
@ -750,10 +747,13 @@ class ServiceRequestBottomSheet {
},
).expanded,
],
)
),
16.height,
],
);
}));
},
),
);
}
static Future feedBackBottomSheet({required BuildContext context}) {

@ -50,7 +50,7 @@ class WorkOrderDetailView extends StatelessWidget {
),
).expanded,
FooterActionButton.requestDetailsFooterWidget(
workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!, userProvider: _userProvider, context: context),
workOrderNextStepStatus: requestProvider.currentWorkOrder!.data!.nextStep!.workOrderNextStepEnum!,activities:requestProvider.currentWorkOrder!.data?.activities??[], userProvider: _userProvider, context: context),
],
),
// const TimerWidget(),

@ -54,18 +54,13 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
super.initState();
}
Future<void> getInitialData() async {
_isLoading = true;
Future<void> getFaultDescription() async {
Provider.of<FaultDescriptionProvider>(context, listen: false).getFaultDescriptionList(assetId: _requestDetailProvider?.currentWorkOrder?.data?.asset?.id).then((List<FaultDescription>? data) {
if (data?.isNotEmpty ?? false) {
_faults = data!;
setState(() {});
}
});
//TODO no need to create seprate models just write a method in workorder model...
_isLoading = false;
}
@override
@ -93,7 +88,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
serviceType: currentWorkOrderData.serviceType,
);
_requestDetailProvider?.updateEngineerUpdateWorkOrderHelperModel(_requestDetailProvider?.engineerUpdateWorkOrderHelperModel);
getInitialData();
getFaultDescription();
}
return Scaffold(

Loading…
Cancel
Save