loan availability added.

main_design2.0
Sikander Saleem 2 years ago
parent 1fbcbd0662
commit ebef7a7d81

@ -1,5 +1,6 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/service_request/service_report.dart'; import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/models/service_request/spare_parts.dart'; import 'package:test_sa/models/service_request/spare_parts.dart';
@ -51,6 +52,8 @@ class SearchWorkOrder {
this.woParentDto, this.woParentDto,
this.timer, this.timer,
this.mrNumber, this.mrNumber,
this.loanAvailablity,
this.assetLoan
}); });
SearchWorkOrder.fromJson(dynamic json) { SearchWorkOrder.fromJson(dynamic json) {
@ -116,6 +119,7 @@ class SearchWorkOrder {
} }
engSignature = json['engSignature']; engSignature = json['engSignature'];
nurseSignature = json['nurseSignature']; nurseSignature = json['nurseSignature'];
woParentDto = json['woParentDto'] != null ? WoParent.fromJson(json['woParentDto']) : null; woParentDto = json['woParentDto'] != null ? WoParent.fromJson(json['woParentDto']) : null;
} }
@ -199,6 +203,10 @@ class SearchWorkOrder {
TimerModel timer; TimerModel timer;
String mrNumber; String mrNumber;
Lookup loanAvailablity;
AssetInfo assetLoan;
SearchWorkOrder copyWith({ SearchWorkOrder copyWith({
num id, num id,
num parentWOId, num parentWOId,
@ -234,6 +242,8 @@ class SearchWorkOrder {
WoParent woParentDto, WoParent woParentDto,
TimerModel timer, TimerModel timer,
String mrNumber, String mrNumber,
Lookup loanAvailablity,
AssetInfo assetLoan,
}) => }) =>
SearchWorkOrder( SearchWorkOrder(
id: id ?? this.id, id: id ?? this.id,
@ -270,6 +280,8 @@ class SearchWorkOrder {
woParentDto: woParentDto ?? this.woParentDto, woParentDto: woParentDto ?? this.woParentDto,
timer: timer ?? this.timer, timer: timer ?? this.timer,
mrNumber: mrNumber ?? this.mrNumber, mrNumber: mrNumber ?? this.mrNumber,
loanAvailablity: loanAvailablity ?? this.loanAvailablity,
assetLoan: assetLoan ?? this.assetLoan,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -342,6 +354,12 @@ class SearchWorkOrder {
if (mrNumber != null) { if (mrNumber != null) {
map['mrNumber'] = mrNumber; map['mrNumber'] = mrNumber;
} }
if (loanAvailablity != null) {
map['loanAvailablity'] = loanAvailablity.toJson();
}
if (assetLoan != null) {
map['assetLoan'] = assetLoan.toJson();
}
return map; return map;
} }

@ -12,6 +12,7 @@ import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/assigned_employee.dart'; import 'package:test_sa/models/new_models/assigned_employee.dart';
import 'package:test_sa/models/new_models/assistant_employee.dart'; import 'package:test_sa/models/new_models/assistant_employee.dart';
@ -20,7 +21,9 @@ import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart'; import 'package:test_sa/providers/service_request_providers/equipment_status_provider.dart';
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
import 'package:test_sa/providers/work_order/vendor_provider.dart'; import 'package:test_sa/providers/work_order/vendor_provider.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart'; import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart';
@ -126,6 +129,8 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
}); });
} }
Asset loanAvailabilityAsset;
@override @override
void dispose() { void dispose() {
_workPreformedController?.dispose(); _workPreformedController?.dispose();
@ -241,7 +246,9 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
title: context.translation.reason, title: context.translation.reason,
initialValue: _subWorkOrders.reason, initialValue: _subWorkOrders.reason,
onSelect: (value) { onSelect: (value) {
_subWorkOrders.reason = value; if(value!=null) {
_subWorkOrders.reason = value;
}
}, },
), ),
8.height, 8.height,
@ -335,6 +342,37 @@ class _CreateSubWorkOrderPageState extends State<CreateSubWorkOrderPage> {
enable: false, enable: false,
controller: _workPreformedController, controller: _workPreformedController,
), ),
8.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
context: context,
title: context.translation.loanAvailability,
initialValue: _subWorkOrders?.loanAvailablity,
onSelect: (status) {
if (status != null) {
setState(() {
_subWorkOrders.loanAvailablity = status;
if (_subWorkOrders.loanAvailablity.value != 1) {
loanAvailabilityAsset = null;
_subWorkOrders.assetLoan = null;
}
});
}
},
),
if (_subWorkOrders?.loanAvailablity?.value == 1) 8.height,
if (_subWorkOrders?.loanAvailablity?.value == 1)
PickAsset(
device: loanAvailabilityAsset, // ?? _serviceReport.device,
onPickAsset: (asset) {
if (asset != null) {
_subWorkOrders.assetLoan = AssetInfo.fromJson(asset.toJson());
setState(() {
loanAvailabilityAsset = asset;
});
}
},
),
8.height, 8.height,
ServiceReportAssistantEmployeeMenu( ServiceReportAssistantEmployeeMenu(
title: context.translation.assignAssistant, title: context.translation.assignAssistant,

@ -79,8 +79,8 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
super.initState(); super.initState();
if (context.mounted) { if (context.mounted) {
Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset(); Provider.of<ServiceReportLastCallsProvider>(context, listen: false).reset();
Provider.of<ReasonProvider>(context, listen: false).reset(); Provider.of<ReasonProvider>(context, listen: false).reset();
Provider.of<ReasonProvider>(context, listen: false).serviceRequestId = widget.request.id; Provider.of<ReasonProvider>(context, listen: false).serviceRequestId = widget.request.id;
} }
// _isLoading = true; // _isLoading = true;
} }
@ -263,30 +263,36 @@ class _CreateServiceReportState extends State<CreateServiceReport> with TickerPr
controller: _workPreformedController, controller: _workPreformedController,
), ),
8.height, 8.height,
// SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>( SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
// context: context, context: context,
// title: context.translation.loanAvailability, title: context.translation.loanAvailability,
// initialValue: _serviceReport?.loanAvailablity, initialValue: _serviceReport?.loanAvailablity,
// onSelect: (status) { onSelect: (status) {
// setState(() { if (status != null) {
// _serviceReport.loanAvailablity = status; setState(() {
// if (_serviceReport.loanAvailablity.value != 1) { _serviceReport.loanAvailablity = status;
// loanAvailabilityAsset = null; if (_serviceReport.loanAvailablity.value != 1) {
// } loanAvailabilityAsset = null;
// }); _serviceReport.assetLoan = null;
// }, }
// ), });
// if (_serviceReport?.loanAvailablity?.value == 1) 8.height, }
// if (_serviceReport?.loanAvailablity?.value == 1) },
// PickAsset( ),
// device: loanAvailabilityAsset,// ?? _serviceReport.device, if (_serviceReport?.loanAvailablity?.value == 1) 8.height,
// onPickAsset: (asset) { if (_serviceReport?.loanAvailablity?.value == 1)
// setState(() { PickAsset(
// loanAvailabilityAsset = asset; device: loanAvailabilityAsset, // ?? _serviceReport.device,
// }); onPickAsset: (asset) {
// }, if (asset != null) {
// ), _serviceReport.assetLoan = AssetInfo.fromJson(asset.toJson());
// 8.height, setState(() {
loanAvailabilityAsset = asset;
});
}
},
),
8.height,
ServiceReportAssistantEmployeeMenu( ServiceReportAssistantEmployeeMenu(
title: context.translation.assignAssistant, title: context.translation.assignAssistant,
assetId: _serviceReport.callRequest?.asset?.id, assetId: _serviceReport.callRequest?.asset?.id,

@ -11,9 +11,13 @@ import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/service_request/service_report.dart'; import 'package:test_sa/models/service_request/service_report.dart';
import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/common_widgets/asset_info_card.dart';
import 'package:test_sa/providers/service_request_providers/loan_availability_provider.dart';
import 'package:test_sa/views/pages/user/requests/work_order/part_no_button.dart'; import 'package:test_sa/views/pages/user/requests/work_order/part_no_button.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart'; import 'package:test_sa/views/widgets/status/report/service_report_last_call.dart';
@ -63,6 +67,8 @@ class _EditServiceReportState extends State<EditServiceReport> with TickerProvid
ServiceStatusProvider _assetTypeProvider; ServiceStatusProvider _assetTypeProvider;
CallRequest _callRequestForWorkOrder; CallRequest _callRequestForWorkOrder;
Asset loanAvailabilityAsset;
@override @override
void initState() { void initState() {
_serviceReport = widget.report; _serviceReport = widget.report;
@ -247,6 +253,38 @@ class _EditServiceReportState extends State<EditServiceReport> with TickerProvid
controller: _workPreformedController, controller: _workPreformedController,
), ),
8.height, 8.height,
SingleItemDropDownMenu<Lookup, LoanAvailabilityProvider>(
context: context,
title: context.translation.loanAvailability,
initialValue: _serviceReport?.loanAvailablity,
onSelect: (status) {
if (status != null) {
setState(() {
_serviceReport.loanAvailablity = status;
if (_serviceReport.loanAvailablity.value != 1) {
loanAvailabilityAsset = null;
_serviceReport.assetLoan = null;
}
});
}
},
),
if (_serviceReport?.loanAvailablity?.value == 1) 8.height,
if (_serviceReport?.loanAvailablity?.value == 1)
PickAsset(
device: loanAvailabilityAsset, // ?? _serviceReport.device,
onPickAsset: (asset) {
if (asset != null) {
_serviceReport.assetLoan = AssetInfo.fromJson(asset.toJson());
setState(() {
loanAvailabilityAsset = asset;
});
}
},
),
if (_serviceReport.assetLoan != null && loanAvailabilityAsset == null)
Card(child: "${context.translation.assetNumber}: ${_serviceReport.assetLoan.assetNumber}".bodyText(context).paddingAll(16)),
8.height,
ServiceReportAssistantEmployeeMenu( ServiceReportAssistantEmployeeMenu(
title: context.translation.assignAssistant, title: context.translation.assignAssistant,
assetId: _serviceReport.callRequest?.asset?.id, assetId: _serviceReport.callRequest?.asset?.id,

Loading…
Cancel
Save