bug fixes for recurrent task and service request added missing details mentioned in bugs sheet

design_3.0_task_module_new
WaseemAbbasi22 7 months ago
parent 4d45dcf0b9
commit b506616f48

@ -81,6 +81,7 @@ class EngineerUpdateWorkOrderHelperModel {
Lookup? failureReason;
FaultDescription? faultDescription;
String? solution;
String? callResponse;
EngineerUpdateWorkOrderHelperModel({
this.workOrderId,
@ -93,6 +94,7 @@ class EngineerUpdateWorkOrderHelperModel {
this.serviceType,
this.solution,
this.returnToService,
this.callResponse,
});
Map<String, dynamic> toJson() {
@ -104,6 +106,7 @@ class EngineerUpdateWorkOrderHelperModel {
data['loanAssetId'] = loanAssetId;
data['failureReasonId'] = failureReason?.id;
data['faultDescriptionId'] = faultDescription?.id;
data['callResponse'] = callResponse;
return data;
}
}

@ -52,7 +52,7 @@ class RecurrentWoItemView extends StatelessWidget {
// '${context.translation.assetNumber}: ${requestData!.assetNumber}'.bodyText(context),
// '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed
// '${context.translation.code}: ${request.code}'.bodyText(context),
'${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context),
'${context.translation.taskNo}: ${requestData!.requestNo}'.bodyText(context),
16.height,
Row(
mainAxisSize: MainAxisSize.min,
@ -102,7 +102,7 @@ class RecurrentWoItemView extends StatelessWidget {
// '${context.translation.taskNo}: ${requestDetails!.id}'.bodyText(context),
'${context.translation.site}: ${requestDetails!.site}'.bodyText(context),
// '${context.translation.code}: ${request.code}'.bodyText(context),
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),
'${context.translation.taskNo}: ${requestDetails!.requestNo}'.bodyText(context),
16.height,
Row(
mainAxisSize: MainAxisSize.min,

@ -52,12 +52,14 @@ class ServiceRequestItemView extends StatelessWidget {
8.height,
(requestData?.typeTransaction ?? context.translation.correctiveMaintenance).heading5(context),
8.height,
'${context.translation.assetName}: ${requestData!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.assetName}: ${requestData?.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.assetNumber}: ${requestData?.assetNumber}'.bodyText(context),
// '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context),
// '${context.translation.requestType}: ${requestData!.requestTypeName}'.bodyText(context),
'CM Number: ${requestData!.requestNo}'.bodyText(context),
if (requestData?.statusName == 'Canceled') ...[
'${context.translation.rejectionReason}: ${requestData!.rejectReason}'.bodyText(context),
'${context.translation.rejectionReason}: ${requestData?.rejectReason}'.bodyText(context),
],
8.height,
Row(
@ -112,9 +114,9 @@ class ServiceRequestItemView extends StatelessWidget {
8.height,
// '${context.translation.requestType}: ${requestDetails!.requestType}'.bodyText(context),
'CM Number: ${requestDetails!.requestNo}'.bodyText(context),
'${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context),
'${context.translation.assetName}: ${requestDetails!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context),
'CM Number: ${requestDetails!.requestNo}'.bodyText(context),
8.height,
Row(

@ -120,11 +120,11 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
textColor: AppColor.getHistoryLogStatusTextColorByName(workOrder.status!.name!),
backgroundColor: AppColor.getHistoryLogStatusColorByName(workOrder.status!.name!),
),
if(workOrder.since!=null)...[
if (workOrder.since != null) ...[
8.width,
StatusLabel(
radius: 4,
label:'${workOrder.since} days',
label: '${workOrder.since} days',
textColor: AppColor.neutral50,
backgroundColor: AppColor.orange30,
),
@ -296,21 +296,21 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
),
],
8.height,
const Divider().defaultStyle(context),
MultiFilesPicker(
label: context.translation.attachments,
files: _workOrderAttachments,
// attachment: _workOrderAttachments,
buttonColor: AppColor.primary10,
onlyImages: false,
buttonIcon: 'quotation_icon'.toSvgAsset(color: AppColor.primary10),
onChange: (attachment) {
print('i am called.');
// print('attachment value is ${attachment.last.file?.path}');
requestProvider.addWorkOrderAttachment(woId: workOrder.requestId!, attachments: _workOrderAttachments);
},
),
if (!requestProvider.isReadOnlyRequest) ...[
8.height,
const Divider().defaultStyle(context),
MultiFilesPicker(
label: context.translation.attachments,
files: _workOrderAttachments,
// attachment: _workOrderAttachments,
buttonColor: AppColor.primary10,
onlyImages: false,
buttonIcon: 'quotation_icon'.toSvgAsset(color: AppColor.primary10),
onChange: (attachment) {
requestProvider.addWorkOrderAttachment(woId: workOrder.requestId!, attachments: _workOrderAttachments);
},
),
],
if (workOrder.voiceNote?.isNotEmpty ?? false) ...[
const Divider().defaultStyle(context),
@ -403,27 +403,27 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'${workOrder.workOrderContactPerson[index].name??'-'}',
'${workOrder.workOrderContactPerson[index].name ?? '-'}',
style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
),
Text(
'${context.translation.employeeId}: ${workOrder.workOrderContactPerson[index].employeeId??'-'}',
'${context.translation.employeeId}: ${workOrder.workOrderContactPerson[index].employeeId ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'${context.translation.telephone}: ${workOrder.workOrderContactPerson[index].mobilePhone??'-'}',
'${context.translation.telephone}: ${workOrder.workOrderContactPerson[index].mobilePhone ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'Job: ${workOrder.workOrderContactPerson[index].position??'-'}',
'Job: ${workOrder.workOrderContactPerson[index].position ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'${context.translation.email}: ${workOrder.workOrderContactPerson[index].email??'-'}',
'${context.translation.email}: ${workOrder.workOrderContactPerson[index].email ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'Extension: ${workOrder.workOrderContactPerson[index].extension??'-'}',
'Extension: ${workOrder.workOrderContactPerson[index].extension ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
],
@ -473,7 +473,6 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
}
Widget assetDetailCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider}) {
print('id i got is ${requestDetailProvider.currentWorkOrder?.data?.status?.id}');
if ((userProvider.user?.type == UsersTypes.engineer && requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.activity) ||
requestDetailProvider.isReadOnlyRequest) {
WorkOrderData currentWorkOrderData = requestDetailProvider.currentWorkOrder!.data!;

@ -13,6 +13,7 @@ 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/new_views/common_widgets/app_lazy_loading.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
@ -74,6 +75,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
solution: currentWorkOrderData.faultDescription?.workPerformed,
returnToService: currentWorkOrderData.returnToService,
serviceType: currentWorkOrderData.serviceType,
callResponse: currentWorkOrderData.callResponse,
);
if (currentWorkOrderData.assetLoan != null) {
loanAvailabilityAsset = Asset(
@ -219,9 +221,22 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
context.translation.solutions.heading6(context).custom(color: AppColor.neutral50),
8.height,
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120)
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120,align: TextAlign.justify)
: const SizedBox(),
]
],
8.height,
AppTextFormField(
labelText: context.translation.callResponse,
backgroundColor: AppColor.neutral100,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse,
textAlign: TextAlign.center,
labelStyle: AppTextStyles.textFieldLabelStyle,
showShadow: false,
onChange: (value){
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.callResponse = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
],
).toShadowContainer(context).paddingAll(16),
).expanded,

@ -51,11 +51,11 @@ class RecurrentTaskInfoWidget extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
buildingInfoWidget(label: context.translation.department, value: model!.department!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context),
buildingInfoWidget(label: context.translation.department, value: model!.department?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context),
8.height,
buildingInfoWidget(label: context.translation.floor, value: model!.floor!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context),
buildingInfoWidget(label: context.translation.floor, value: model!.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context),
8.height,
buildingInfoWidget(label: context.translation.room, value: model!.room!.name!.cleanupWhitespace.capitalizeFirstOfEach, context: context),
buildingInfoWidget(label: context.translation.room, value: model!.room?.name?.cleanupWhitespace.capitalizeFirstOfEach, context: context),
8.height,
_timerWidget(context, model!.totalWorkingHours!),
8.height,
@ -129,7 +129,7 @@ class RecurrentTaskInfoWidget extends StatelessWidget {
}
}
Widget buildingInfoWidget({required String label, required String value, required BuildContext context}) {
Widget buildingInfoWidget({required String label, required String ?value, required BuildContext context}) {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,

Loading…
Cancel
Save