diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index 96d4fe22..b0dc87c8 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -7,8 +7,9 @@ class URLs { // static const host1 = "https://atomsmdev.hmg.com"; // local DEV url static const host1 = "https://atomsmuat.hmg.com"; // local UAT url - static final String _baseUrl = "$_host/mobile"; // host local UAT - // static final String _baseUrl = "$_host/v1/mobile"; // new V2 apis + // static final String _baseUrl = "$_host/mobile"; // host local UAT + // static final String _baseUrl = "$_host/v1/mobile"; // new V1 apis + static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis // static final String _baseUrl = "$_host/v3/mobile"; // v3 for production CM,PM,TM // static final String _baseUrl = "$_host/v4/mobile"; // v4 for Demo module // static final String _baseUrl = "$_host/v5/mobile"; // v5 for data segregation diff --git a/lib/modules/cm_module/views/components/activities_list_view.dart b/lib/modules/cm_module/views/components/activities_list_view.dart index e52fbd95..d3880a44 100644 --- a/lib/modules/cm_module/views/components/activities_list_view.dart +++ b/lib/modules/cm_module/views/components/activities_list_view.dart @@ -24,6 +24,8 @@ 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/default_app_bar.dart'; import 'package:test_sa/views/widgets/images/files_list.dart'; +import 'package:test_sa/views/widgets/item_views/info_header_widget.dart'; +import 'package:test_sa/views/widgets/item_views/info_text_widget.dart'; import 'package:test_sa/views/widgets/loaders/no_data_found.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; @@ -94,17 +96,17 @@ class _ActivitiesListViewState extends State { if (userProvider.user!.type == UsersTypes.engineer && (requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 && requestDetailProvider.currentWorkOrder?.data?.status?.value != 3)) FooterActionButton.footerContainer( - context: context, + context: context, child: AppFilledButton( - label: context.translation.createNewActivity, - maxWidth: true, - buttonColor: AppColor.primary10, - loading: requestDetailProvider.isLoading, - disableButton: disableNewActivity, - onPressed: () async { - ServiceRequestBottomSheet.activityTypeBottomSheet(context: context); - }, - )) + label: context.translation.createNewActivity, + maxWidth: true, + buttonColor: AppColor.primary10, + loading: requestDetailProvider.isLoading, + disableButton: disableNewActivity, + onPressed: () async { + ServiceRequestBottomSheet.activityTypeBottomSheet(context: context); + }, + )) ], ); }), @@ -127,11 +129,8 @@ class _ActivitiesListViewState extends State { StatusLabel( label: activity.activityStatus?.name, textColor: AppColor.white10, - // textColor: AppColor.getHistoryLogStatusTextColorByName(activity.activityStatus!.name!), - // backgroundColor: AppColor.getHistoryLogStatusColorByName(activity.activityStatus!.name!), backgroundColor: AppColor.primary10, ), - // "drag_icon".toSvgAsset(height: 12, width: 23, color: AppColor.neutral160), if (showActionButtons) Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -140,7 +139,7 @@ class _ActivitiesListViewState extends State { "edit_icon".toSvgAsset(height: 24, width: 24, color: AppColor.icon2Color(context)).onPress(() { editSparePartRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity); }), - 24.width, + 12.width, "delete_icon".toSvgAsset(height: 24, width: 24).onPress(() async { showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); int status = await requestDetailProvider.deleteActivitySparePart(id: activity.id!, workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!); @@ -157,28 +156,18 @@ class _ActivitiesListViewState extends State { ), 6.height, //activity type... - Text( - '${activity.activityType?.cleanupWhitespace.capitalizeFirstOfEach}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), - ), - 3.height, - Text( - '${context.translation.partName}: ${activity.activitySparePart?.partCatalogItem?.partName}', - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), + InfoHeaderWidget(activity.activityType?.cleanupWhitespace.capitalizeFirstOfEach ?? '-'), + InfoTextWidget( + label: context.translation.partName, + value: activity.activitySparePart?.partCatalogItem?.partName, ), - 2.height, - Text( - '${context.translation.partNo}: ${activity.activitySparePart?.partCatalogItem?.partNumber}', - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), + InfoTextWidget( + label: context.translation.partNo, + value: activity.activitySparePart?.partCatalogItem?.partNumber, ), - 2.height, if (activity.activitySparePart?.comment?.isNotEmpty ?? false) ...[ const Divider().defaultStyle(context), - 2.height, - Text( - activity.activitySparePart?.comment ?? "", - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), - ), + InfoTextLabelWidget(label: activity.activitySparePart?.comment ?? ''), ], if (activity.activitySparePart?.acitiySparePartAttachments?.isNotEmpty ?? false) ...[ 2.height, @@ -212,28 +201,22 @@ class _ActivitiesListViewState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - //TODO will be here when fixed from backend.. Row( children: [ StatusLabel( label: activity.activityStatus?.name, textColor: AppColor.white10, - // textColor: AppColor.getHistoryLogStatusTextColorByName(activity.activityStatus!.name!), - // backgroundColor: AppColor.getHistoryLogStatusColorByName(activity.activityStatus!.name!), backgroundColor: AppColor.primary10, ), 5.width, StatusLabel( label: activity.activityMaintenance?.activityType, - // textColor: AppColor.white10, textColor: AppColor.getActivityTypeTextColor(activity.activityMaintenance?.activityType ?? ''), backgroundColor: AppColor.getActivityTypeBgColor(activity.activityMaintenance?.activityType ?? ''), - // backgroundColor: AppColor.primary10, ), ], ), - // "drag_icon".toSvgAsset(height: 12, width: 23, color: AppColor.neutral160), if (showActionButtons) Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -242,7 +225,7 @@ class _ActivitiesListViewState extends State { "edit_icon".toSvgAsset(height: 24, width: 24, color: AppColor.icon2Color(context)).onPress(() { editMaintenanceRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity); }), - 24.width, + 12.width, "delete_icon".toSvgAsset(height: 24, width: 24).onPress(() async { showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); int status = await requestDetailProvider.deleteActivityMaintenance(id: activity.id!, workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!); @@ -258,37 +241,26 @@ class _ActivitiesListViewState extends State { ], ), 6.height, -//activity type... - Text( - '${activity.activityType?.cleanupWhitespace.capitalizeFirstOfEach}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), + InfoHeaderWidget(activity.activityType?.cleanupWhitespace.capitalizeFirstOfEach ?? ''), + InfoTextWidget( + label: context.translation.workingHours, + value: totalWorkingHours > 0.0 ? CMRequestUtils.formatTimerDuration(totalWorkingHours.round()) : '-', ), - 3.height, - Text( - '${context.translation.workingHours}: ${totalWorkingHours > 0.0 ? CMRequestUtils.formatTimerDuration(totalWorkingHours.round()) : '-'}', - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), - ), - 2.height, if (activity.activityMaintenance?.assistantEmployees != null && activity.activityMaintenance!.assistantEmployees!.isNotEmpty) ...[ - Text( - '${context.translation.assistantEmployee}: ${activity.activityMaintenance?.assistantEmployees?.first.user?.userName}', - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), + InfoTextWidget( + label: context.translation.assistantEmployee, + value: activity.activityMaintenance?.assistantEmployees?.first.user?.userName, ), + ] else ...[ - Text( - '${context.translation.assignedEmployee}: ${activity.activityMaintenance?.assignedEmployee?.userName}', - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), + InfoTextWidget( + label: context.translation.assignedEmployee, + value: activity.activityMaintenance?.assignedEmployee?.userName, ), ], - - 2.height, if (activity.activityMaintenance?.technicalComment?.isNotEmpty ?? false) ...[ const Divider().defaultStyle(context), - 2.height, - Text( - activity.activityMaintenance?.technicalComment ?? "", - style: AppTextStyles.bodyText2.copyWith(color: AppColor.neutral120), - ), + InfoTextLabelWidget(label: activity.activityMaintenance?.technicalComment ?? ""), ], //need to add all info here... // if(requestDetailProvider.currentWorkOrder?.data?.status?.id==3498)...[ @@ -338,7 +310,7 @@ class _ActivitiesListViewState extends State { // lastSituation: activity.activityMaintenance?.lastSituation, assignedEmployee: activity.activityMaintenance?.assignedEmployee != null ? WorkOrderAssignedEmployee.fromJson(activity.activityMaintenance!.assignedEmployee!.toJson()) : null, technicalComment: activity.activityMaintenance?.technicalComment, - assistantEmployList:activity.activityMaintenance!.assistantEmployees??[] , + assistantEmployList: activity.activityMaintenance!.assistantEmployees ?? [], // assistantEmployees: // activity.activityMaintenance?.assistantEmployees != null && activity.activityMaintenance!.assistantEmployees!.isNotEmpty ? [AssistantEmployees.fromJson(assistEmpData)] : [], // modelAssistantEmployees: diff --git a/lib/views/widgets/item_views/info_text_widget.dart b/lib/views/widgets/item_views/info_text_widget.dart index ecf71002..06e15e91 100644 --- a/lib/views/widgets/item_views/info_text_widget.dart +++ b/lib/views/widgets/item_views/info_text_widget.dart @@ -37,3 +37,15 @@ class InfoTextWidget extends StatelessWidget { return text; } } +class InfoTextLabelWidget extends StatelessWidget { + final String label; + + InfoTextLabelWidget({required this.label, Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + Widget text; + text = Text(label, style: AppTextStyles.bodyText2.copyWith(color: AppColor.lightTextColor(context))); + return text; + } +} \ No newline at end of file