|
|
|
|
@ -10,11 +10,14 @@ import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/models/enums/work_order_next_step.dart';
|
|
|
|
|
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';
|
|
|
|
|
@ -174,8 +177,6 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
textColor: AppColor.black20,
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
// await snapshot.updateRequest(user: userProvider.user, request: serviceRequestProvider.serviceRequest);
|
|
|
|
|
// Navigator.pop(context, true);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -185,11 +186,14 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
label: context.translation.fixed,
|
|
|
|
|
buttonColor: AppColor.green70,
|
|
|
|
|
loading: false,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
//TODO after confirm from backend call the api and reset the model.
|
|
|
|
|
// requestDetailProvider.engineerFixRemotely();
|
|
|
|
|
// requestDetailProvider.fixRemotelyHelperModel = FixRemotelyHelperModel();
|
|
|
|
|
print('model i got is ${requestDetailProvider.fixRemotelyHelperModel?.toJson()}');
|
|
|
|
|
requestDetailProvider.fixRemotelyHelperModel?.workOrderId= requestDetailProvider.currentWorkOrder?.data?.requestId;
|
|
|
|
|
await requestDetailProvider.engineerFixRemotely();
|
|
|
|
|
//TODO context issue to show message..
|
|
|
|
|
// const SizedBox().flushBar(context: context, title: '', message: context.translation.youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm);
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -332,10 +336,14 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future initialVisitBottomSheet({required BuildContext context}) {
|
|
|
|
|
TextEditingController _commentController = TextEditingController();
|
|
|
|
|
|
|
|
|
|
return buildBottomSheetParent(
|
|
|
|
|
context: context,
|
|
|
|
|
childWidget: Consumer<RequestDetailProvider>(builder: (context, requestDetailProvider, child) {
|
|
|
|
|
|
|
|
|
|
if(requestDetailProvider.needVisitHelperModel?.comment!=null){
|
|
|
|
|
_commentController.text = requestDetailProvider.needVisitHelperModel!.comment!;
|
|
|
|
|
}
|
|
|
|
|
return Column(
|
|
|
|
|
children: [
|
|
|
|
|
const SizedBox().indicatorWidget(),
|
|
|
|
|
@ -373,74 +381,10 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
// if (serviceRequestProvider.currentSelectedRequest?.firstAction?.id == 404 && Provider.of<SettingProvider>(context, listen: false).assetGroup?.id == 1) ...[
|
|
|
|
|
// 8.height,
|
|
|
|
|
// Row(
|
|
|
|
|
// children: [
|
|
|
|
|
// ADatePicker(
|
|
|
|
|
// label: context.translation.startDate,
|
|
|
|
|
// date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.startDate ?? ""),
|
|
|
|
|
// formatDateWithTime: true,
|
|
|
|
|
// onDatePicker: (selectedDate) {
|
|
|
|
|
// if (selectedDate != null) {
|
|
|
|
|
// showTimePicker(
|
|
|
|
|
// context: context,
|
|
|
|
|
// initialTime: TimeOfDay.now(),
|
|
|
|
|
// ).then((selectedTime) {
|
|
|
|
|
// // Handle the selected date and time here.
|
|
|
|
|
// if (selectedTime != null) {
|
|
|
|
|
// DateTime selectedDateTime = DateTime(
|
|
|
|
|
// selectedDate.year,
|
|
|
|
|
// selectedDate.month,
|
|
|
|
|
// selectedDate.day,
|
|
|
|
|
// selectedTime.hour,
|
|
|
|
|
// selectedTime.minute,
|
|
|
|
|
// );
|
|
|
|
|
// if (selectedDateTime != null) {
|
|
|
|
|
// serviceRequestProvider.currentSelectedRequest?.startDate = selectedDateTime?.toIso8601String();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// ).expanded,
|
|
|
|
|
// 8.width,
|
|
|
|
|
// ADatePicker(
|
|
|
|
|
// label: context.translation.endDate,
|
|
|
|
|
// date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.endDate ?? ""),
|
|
|
|
|
// formatDateWithTime: true,
|
|
|
|
|
// onDatePicker: (selectedDate) {
|
|
|
|
|
// showTimePicker(
|
|
|
|
|
// context: context,
|
|
|
|
|
// initialTime: TimeOfDay.now(),
|
|
|
|
|
// ).then((selectedTime) {
|
|
|
|
|
// // Handle the selected date and time here.
|
|
|
|
|
// if (selectedTime != null) {
|
|
|
|
|
// DateTime selectedDateTime = DateTime(
|
|
|
|
|
// selectedDate.year,
|
|
|
|
|
// selectedDate.month,
|
|
|
|
|
// selectedDate.day,
|
|
|
|
|
// selectedTime.hour,
|
|
|
|
|
// selectedTime.minute,
|
|
|
|
|
// );
|
|
|
|
|
// serviceRequestProvider.currentSelectedRequest?.endDate = selectedDateTime?.toIso8601String();
|
|
|
|
|
// serviceRequestProvider.currentSelectedRequest?.workingHours = (((DateTime.parse(serviceRequestProvider.currentSelectedRequest!.endDate!)
|
|
|
|
|
// .difference(DateTime.parse(serviceRequestProvider.currentSelectedRequest!.startDate!))
|
|
|
|
|
// .inSeconds ??
|
|
|
|
|
// 0) /
|
|
|
|
|
// 60) /
|
|
|
|
|
// 60)
|
|
|
|
|
// .toStringAsFixed(2);
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
// },
|
|
|
|
|
// ).expanded,
|
|
|
|
|
// ],
|
|
|
|
|
// )
|
|
|
|
|
// ],
|
|
|
|
|
8.height,
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.comments,
|
|
|
|
|
controller: _commentController,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
@ -459,170 +403,27 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
buttonColor: AppColor.primary10,
|
|
|
|
|
loading: false,
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
requestDetailProvider.needVisitHelperModel?.workOrderId= requestDetailProvider.currentWorkOrder!.data!.requestId;
|
|
|
|
|
print('payload to set initial visit ${requestDetailProvider.needVisitHelperModel?.toJson()}');
|
|
|
|
|
//TODO reset model and call api after confirm form backend...
|
|
|
|
|
await requestDetailProvider.engineerNeedVisit().whenComplete((){
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);
|
|
|
|
|
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
16.height,
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
|
|
|
return showModalBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
useSafeArea: true,
|
|
|
|
|
isScrollControlled: true,
|
|
|
|
|
backgroundColor: Colors.transparent,
|
|
|
|
|
builder: (context) => Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
|
|
|
|
|
return Form(
|
|
|
|
|
key: _formKey,
|
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
const SizedBox().indicatorWidget(),
|
|
|
|
|
8.height,
|
|
|
|
|
Align(
|
|
|
|
|
alignment: AlignmentDirectional.centerStart,
|
|
|
|
|
child: context.translation.setVisitDate.bottomSheetHeadingTextStyle(context),
|
|
|
|
|
),
|
|
|
|
|
15.height,
|
|
|
|
|
ADatePicker(
|
|
|
|
|
label: context.translation.visitDate,
|
|
|
|
|
hideShadow: true,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.visitDate ?? ""),
|
|
|
|
|
formatDateWithTime: true,
|
|
|
|
|
onDatePicker: (selectedDate) {
|
|
|
|
|
if (selectedDate != null) {
|
|
|
|
|
showTimePicker(
|
|
|
|
|
context: context,
|
|
|
|
|
initialTime: TimeOfDay.now(),
|
|
|
|
|
).then((selectedTime) {
|
|
|
|
|
// Handle the selected date and time here.
|
|
|
|
|
if (selectedTime != null) {
|
|
|
|
|
DateTime selectedDateTime = DateTime(
|
|
|
|
|
selectedDate.year,
|
|
|
|
|
selectedDate.month,
|
|
|
|
|
selectedDate.day,
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
);
|
|
|
|
|
if (selectedDateTime.isBefore(DateTime.parse(serviceRequestProvider.currentSelectedRequest!.date!))) {
|
|
|
|
|
"Visit Date time must be greater then request date".showToast;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.visitDate = selectedDateTime?.toIso8601String();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
if (serviceRequestProvider.currentSelectedRequest?.firstAction?.id == 404 && Provider.of<SettingProvider>(context, listen: false).assetGroup?.id == 1) ...[
|
|
|
|
|
8.height,
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
ADatePicker(
|
|
|
|
|
label: context.translation.startDate,
|
|
|
|
|
date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.startDate ?? ""),
|
|
|
|
|
formatDateWithTime: true,
|
|
|
|
|
onDatePicker: (selectedDate) {
|
|
|
|
|
if (selectedDate != null) {
|
|
|
|
|
showTimePicker(
|
|
|
|
|
context: context,
|
|
|
|
|
initialTime: TimeOfDay.now(),
|
|
|
|
|
).then((selectedTime) {
|
|
|
|
|
// Handle the selected date and time here.
|
|
|
|
|
if (selectedTime != null) {
|
|
|
|
|
DateTime selectedDateTime = DateTime(
|
|
|
|
|
selectedDate.year,
|
|
|
|
|
selectedDate.month,
|
|
|
|
|
selectedDate.day,
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
if (requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) {
|
|
|
|
|
requestDetailProvider.updateNeedVisitHelperModel(
|
|
|
|
|
NeedVisitHelperModel(
|
|
|
|
|
workOrderId: requestDetailProvider.needVisitHelperModel?.workOrderId,
|
|
|
|
|
visitDate: requestDetailProvider.needVisitHelperModel?.visitDate,
|
|
|
|
|
comment: requestDetailProvider.needVisitHelperModel?.comment,
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
if (selectedDateTime != null) {
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.startDate = selectedDateTime?.toIso8601String();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
await requestDetailProvider.engineerUpdateNeedVisit();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
).expanded,
|
|
|
|
|
8.width,
|
|
|
|
|
ADatePicker(
|
|
|
|
|
label: context.translation.endDate,
|
|
|
|
|
date: DateTime.tryParse(serviceRequestProvider.currentSelectedRequest?.endDate ?? ""),
|
|
|
|
|
formatDateWithTime: true,
|
|
|
|
|
onDatePicker: (selectedDate) {
|
|
|
|
|
showTimePicker(
|
|
|
|
|
context: context,
|
|
|
|
|
initialTime: TimeOfDay.now(),
|
|
|
|
|
).then((selectedTime) {
|
|
|
|
|
// Handle the selected date and time here.
|
|
|
|
|
if (selectedTime != null) {
|
|
|
|
|
DateTime selectedDateTime = DateTime(
|
|
|
|
|
selectedDate.year,
|
|
|
|
|
selectedDate.month,
|
|
|
|
|
selectedDate.day,
|
|
|
|
|
selectedTime.hour,
|
|
|
|
|
selectedTime.minute,
|
|
|
|
|
);
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.endDate = selectedDateTime?.toIso8601String();
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.workingHours = (((DateTime.parse(serviceRequestProvider.currentSelectedRequest!.endDate!)
|
|
|
|
|
.difference(DateTime.parse(serviceRequestProvider.currentSelectedRequest!.startDate!))
|
|
|
|
|
.inSeconds ??
|
|
|
|
|
0) /
|
|
|
|
|
60) /
|
|
|
|
|
60)
|
|
|
|
|
.toStringAsFixed(2);
|
|
|
|
|
else {
|
|
|
|
|
requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId;
|
|
|
|
|
await requestDetailProvider.engineerNeedVisit();
|
|
|
|
|
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
).expanded,
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
8.height,
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.comments,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
textInputType: TextInputType.multiline,
|
|
|
|
|
alignLabelWithHint: true,
|
|
|
|
|
onChange: (text) {
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.comments = text;
|
|
|
|
|
},
|
|
|
|
|
onSaved: (text) {
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.comments = text;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
12.height,
|
|
|
|
|
AppFilledButton(
|
|
|
|
|
label: context.translation.save,
|
|
|
|
|
buttonColor: AppColor.primary10,
|
|
|
|
|
loading: serviceRequestProvider.isLoading ?? false,
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
_formKey.currentState?.save();
|
|
|
|
|
|
|
|
|
|
// await snapshot.updateRequest(user: userProvider.user, request: serviceRequestProvider.serviceRequest);
|
|
|
|
|
// Navigator.pop(context, true);
|
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(builder: (_) => VerifyArrivalView()));
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
16.height,
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
).bottomSheetContainer(context);
|
|
|
|
|
);
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -639,14 +440,14 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
child: context.translation.rejectionReason.heading4(context).paddingOnly(top: 21),
|
|
|
|
|
),
|
|
|
|
|
15.height,
|
|
|
|
|
SingleItemDropDownMenu<Lookup, ReasonProvider>(
|
|
|
|
|
SingleItemDropDownMenu<Lookup, RejectReasonProvider>(
|
|
|
|
|
context: context,
|
|
|
|
|
title: context.translation.reason,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
initialValue: requestDetailProvider.engineerRejectHelperModel?.rejectionReason,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
if (value != null) {
|
|
|
|
|
requestDetailProvider.engineerRejectHelperModel?.rejectionReason = value;
|
|
|
|
|
requestDetailProvider.engineerRejectHelperModel?.rejectReasonId=value.id;
|
|
|
|
|
requestDetailProvider.updateEngineerRejectHelperModel(requestDetailProvider.engineerRejectHelperModel);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
@ -675,11 +476,8 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
showBorder: true,
|
|
|
|
|
loading: requestDetailProvider.isLoading,
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
requestDetailProvider.engineerRejectHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder?.data?.requestId;
|
|
|
|
|
requestDetailProvider.engineerRejectWorkOrder();
|
|
|
|
|
|
|
|
|
|
//Todo implement backend logic..
|
|
|
|
|
// serviceRequestProvider.serviceRequest.device = asset;
|
|
|
|
|
// await snapshot.updateRequest(user: userProvider.user, request: serviceRequestProvider.currentSelectedRequest);
|
|
|
|
|
Navigator.pop(context, true);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -745,6 +543,7 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
void onItemTap({required int index, required BuildContext context}) {
|
|
|
|
|
switch (index) {
|
|
|
|
|
case 0:
|
|
|
|
|
Provider.of<RequestDetailProvider>(context,listen: false).sparePartHelperModel = SparePartHelperModel();
|
|
|
|
|
Navigator.pushReplacement(
|
|
|
|
|
context,
|
|
|
|
|
MaterialPageRoute(builder: (context) => const SparePartRequest()),
|
|
|
|
|
@ -914,65 +713,16 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
buttonColor: AppColor.green70,
|
|
|
|
|
loading: false,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
print('feedback i got is ${feedback}');
|
|
|
|
|
//TODO uncommit this after testing...
|
|
|
|
|
// requestDetailProvider.engineerMarkAsFixed(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, feedback:feedback);
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
return showModalBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
useSafeArea: true,
|
|
|
|
|
isScrollControlled: true,
|
|
|
|
|
backgroundColor: Colors.transparent,
|
|
|
|
|
builder: (context) => Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
|
|
|
|
|
return Form(
|
|
|
|
|
// key: _formKey,
|
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
|
child: StatefulBuilder(builder: (context, setState) {
|
|
|
|
|
return Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
const SizedBox().indicatorWidget(),
|
|
|
|
|
8.height,
|
|
|
|
|
Align(
|
|
|
|
|
alignment: AlignmentDirectional.centerStart,
|
|
|
|
|
child: context.translation.feedBack.bottomSheetHeadingTextStyle(context),
|
|
|
|
|
),
|
|
|
|
|
21.height,
|
|
|
|
|
AppTextFormField(
|
|
|
|
|
labelText: context.translation.comments,
|
|
|
|
|
textInputType: TextInputType.multiline,
|
|
|
|
|
labelStyle: AppTextStyles.textFieldLabelStyle,
|
|
|
|
|
showWithoutDecoration: true,
|
|
|
|
|
backgroundColor: context.isDark ? AppColor.neutral20 : AppColor.neutral100,
|
|
|
|
|
alignLabelWithHint: true,
|
|
|
|
|
onChange: (text) {
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.comments = text;
|
|
|
|
|
},
|
|
|
|
|
onSaved: (text) {
|
|
|
|
|
serviceRequestProvider.currentSelectedRequest?.comments = text;
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
requestDetailProvider.engineerMarkAsFixed(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, feedback:feedback);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
16.height,
|
|
|
|
|
AppFilledButton(
|
|
|
|
|
label: context.translation.fixed,
|
|
|
|
|
buttonColor: AppColor.green70,
|
|
|
|
|
loading: false,
|
|
|
|
|
onPressed: () {},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}),
|
|
|
|
|
),
|
|
|
|
|
)..bottomSheetContainer(context);
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static Future nurseTakeActionBottomSheet({required BuildContext context}) {
|
|
|
|
|
bool acknowledge = false;
|
|
|
|
|
Uint8List? newSignature;
|
|
|
|
|
@ -1037,7 +787,7 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
onPressed: () async {
|
|
|
|
|
if (newSignature != null && acknowledge) {
|
|
|
|
|
requestDetailProvider.nurseActionHelperModel=NurseActionHelperModel(
|
|
|
|
|
workOrderId: int.parse(requestDetailProvider.currentWorkOrder!.data!.workOrderNo!),
|
|
|
|
|
workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId,
|
|
|
|
|
signatureNurse: nurseSignature,
|
|
|
|
|
);
|
|
|
|
|
requestDetailProvider.nurseReject();
|
|
|
|
|
@ -1056,7 +806,7 @@ class ServiceRequestBottomSheet {
|
|
|
|
|
if (newSignature != null && acknowledge) {
|
|
|
|
|
//TODO replace provider with new provider and also check workorder id is not correct.
|
|
|
|
|
requestDetailProvider.nurseActionHelperModel=NurseActionHelperModel(
|
|
|
|
|
workOrderId: int.parse(requestDetailProvider.currentWorkOrder!.data!.workOrderNo!),
|
|
|
|
|
workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!,
|
|
|
|
|
signatureNurse: nurseSignature,
|
|
|
|
|
);
|
|
|
|
|
requestDetailProvider.nurseConfirm();
|
|
|
|
|
|