Merge branch 'design_3.0_ppm_new_flow' into design_3.0_transfer_request_new_flow

design_3.0_task_module_new
WaseemAbbasi22 8 months ago
commit b767f9123e

@ -172,20 +172,13 @@ class _SplashPageState extends State<SplashPage> {
Future<bool> checkDeviceSafety() async {
if (!kReleaseMode) return true;
bool isOnExternalStorage = false;
bool isDevelopmentModeEnable = false;
bool isJailBroken = false;
bool isRealDevice = false;
try {
isJailBroken = await SafeDevice.isJailBroken;
isRealDevice = await SafeDevice.isRealDevice;
if (Platform.isAndroid) {
isOnExternalStorage = await SafeDevice.isOnExternalStorage;
isDevelopmentModeEnable = await SafeDevice.isDevelopmentModeEnable;
}
//TODO correct isDevelopmentModeEnable when publish to prod...
if (isJailBroken || !isRealDevice || isOnExternalStorage || isDevelopmentModeEnable) {
if (isJailBroken || !isRealDevice) {
return false;
} else {
return true;

@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
import 'package:nfc_manager/nfc_manager.dart';
import 'package:nfc_manager/platform_tags.dart';
void showNfcReader(BuildContext context, { Function(String nfcId) ?onNcfScan}) {
void showNfcReader(BuildContext context, {Function(String nfcId)? onNcfScan}) {
showModalBottomSheet(
context: context,
enableDrag: false,
@ -23,7 +23,7 @@ void showNfcReader(BuildContext context, { Function(String nfcId) ?onNcfScan}) {
}
class NfcLayout extends StatefulWidget {
Function(String nfcId) ?onNcfScan;
Function(String nfcId)? onNcfScan;
NfcLayout({this.onNcfScan});
@ -96,7 +96,6 @@ class _NfcLayoutState extends State<NfcLayout> {
SizedBox(
height: 30,
),
Image.asset(
"assets/images/ic_nfc.png",
height: MediaQuery.of(context).size.width / 3,
@ -159,7 +158,7 @@ class _NfcLayoutState extends State<NfcLayout> {
),
Image.asset(
// "assets/icons/nfc/ic_done.png",
"assets/images/ic_done.png",
"assets/images/ic_done.png",
height: MediaQuery.of(context).size.width / 3,
width: double.infinity,
),

@ -50,7 +50,6 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
@override
void initState() {
super.initState();
}
Future<void> getFaultDescription({required int? assetId}) async {
@ -64,7 +63,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
void assignValues() {
// ServiceRequestDetailProvider requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
// _requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
// _requestDetailProvider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
WorkOrderData currentWorkOrderData = _requestDetailProvider!.currentWorkOrder!.data!;
_requestDetailProvider!.engineerUpdateWorkOrderHelperModel = EngineerUpdateWorkOrderHelperModel(
workOrderId: currentWorkOrderData.requestId,
@ -116,113 +115,115 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
if (widget.isEdit) ...[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!),
12.height,
ADatePicker(
label: context.translation.returnToService,
hideShadow: true,
backgroundColor: AppColor.neutral100,
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
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,
);
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService != null &&
// selectedDateTime.isBefore(DateTime.parse(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService!))) {
// "Return To Service Date time must be greater then previous date".showToast;
// return;
// }
SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!),
12.height,
ADatePicker(
label: context.translation.returnToService,
hideShadow: true,
backgroundColor: AppColor.neutral100,
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
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,
);
// if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService != null &&
// selectedDateTime.isBefore(DateTime.parse(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.returnToService!))) {
// "Return To Service Date time must be greater then previous date".showToast;
// return;
// }
setState(() {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService = selectedDateTime.toIso8601String();
});
}
});
},
),
12.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
context: context,
title: context.translation.loanAvailability,
backgroundColor: AppColor.neutral100,
height: 56.toScreenHeight,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability,
onSelect: (status) {
if (status != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability = status;
if (status.value != 1) {
loanAvailabilityAsset = null;
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = null;
}
setState(() {});
}
},
),
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) 8.height,
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1)
PickAsset(
device: loanAvailabilityAsset, // ?? _serviceReport.device,
cardColor: AppColor.neutral100,
onPickAsset: (asset) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = asset.id;
setState(() {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService = selectedDateTime.toIso8601String();
loanAvailabilityAsset = asset;
});
},
),
12.height,
SingleItemDropDownMenu<Lookup, ReasonProvider>(
context: context,
title: context.translation.failureReason,
backgroundColor: AppColor.neutral100,
height: 56.toScreenHeight,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason,
onSelect: (value) {
if (value != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason = value;
}
});
},
),
12.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
context: context,
title: context.translation.loanAvailability,
backgroundColor: AppColor.neutral100,
height: 56.toScreenHeight,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability,
onSelect: (status) {
if (status != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability = status;
if (status.value != 1) {
loanAvailabilityAsset = null;
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = null;
},
),
12.height,
SingleItemDropDownMenu<FaultDescription, NullableLoadingProvider>(
context: context,
title: context.translation.faultDescription,
backgroundColor: AppColor.neutral100,
staticData: _faults,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription,
onSelect: (fault) {
if (fault != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription = fault;
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution = fault.workPerformed;
setState(() {});
}
setState(() {});
}
},
),
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1) 8.height,
if (requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.value == 1)
PickAsset(
device: loanAvailabilityAsset, // ?? _serviceReport.device,
cardColor: AppColor.neutral100,
onPickAsset: (asset) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAssetId = asset.id;
setState(() {
loanAvailabilityAsset = asset;
});
},
),
12.height,
SingleItemDropDownMenu<Lookup, ReasonProvider>(
context: context,
title: context.translation.failureReason,
backgroundColor: AppColor.neutral100,
height: 56.toScreenHeight,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason,
onSelect: (value) {
if (value != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason = value;
}
},
),
12.height,
SingleItemDropDownMenu<FaultDescription, NullableLoadingProvider>(
context: context,
title: context.translation.faultDescription,
backgroundColor: AppColor.neutral100,
staticData: _faults,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription,
onSelect: (fault) {
if (fault != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription = fault;
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution = fault.workPerformed;
setState(() {});
}
},
),
12.height,
context.translation.solutions.heading6(context).custom(color: AppColor.neutral50),
8.height,
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120)
: const SizedBox(),
],
).toShadowContainer(context).paddingAll(16),
12.height,
context.translation.solutions.heading6(context).custom(color: AppColor.neutral50),
8.height,
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.solution != null
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120)
: const SizedBox(),
],
).toShadowContainer(context).paddingAll(16),
).expanded,
] else ...[
assetStatusWidget(context: context, workOrderData: requestDetailProvider.engineerUpdateWorkOrderHelperModel!).toShadowContainer(context).paddingAll(16),
],

Loading…
Cancel
Save