change vendor details from dropdown to free text

design_3.0_demo_module
WaseemAbbasi22 2 months ago
parent 938f5173a4
commit 63efb3fae0

@ -447,48 +447,72 @@ class _CreateDemoRequestPageState extends State<CreateDemoRequestPage> with Tick
return [ return [
'Vendor Details'.addTranslation.bodyText(context).custom(color: AppColor.black10), 'Vendor Details'.addTranslation.bodyText(context).custom(color: AppColor.black10),
8.height, 8.height,
SingleItemDropDownMenu<SupplierDetails, VendorProvider>( AppTextFormField(
context: context, labelText:'Vendor Name'.addTranslation,
title: 'Vendor Name'.addTranslation, style: Theme.of(context).textTheme.titleMedium,
backgroundColor: AppColor.fieldBgColor(context), backgroundColor: AppColor.fieldBgColor(context),
initialValue: _demoFormModel.vendor, labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)),
showAsBottomSheet: true,
showShadow: false, showShadow: false,
showCancel: true, textInputType: TextInputType.text,
onSelect: (person) { textInputAction: TextInputAction.next,
_demoFormModel.vendor = person; onChange: (value) {
_demoFormModel.supEngineer = null; _demoFormModel.vendorName = value;
vendorPhoneController.text = person?.contact ?? '';
vendorEmailController.text = person?.email ?? '';
setState(() {});
}, },
), ),
8.height, 8.height,
SingleItemDropDownMenu<SuppPersons, NullableLoadingProvider>( AppTextFormField(
context: context, labelText:'Representative Name'.addTranslation,
backgroundColor: _demoFormModel.vendor?.suppliername == null style: Theme.of(context).textTheme.titleMedium,
? context.isDark backgroundColor: AppColor.fieldBgColor(context),
? AppColor.neutral20 labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)),
: AppColor.neutral40
: AppColor.fieldBgColor(context),
title: "Representative Name".addTranslation,
showShadow: false, showShadow: false,
enabled: _demoFormModel.vendor?.suppPersons?.isNotEmpty ?? false, textInputType: TextInputType.text,
staticData: _demoFormModel.vendor?.suppPersons, textInputAction: TextInputAction.next,
showAsBottomSheet: true, onChange: (value) {
initialValue: _demoFormModel.supEngineer == null ? null : SuppPersons.fromJson(_demoFormModel.supEngineer?.toJson()), _demoFormModel.vendorRepresentativeName = value;
onSelect: (suppPerson) {
if (suppPerson != null) {
_demoFormModel.supEngineer = SuppEngineerWorkOrders.fromJson(suppPerson.toJson());
setState(() {});
}
}, },
), ),
// SingleItemDropDownMenu<SupplierDetails, VendorProvider>(
// context: context,
// title: 'Vendor Name'.addTranslation,
// backgroundColor: AppColor.fieldBgColor(context),
// initialValue: _demoFormModel.vendor,
// showAsBottomSheet: true,
// showShadow: false,
// showCancel: true,
// onSelect: (person) {
// _demoFormModel.vendor = person;
// _demoFormModel.supEngineer = null;
// vendorPhoneController.text = person?.contact ?? '';
// vendorEmailController.text = person?.email ?? '';
// setState(() {});
// },
// ),
// 8.height,
// SingleItemDropDownMenu<SuppPersons, NullableLoadingProvider>(
// context: context,
// backgroundColor: _demoFormModel.vendor?.suppliername == null
// ? context.isDark
// ? AppColor.neutral20
// : AppColor.neutral40
// : AppColor.fieldBgColor(context),
// title: "Representative Name".addTranslation,
// showShadow: false,
// enabled: _demoFormModel.vendor?.suppPersons?.isNotEmpty ?? false,
// staticData: _demoFormModel.vendor?.suppPersons,
// showAsBottomSheet: true,
// initialValue: _demoFormModel.supEngineer == null ? null : SuppPersons.fromJson(_demoFormModel.supEngineer?.toJson()),
// onSelect: (suppPerson) {
// if (suppPerson != null) {
// _demoFormModel.supEngineer = SuppEngineerWorkOrders.fromJson(suppPerson.toJson());
//
// setState(() {});
// }
// },
// ),
8.height, 8.height,
AppTextFormField( AppTextFormField(
controller: vendorPhoneController, // controller: vendorPhoneController,
enable: false,
labelText: "Contact Number", labelText: "Contact Number",
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,
backgroundColor: AppColor.fieldBgColor(context), backgroundColor: AppColor.fieldBgColor(context),
@ -497,14 +521,13 @@ class _CreateDemoRequestPageState extends State<CreateDemoRequestPage> with Tick
textInputType: TextInputType.phone, textInputType: TextInputType.phone,
textInputAction: TextInputAction.next, textInputAction: TextInputAction.next,
onChange: (value) { onChange: (value) {
_demoFormModel.vendorNumber = value; _demoFormModel.vendorContactNumber = value;
}, },
), ),
8.height, 8.height,
AppTextFormField( AppTextFormField(
labelText: "Email", labelText: "Email",
controller: vendorEmailController, // controller: vendorEmailController,
enable: false,
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,
backgroundColor: AppColor.fieldBgColor(context), backgroundColor: AppColor.fieldBgColor(context),
labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)), labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)),

@ -22,7 +22,8 @@ class DemoFormModel {
String? manufacturer; String? manufacturer;
Lookup? demoPeriod; Lookup? demoPeriod;
String? vendorRepresentativeName; String? vendorRepresentativeName;
String? vendorNumber; String? vendorName;
String? vendorContactNumber;
String? vendorEmail; String? vendorEmail;
Site? site; Site? site;
Building? building; // Now nullable Building? building; // Now nullable
@ -45,7 +46,8 @@ class DemoFormModel {
this.manufacturer, this.manufacturer,
this.demoPeriod, this.demoPeriod,
this.vendorRepresentativeName, this.vendorRepresentativeName,
this.vendorNumber, this.vendorName,
this.vendorContactNumber,
this.vendorEmail, this.vendorEmail,
this.demoAttachment, this.demoAttachment,
this.site, this.site,
@ -69,10 +71,14 @@ class DemoFormModel {
"itemDescription": itemDescription, "itemDescription": itemDescription,
"requestDescription": requestDescription, "requestDescription": requestDescription,
"model": model, "model": model,
"vendorName": vendorName,
"vendorContactNumber": vendorContactNumber,
"vendorEmail": vendorEmail,
"vendorRepresentativeName": vendorRepresentativeName,
"manufacturer": manufacturer, "manufacturer": manufacturer,
"demoPeriodId": demoPeriod?.id, "demoPeriodId": demoPeriod?.id,
"supplierId": vendor?.id, "supplierId": 0,
"suppPersonId": supEngineer?.id, "suppPersonId": 0,
// "vendorEmail": vendorEmail, // "vendorEmail": vendorEmail,
"demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [], "demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [],
}; };

@ -96,7 +96,7 @@ class _UpdateRequestViewState extends State<UpdateRequestView> with TickerProvid
_demoFormModel.vendor?.suppPersons = selectedVendor.suppPersons; _demoFormModel.vendor?.suppPersons = selectedVendor.suppPersons;
_demoFormModel.supEngineer = widget.dataModel.suppPerson; _demoFormModel.supEngineer = widget.dataModel.suppPerson;
_demoFormModel.vendorEmail = supplier?.email; _demoFormModel.vendorEmail = supplier?.email;
_demoFormModel.vendorNumber = supplier?.contact; _demoFormModel.vendorContactNumber = supplier?.contact;
vendorEmailController.text = supplier?.email ?? ''; vendorEmailController.text = supplier?.email ?? '';
vendorPhoneController.text = supplier?.contact ?? ''; vendorPhoneController.text = supplier?.contact ?? '';
@ -214,7 +214,7 @@ class _UpdateRequestViewState extends State<UpdateRequestView> with TickerProvid
textInputType: TextInputType.phone, textInputType: TextInputType.phone,
textInputAction: TextInputAction.next, textInputAction: TextInputAction.next,
onChange: (value) { onChange: (value) {
_demoFormModel.vendorNumber = value; _demoFormModel.vendorContactNumber = value;
}, },
), ),
8.height, 8.height,

Loading…
Cancel
Save