From bbc584800ad10f3deefebe477302347dc82b823c Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Tue, 25 Mar 2025 15:05:07 +0300 Subject: [PATCH] CM contact info added. --- .../service_request_detail_view.dart | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/lib/service_request_latest/views/components/service_request_detail_view.dart b/lib/service_request_latest/views/components/service_request_detail_view.dart index 61111bdd..74512830 100644 --- a/lib/service_request_latest/views/components/service_request_detail_view.dart +++ b/lib/service_request_latest/views/components/service_request_detail_view.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; @@ -65,6 +64,8 @@ class _ServiceRequestDetailViewState extends State { workOrderDetailCard(context, requestProvider.currentWorkOrder!.data!, _userProvider, requestProvider), initialVisitCard(requestDetailProvider: requestProvider, userProvider: _userProvider), assetDetailCard(requestDetailProvider: requestProvider, userProvider: _userProvider), + 12.height, + contactInfoCard(context, requestProvider.currentWorkOrder!.data!), 20.height, ], ), @@ -334,6 +335,55 @@ class _ServiceRequestDetailViewState extends State { ).toShadowContainer(context, padding: 0); } + Widget contactInfoCard(BuildContext context, WorkOrderData workOrder) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Contact Info", + style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + 8.height, + ListView.separated( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + padding: EdgeInsets.zero, + itemBuilder: (cxt, index) => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${workOrder.workOrderContactPerson[index].name}', + style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + Text( + '${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}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + Text( + 'Job: ${workOrder.workOrderContactPerson[index].position}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + Text( + '${context.translation.email}: ${workOrder.workOrderContactPerson[index].email}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + Text( + 'Extension: ${workOrder.workOrderContactPerson[index].extension}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120), + ), + ], + ), + separatorBuilder: (cxt, index) => const Divider().defaultStyle(context), + itemCount: workOrder.workOrderContactPerson.length), + ], + ).toShadowContainer(context, padding: 16); + } + Widget assetRetiredButton({required BuildContext context}) { return Padding( padding: EdgeInsets.symmetric(horizontal: 16.toScreenHeight, vertical: 12.toScreenWidth),