|
|
|
|
@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/helper/utils.dart';
|
|
|
|
|
import 'package:test_sa/models/device/asset.dart';
|
|
|
|
|
import 'package:test_sa/models/lookup.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/traf_department.dart';
|
|
|
|
|
@ -25,6 +26,7 @@ import 'package:test_sa/providers/lookups/yes_no_lookup_provider.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/equipment/asset_picker.dart';
|
|
|
|
|
|
|
|
|
|
import 'traf_request_model.dart';
|
|
|
|
|
import 'traf_request_provider.dart';
|
|
|
|
|
|
|
|
|
|
class CreateTRAFRequestPage extends StatefulWidget {
|
|
|
|
|
static const String id = "/create-TRAF";
|
|
|
|
|
@ -57,13 +59,13 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
trafRequest = TrafRequestDataModel();
|
|
|
|
|
trafRequest = TrafRequestDataModel(id: 0);
|
|
|
|
|
resetProviders();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void resetProviders() {
|
|
|
|
|
Provider.of<RequestTypeLookupProvider>(context, listen: false).reset();
|
|
|
|
|
// Provider.of<YesNoLookupProvider>(context, listen: false).reset();
|
|
|
|
|
Provider.of<YesNoLookupProvider>(context, listen: false).reset();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
@ -102,7 +104,13 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
initialValue: requestType,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
requestType = value;
|
|
|
|
|
trafRequest?.requestTypeId = value?.value;
|
|
|
|
|
trafRequest?.requestTypeId = value?.id;
|
|
|
|
|
if (requestType?.value == 1) {
|
|
|
|
|
trafRequest?.assetId = null;
|
|
|
|
|
trafRequest?.qty = null;
|
|
|
|
|
} else if (requestType?.value == 2) {
|
|
|
|
|
trafRequest?.assetNDId = null;
|
|
|
|
|
}
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -112,7 +120,8 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
clearAfterPick: false,
|
|
|
|
|
byName: true,
|
|
|
|
|
initialValue: "",
|
|
|
|
|
onPick: (part) {
|
|
|
|
|
onPick: (asset) {
|
|
|
|
|
trafRequest?.assetNDId = asset.id;
|
|
|
|
|
// model.partCatalogItem = PartCatalogItem(id: part.sparePart?.id, partNumber: part.sparePart?.partNo, partName: part.sparePart?.partName, oracleCode: part.sparePart?.oracleCode);
|
|
|
|
|
// setState(() {});
|
|
|
|
|
},
|
|
|
|
|
@ -128,6 +137,8 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
backgroundColor: AppColor.white936,
|
|
|
|
|
onPick: (asset) async {
|
|
|
|
|
this.asset = asset;
|
|
|
|
|
trafRequest?.assetId = asset.id?.toInt();
|
|
|
|
|
trafRequest?.qty = 1;
|
|
|
|
|
setState(() {});
|
|
|
|
|
// pendingAssetServiceRequest = null;
|
|
|
|
|
// _serviceRequest.device = asset;
|
|
|
|
|
@ -248,6 +259,7 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
trafRequest?.usingSolelyOrSharedId = value?.value;
|
|
|
|
|
if (isUsedSolelyOrShared?.value != 1) {
|
|
|
|
|
departments = [];
|
|
|
|
|
trafRequest?.departments = [];
|
|
|
|
|
Provider.of<DepartmentLookupProvider>(context, listen: false).reset();
|
|
|
|
|
}
|
|
|
|
|
setState(() {});
|
|
|
|
|
@ -266,9 +278,14 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
initialValue: departments,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
departments = value ?? [];
|
|
|
|
|
// setState(() {
|
|
|
|
|
//
|
|
|
|
|
// });
|
|
|
|
|
trafRequest?.departments = departments
|
|
|
|
|
.map((element) => Departments(
|
|
|
|
|
id: element.id!.toInt(),
|
|
|
|
|
trafId: element.id!.toInt(),
|
|
|
|
|
departmentId: element.id!.toInt(),
|
|
|
|
|
))
|
|
|
|
|
.toList();
|
|
|
|
|
// setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
@ -284,6 +301,10 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
otherServicesEffects = value;
|
|
|
|
|
trafRequest?.isEffectedId = value?.value;
|
|
|
|
|
if (otherServicesEffects?.value != 1) {
|
|
|
|
|
trafRequest?.effectedServices = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -315,6 +336,9 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
useInCombination = value;
|
|
|
|
|
trafRequest?.isCombinationId = value?.value;
|
|
|
|
|
if (useInCombination?.value != 1) {
|
|
|
|
|
trafRequest?.usedWithCombination = null;
|
|
|
|
|
}
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
@ -333,19 +357,6 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
// 23.height,
|
|
|
|
|
// AttachmentPicker(
|
|
|
|
|
// label: context.translation.attachImage,
|
|
|
|
|
// attachment: attachments,
|
|
|
|
|
// buttonColor: AppColor.black10,
|
|
|
|
|
// onlyImages: false,
|
|
|
|
|
// buttonIcon: 'image-plus'.toSvgAsset(color: context.isDark ? AppColor.primary10 : AppColor.neutral120),
|
|
|
|
|
// //verify this if not required delete this ..
|
|
|
|
|
// onChange: (attachments) {
|
|
|
|
|
// attachments = attachments;
|
|
|
|
|
// setState(() {});
|
|
|
|
|
// },
|
|
|
|
|
// ),
|
|
|
|
|
],
|
|
|
|
|
).toShadowContainer(context, padding: 12, borderRadius: 20),
|
|
|
|
|
16.height,
|
|
|
|
|
@ -371,7 +382,8 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
child: AppFilledButton(
|
|
|
|
|
buttonColor: AppColor.primary10,
|
|
|
|
|
label: context.translation.submitRequest,
|
|
|
|
|
onPressed: _acknowledgement ? _submit : null,
|
|
|
|
|
disableButton: !_acknowledgement,
|
|
|
|
|
onPressed: _verifyAndSubmit,
|
|
|
|
|
// buttonColor: AppColor.primary10,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -381,7 +393,12 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _submit() {
|
|
|
|
|
void _verifyAndSubmit() async {
|
|
|
|
|
trafRequest?.employeeId = context.userProvider.user?.userID;
|
|
|
|
|
trafRequest?.siteId = context.userProvider.user?.clientId;
|
|
|
|
|
// Utils.showLoading(context);
|
|
|
|
|
// await Provider.of<TrafRequestProvider>(context, listen: false).addTraf(trafRequest!.toJson());
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
Navigator.push(context, MaterialPageRoute(builder: (context) => TrafRequestDetailPage(trafId: 27)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|