edd and wo frame fields added.

design_3.0_dark_mode
Sikander Saleem 3 months ago
parent 456432050d
commit 93caf55354

@ -219,6 +219,8 @@ class URLs {
static get getServiceReportReasonsNew => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=505";
static get getWoFrames => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=1254";
static get getServiceReportRetirementType => "$_baseUrl/Lookups/GetLookup?lookupEnum=415";
static get getVisitReminderTimeValue => "$_baseUrl/Lookups/GetLookup?lookupEnum=1211";

@ -71,6 +71,7 @@ import 'package:test_sa/providers/work_order/retirement_type_provider.dart';
import 'package:test_sa/providers/work_order/service_type_provider.dart';
import 'package:test_sa/providers/work_order/supplier_engineer_provider.dart';
import 'package:test_sa/providers/work_order/vendor_provider.dart';
import 'package:test_sa/providers/work_order/wo_frame_provider.dart';
import 'package:test_sa/views/pages/device_transfer/create__device_transfer_request.dart';
import 'package:test_sa/views/pages/device_transfer/device_filter_screen.dart';
import 'package:test_sa/views/pages/device_transfer/device_search_screen.dart';
@ -239,6 +240,7 @@ class MyApp extends StatelessWidget {
/// Loan availability not required
ChangeNotifierProvider(create: (_) => LoanAvailabilityProvider()),
ChangeNotifierProvider(create: (_) => ReasonProvider()),
ChangeNotifierProvider(create: (_) => WoFrameProvider()),
ChangeNotifierProvider(create: (_) => RejectReasonProvider()),
ChangeNotifierProvider(create: (_) => LastSituationProvider()),
ChangeNotifierProvider(create: (_) => FaultDescriptionProvider()),

@ -82,16 +82,19 @@ class EngineerUpdateWorkOrderHelperModel {
num? loanAssetId;
WorkOrderAsset? loanAsset;
Lookup? failureReason;
Lookup? cmFrameId;
FaultDescription? faultDescription;
String? solution;
String? callResponse;
String? descriptionOfFinding;
String? actionTaken;
String? edd;
EngineerUpdateWorkOrderHelperModel({
this.workOrderId,
this.equipmentStatus,
this.failureReason,
this.cmFrameId,
this.faultDescription,
this.loanAvailability,
this.loanAssetId,
@ -99,6 +102,7 @@ class EngineerUpdateWorkOrderHelperModel {
this.serviceType,
this.solution,
this.returnToService,
this.edd,
this.callResponse,
this.descriptionOfFinding,
this.actionTaken,
@ -109,9 +113,11 @@ class EngineerUpdateWorkOrderHelperModel {
data['workOrderId'] = workOrderId;
data['equipmentStatusId'] = equipmentStatus?.id;
data['returnToService'] = returnToService;
data['edd'] = edd;
data['loanAvailabilityId'] = loanAvailability?.id;
data['loanAssetId'] = loanAssetId;
data['failureReasonId'] = failureReason?.id;
data['cmFrameId'] = cmFrameId?.id;
data['faultDescriptionId'] = faultDescription?.id;
data['callResponse'] = callResponse;
data['descriptionOfFinding'] = descriptionOfFinding;

@ -64,6 +64,10 @@ class AssetDetailCard extends StatelessWidget {
'${context.translation.returnToService}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService?.toAssetDetailsFormat ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'EDD: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd?.toAssetDetailsFormat ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'${context.translation.loanAvailability}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.loanAvailability?.name ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
@ -72,6 +76,10 @@ class AssetDetailCard extends StatelessWidget {
'${context.translation.failureReason}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.failureReason?.name ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'Frame: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId?.name ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),
),
Text(
'${context.translation.faultDescription}: ${requestDetailProvider.engineerUpdateWorkOrderHelperModel?.faultDescription?.name ?? '-'}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral120),

@ -24,6 +24,7 @@ import 'package:test_sa/providers/service_request_providers/equipment_status_pro
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
import 'package:test_sa/providers/work_order/fault_description_provider.dart';
import 'package:test_sa/providers/work_order/reason_provider.dart';
import 'package:test_sa/providers/work_order/wo_frame_provider.dart';
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
@ -101,6 +102,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
_loanAvailabilityProvider!.reset();
_equipmentStatusProvider = Provider.of<EquipmentStatusProvider>(context, listen: false);
_equipmentStatusProvider!.reset();
Provider.of<WoFrameProvider>(context, listen: false).reset();
WidgetsBinding.instance.addPostFrameCallback((_) {
_equipmentStatusProvider!.getDate();
});
@ -129,7 +131,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
hideShadow: true,
backgroundColor: AppColor.neutral100,
// initialDate: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
from:requestDetailProvider.currentWorkOrder?.data?.requestedDate,
from: requestDetailProvider.currentWorkOrder?.data?.requestedDate,
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.returnToService ?? ""),
formatDateWithTime: true,
onDatePicker: (selectedDate) {
@ -227,7 +229,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
? requestDetailProvider.engineerUpdateWorkOrderHelperModel!.solution!.bodyText2(context).custom(color: AppColor.neutral120, align: TextAlign.justify)
: const SizedBox(),
],
8.height,
12.height,
AppTextFormField(
labelText: context.translation.callResponse,
backgroundColor: AppColor.neutral100,
@ -240,8 +242,57 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
},
style: Theme.of(context).textTheme.titleMedium,
),
12.height,
ADatePicker(
label: "EDD",
hideShadow: true,
backgroundColor: AppColor.neutral100,
// initialDate: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd ?? ""),
from: requestDetailProvider.currentWorkOrder?.data?.requestedDate,
date: DateTime.tryParse(requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd ?? ""),
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?.edd != null &&
// selectedDateTime.isBefore(DateTime.parse(requestDetailProvider.engineerUpdateWorkOrderHelperModel!.edd!))) {
// "Return To Service Date time must be greater then previous date".showToast;
// return;
// }
setState(() {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.edd = selectedDateTime.toIso8601String();
});
}
});
},
),
12.height,
SingleItemDropDownMenu<Lookup, WoFrameProvider>(
context: context,
title: "WO Frame",
backgroundColor: AppColor.neutral100,
height: 56.toScreenHeight,
showShadow: false,
initialValue: requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId,
onSelect: (value) {
if (value != null) {
requestDetailProvider.engineerUpdateWorkOrderHelperModel?.cmFrameId = value;
}
},
),
if (Provider.of<SettingProvider>(context, listen: false).isUserFMS) ...[
8.height,
12.height,
AppTextFormField(
labelText: "Description of Finding",
backgroundColor: AppColor.neutral100,
@ -254,7 +305,7 @@ class _VerifyAssetDetailsState extends State<VerifyAssetDetails> with TickerProv
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
12.height,
AppTextFormField(
labelText: "Action Taken",
backgroundColor: AppColor.neutral100,

@ -8,7 +8,6 @@ import '../../controllers/api_routes/urls.dart';
import '../../models/lookup.dart';
class ReasonProvider extends LoadingListNotifier<Lookup> {
String? serviceRequestId;
@override
@ -17,7 +16,7 @@ class ReasonProvider extends LoadingListNotifier<Lookup> {
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getServiceReportReasonsNew+"&serviceRequestId=$serviceRequestId");
Response response = await ApiManager.instance.get(URLs.getServiceReportReasonsNew + "&serviceRequestId=$serviceRequestId");
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"];

@ -0,0 +1,33 @@
import 'dart:convert';
import 'package:http/http.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import '../../controllers/api_routes/api_manager.dart';
import '../../controllers/api_routes/urls.dart';
import '../../models/lookup.dart';
class WoFrameProvider extends LoadingListNotifier<Lookup> {
@override
Future getDate() async {
if (loading == true) return -2;
loading = true;
notifyListeners();
try {
Response response = await ApiManager.instance.get(URLs.getWoFrames);
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
List categoriesListJson = json.decode(response.body)["data"];
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
}
loading = false;
notifyListeners();
return response.statusCode;
} catch (error) {
loading = false;
stateCode = -1;
notifyListeners();
return -1;
}
}
}
Loading…
Cancel
Save