fix remotely working hours auto assign fixes

design_3.0_latest
muhammad.abbasi 1 year ago
parent 5d204687cc
commit b852b29a09

@ -7,6 +7,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
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/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';
@ -95,6 +96,7 @@ class FooterActionButton {
maxWidth: true,
buttonColor: AppColor.neutral50,
onPressed: () async {
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
ServiceRequestBottomSheet.initialVisitBottomSheet(context: context);
},
).expanded,

@ -32,7 +32,7 @@ import '../../../../new_views/common_widgets/app_filled_button.dart';
import '../../../../new_views/common_widgets/app_text_form_field.dart';
class ServiceRequestBottomSheet {
static buildBottomSheetParent({required BuildContext context, required Widget childWidget,bool ?isFromFixRemotely}) {
static buildBottomSheetParent({required BuildContext context, required Widget childWidget, bool? isFromFixRemotely}) {
return showModalBottomSheet(
context: context,
useSafeArea: true,
@ -41,9 +41,9 @@ class ServiceRequestBottomSheet {
builder: (context) => SingleChildScrollView(
child: childWidget,
).bottomSheetContainer(context),
).then((value){
if(isFromFixRemotely!=null&&isFromFixRemotely){
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context,listen: false);
).then((value) {
if (isFromFixRemotely != null && isFromFixRemotely) {
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context, listen: false);
requestDetailProvider.fixRemotelyHelperModel = FixRemotelyHelperModel();
}
});
@ -69,6 +69,7 @@ class ServiceRequestBottomSheet {
requestDetailProvider.fixRemotelyHelperModel?.workingHour = hours;
}
}
return buildBottomSheetParent(
context: context,
isFromFixRemotely: true,
@ -141,7 +142,7 @@ class ServiceRequestBottomSheet {
selectedTime.minute,
);
if (requestDetailProvider.fixRemotelyHelperModel!.startDate!=null&&selectedDateTime.isBefore(requestDetailProvider.fixRemotelyHelperModel!.startDate!)) {
if (requestDetailProvider.fixRemotelyHelperModel!.startDate != null && selectedDateTime.isBefore(requestDetailProvider.fixRemotelyHelperModel!.startDate!)) {
"End Date time must be greater then start date".showToast;
return;
}
@ -166,13 +167,12 @@ class ServiceRequestBottomSheet {
backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100,
alignLabelWithHint: true,
onChange: (text) {
if(text.isNotEmpty){
if (text.isNotEmpty) {
requestDetailProvider.fixRemotelyHelperModel?.workingHour = int.parse(text);
}
},
onSaved: (text) {
if(text.isNotEmpty){
if (text.isNotEmpty) {
requestDetailProvider.fixRemotelyHelperModel?.workingHour = int.parse(text);
}
},
@ -187,11 +187,9 @@ class ServiceRequestBottomSheet {
alignLabelWithHint: true,
onChange: (text) {
requestDetailProvider.fixRemotelyHelperModel?.comment = text;
},
onSaved: (text) {
requestDetailProvider.fixRemotelyHelperModel?.comment = text;
},
),
16.height,
@ -218,12 +216,12 @@ class ServiceRequestBottomSheet {
buttonColor: AppColor.green70,
loading: false,
onPressed: () async {
//TODO after confirm from backend call the api and reset the model.
requestDetailProvider.fixRemotelyHelperModel?.workOrderId= requestDetailProvider.currentWorkOrder?.data?.requestId;
await requestDetailProvider.engineerFixRemotely();
requestDetailProvider.fixRemotelyHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder?.data?.requestId;
requestDetailProvider.engineerFixRemotely();
//TODO context issue to show message..
// const SizedBox().flushBar(context: context, title: '', message: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm);
Navigator.pop(context);
// const SizedBox().flushBar(context: context, title: '', message: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm);
},
),
@ -372,7 +370,7 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<RequestDetailProvider>(builder: (context, requestDetailProvider, child) {
if(requestDetailProvider.needVisitHelperModel?.comment!=null){
if (requestDetailProvider.needVisitHelperModel?.comment != null) {
_commentController.text = requestDetailProvider.needVisitHelperModel!.comment!;
}
return Column(
@ -435,16 +433,13 @@ class ServiceRequestBottomSheet {
loading: false,
onPressed: () async {
if (requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) {
requestDetailProvider.updateNeedVisitHelperModel(
NeedVisitHelperModel(
requestDetailProvider.updateNeedVisitHelperModel(NeedVisitHelperModel(
workOrderId: requestDetailProvider.needVisitHelperModel?.workOrderId,
visitDate: requestDetailProvider.needVisitHelperModel?.visitDate,
comment: requestDetailProvider.needVisitHelperModel?.comment,
)
);
));
await requestDetailProvider.engineerUpdateNeedVisit();
}
else {
} else {
requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId;
await requestDetailProvider.engineerNeedVisit();
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
@ -462,7 +457,6 @@ class ServiceRequestBottomSheet {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<RequestDetailProvider>(builder: (context, requestDetailProvider, child) {
return Column(
children: [
const SizedBox().indicatorWidget(),
@ -574,14 +568,14 @@ class ServiceRequestBottomSheet {
void onItemTap({required int index, required BuildContext context}) {
switch (index) {
case 0:
Provider.of<RequestDetailProvider>(context,listen: false).sparePartHelperModel = SparePartHelperModel();
Provider.of<RequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const SparePartRequest()),
);
break;
case 1:
RequestDetailProvider requestDetailProvider= Provider.of<RequestDetailProvider>(context,listen: false);
RequestDetailProvider requestDetailProvider = Provider.of<RequestDetailProvider>(context, listen: false);
requestDetailProvider.activityMaintenanceHelperModel = ActivityMaintenanceHelperModel(
workOrderId: requestDetailProvider.currentWorkOrder?.data?.requestId,
id: 0,
@ -628,6 +622,7 @@ class ServiceRequestBottomSheet {
);
}));
}
static Future actionBottomSheet({required BuildContext context, required String title, String? button1Text, String? button2Text, VoidCallback? button1Tap, VoidCallback? button2Tap}) {
return buildBottomSheetParent(
context: context,
@ -714,7 +709,8 @@ class ServiceRequestBottomSheet {
).bottomSheetContainer(context);
}));
}
static Future addAnotherSpareRequestBottomSheet({required BuildContext context}) {
static Future addAnotherSpareRequestBottomSheet({required BuildContext context}) {
return buildBottomSheetParent(
context: context,
childWidget: Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
@ -745,8 +741,8 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
label: context.translation.yes,
buttonColor: AppColor.primary10,
loading: false,
onPressed: (){
Provider.of<RequestDetailProvider>(context,listen: false).sparePartHelperModel = SparePartHelperModel();
onPressed: () {
Provider.of<RequestDetailProvider>(context, listen: false).sparePartHelperModel = SparePartHelperModel();
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const SparePartRequest()),
@ -758,7 +754,6 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
],
);
}));
}
static Future feedBackBottomSheet({required BuildContext context}) {
@ -797,7 +792,7 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
loading: false,
onPressed: () {
Navigator.pop(context);
requestDetailProvider.engineerMarkAsFixed(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, feedback:feedback);
requestDetailProvider.engineerMarkAsFixed(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, feedback: feedback);
},
),
],
@ -805,7 +800,6 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
}));
}
static Future nurseTakeActionBottomSheet({required BuildContext context}) {
bool acknowledge = false;
Uint8List? newSignature;
@ -869,7 +863,7 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
showBorder: true,
onPressed: () async {
if (newSignature != null && acknowledge) {
requestDetailProvider.nurseActionHelperModel=NurseActionHelperModel(
requestDetailProvider.nurseActionHelperModel = NurseActionHelperModel(
workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId,
signatureNurse: nurseSignature,
);
@ -888,7 +882,7 @@ static Future addAnotherSpareRequestBottomSheet({required BuildContext context})
onPressed: () async {
if (newSignature != null && acknowledge) {
//TODO replace provider with new provider and also check workorder id is not correct.
requestDetailProvider.nurseActionHelperModel=NurseActionHelperModel(
requestDetailProvider.nurseActionHelperModel = NurseActionHelperModel(
workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!,
signatureNurse: nurseSignature,
);

Loading…
Cancel
Save