FMS- engineer can create CM request, hide priority for nurse.

design_3.0_task_module_new
Sikander Saleem 6 months ago
parent 6004ed1a27
commit 8dc35a20af

@ -7,6 +7,7 @@ import 'package:local_auth/local_auth.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/user.dart';
import '../settings/app_settings.dart';
@ -31,9 +32,11 @@ class SettingProvider extends ChangeNotifier {
String password = "";
bool isLocalAuthEnable = false;
bool get isFlowMedical => _assetGroup?.id == 1;
bool get isUserFlowMedical => _assetGroup?.id == 1;
bool get isFMS => _assetGroup?.id == 2;
bool get isUserFMS => _assetGroup?.id == 2;
bool get engineerCanCreateCM => isUserFMS;
bool get showPriority => !(isUserFMS && user?.type == UsersTypes.normal_user);
// Local authentication instance
final LocalAuthentication auth = LocalAuthentication();

@ -1,4 +1,6 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
@ -84,6 +86,9 @@ class CreateRequestModel {
static List<CreateRequestModel> requestsList(BuildContext context, bool isEngineer) {
List<CreateRequestModel> list = [];
if (isEngineer) {
if (Provider.of<SettingProvider>(context, listen: false).engineerCanCreateCM) {
list.add(CreateRequestModel(context.translation.correctiveMaintenance, "add_icon", CreateNewRequest.id));
}
list.add(CreateRequestModel(context.translation.task, "add_icon", CreateTaskView.id));
} else {
list.add(CreateRequestModel(context.translation.correctiveMaintenance, "add_icon", CreateNewRequest.id));

@ -33,12 +33,14 @@ class ServiceRequestItemView extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (Provider.of<SettingProvider>(context, listen: false).showPriority) ...[
StatusLabel(
label: requestData!.priorityName!,
textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!),
backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!),
),
8.width,
],
StatusLabel(
label: requestData!.statusName!,
textColor: AppColor.getHistoryLogStatusTextColorByName(requestData!.statusName!),
@ -94,12 +96,14 @@ class ServiceRequestItemView extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (Provider.of<SettingProvider>(context, listen: false).showPriority) ...[
StatusLabel(
label: requestDetails!.priority,
textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority),
backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority),
),
8.width,
],
StatusLabel(
label: requestDetails!.status,
textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status),

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
@ -19,7 +20,6 @@ import 'package:test_sa/service_request_latest/service_request_detail_provider.d
import 'package:test_sa/service_request_latest/views/components/action_button/footer_action_button.dart';
import 'package:test_sa/service_request_latest/views/components/asset_detail_card.dart';
import 'package:test_sa/service_request_latest/views/components/initial_visit_card.dart';
import 'package:test_sa/service_request_latest/views/components/timer_widget.dart';
import 'package:test_sa/service_request_latest/views/forms/asset_retired/asset_retired.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
@ -106,6 +106,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
Row(
mainAxisSize: MainAxisSize.min,
children: [
if (Provider.of<SettingProvider>(context, listen: false).showPriority) ...[
StatusLabel(
label: workOrder.priority?.name,
id: workOrder.priority!.id!,
@ -114,6 +115,7 @@ class _ServiceRequestDetailViewState extends State<ServiceRequestDetailView> {
backgroundColor: AppColor.getPriorityStatusColor(context, workOrder.priority!.id!),
),
8.width,
],
StatusLabel(
radius: 4,
label: workOrder.status!.name,

@ -1,5 +1,6 @@
import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -31,6 +32,7 @@ import 'package:test_sa/views/widgets/equipment/asset_picker.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/sound/TextSpeechRecordWidget.dart';
import '../../../../../../new_views/common_widgets/default_app_bar.dart';
class CreateNewRequest extends StatefulWidget {
@ -81,15 +83,17 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
isFirstActionSubmitted = _serviceRequest.firstAction != null;
// _isLoading = true;
}
Future<void> getInitialData() async {
WidgetsBinding.instance.addPostFrameCallback((_) async {
if(Provider.of<SettingProvider>(context, listen: false).showPriority) {
await Provider.of<PriorityProvider>(context, listen: false).getDate();
}
await Provider.of<EquipmentStatusProvider>(context, listen: false).getDate();
await Provider.of<RequestedThroughProvider>(context, listen: false).getDate();
await Provider.of<TypeOfRequestProvider>(context, listen: false).getDate();
});
}
@override
@ -143,9 +147,11 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
showPendingRequests();
}),
],
21.height,
if (Provider.of<SettingProvider>(context, listen: false).showPriority) ...[
16.height,
highPriorityWidget(),
20.height,
],
16.height,
assetStatusWidget(context),
24.height,
MultiFilesPicker(
@ -287,8 +293,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
serviceRequest?.audio = audio;
},
enabled: serviceRequest == null ? true : false,
)
.paddingOnly(start: 16, end: 16,bottom: 16);
).paddingOnly(start: 16, end: 16, bottom: 16);
}
bool checkPendingRequest = false;
@ -365,8 +370,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
dashBoardProvider.refreshDashboard(context: context, userType: UsersTypes.nurse);
Navigator.pop(context);
Navigator.pop(context);
}
else{
} else {
Navigator.pop(context);
}

Loading…
Cancel
Save