From 63efb3fae0602672e98ab4399e03f23a8935f775 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 Date: Tue, 27 Jan 2026 16:17:37 +0300 Subject: [PATCH] change vendor details from dropdown to free text --- .../demo_module/create_demo_request_page.dart | 93 ++++++++++++------- .../demo_module/models/demo_form_model.dart | 14 ++- .../update_request_detail_view.dart | 4 +- 3 files changed, 70 insertions(+), 41 deletions(-) diff --git a/lib/modules/demo_module/create_demo_request_page.dart b/lib/modules/demo_module/create_demo_request_page.dart index a6b2e2ad..de422a0c 100644 --- a/lib/modules/demo_module/create_demo_request_page.dart +++ b/lib/modules/demo_module/create_demo_request_page.dart @@ -447,48 +447,72 @@ class _CreateDemoRequestPageState extends State with Tick return [ 'Vendor Details'.addTranslation.bodyText(context).custom(color: AppColor.black10), 8.height, - SingleItemDropDownMenu( - context: context, - title: 'Vendor Name'.addTranslation, + AppTextFormField( + labelText:'Vendor Name'.addTranslation, + style: Theme.of(context).textTheme.titleMedium, backgroundColor: AppColor.fieldBgColor(context), - initialValue: _demoFormModel.vendor, - showAsBottomSheet: true, + labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)), showShadow: false, - showCancel: true, - onSelect: (person) { - _demoFormModel.vendor = person; - _demoFormModel.supEngineer = null; - vendorPhoneController.text = person?.contact ?? ''; - vendorEmailController.text = person?.email ?? ''; - setState(() {}); + textInputType: TextInputType.text, + textInputAction: TextInputAction.next, + onChange: (value) { + _demoFormModel.vendorName = value; }, ), 8.height, - SingleItemDropDownMenu( - context: context, - backgroundColor: _demoFormModel.vendor?.suppliername == null - ? context.isDark - ? AppColor.neutral20 - : AppColor.neutral40 - : AppColor.fieldBgColor(context), - title: "Representative Name".addTranslation, + AppTextFormField( + labelText:'Representative Name'.addTranslation, + style: Theme.of(context).textTheme.titleMedium, + backgroundColor: AppColor.fieldBgColor(context), + labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)), 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(() {}); - } + textInputType: TextInputType.text, + textInputAction: TextInputAction.next, + onChange: (value) { + _demoFormModel.vendorRepresentativeName = value; }, ), + // SingleItemDropDownMenu( + // 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( + // 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, AppTextFormField( - controller: vendorPhoneController, - enable: false, + // controller: vendorPhoneController, labelText: "Contact Number", style: Theme.of(context).textTheme.titleMedium, backgroundColor: AppColor.fieldBgColor(context), @@ -497,14 +521,13 @@ class _CreateDemoRequestPageState extends State with Tick textInputType: TextInputType.phone, textInputAction: TextInputAction.next, onChange: (value) { - _demoFormModel.vendorNumber = value; + _demoFormModel.vendorContactNumber = value; }, ), 8.height, AppTextFormField( labelText: "Email", - controller: vendorEmailController, - enable: false, + // controller: vendorEmailController, style: Theme.of(context).textTheme.titleMedium, backgroundColor: AppColor.fieldBgColor(context), labelStyle: AppTextStyles.textFieldLabelStyle.copyWith(color: AppColor.textColor(context)), diff --git a/lib/modules/demo_module/models/demo_form_model.dart b/lib/modules/demo_module/models/demo_form_model.dart index 54b131da..57bafbc6 100644 --- a/lib/modules/demo_module/models/demo_form_model.dart +++ b/lib/modules/demo_module/models/demo_form_model.dart @@ -22,7 +22,8 @@ class DemoFormModel { String? manufacturer; Lookup? demoPeriod; String? vendorRepresentativeName; - String? vendorNumber; + String? vendorName; + String? vendorContactNumber; String? vendorEmail; Site? site; Building? building; // Now nullable @@ -45,7 +46,8 @@ class DemoFormModel { this.manufacturer, this.demoPeriod, this.vendorRepresentativeName, - this.vendorNumber, + this.vendorName, + this.vendorContactNumber, this.vendorEmail, this.demoAttachment, this.site, @@ -69,10 +71,14 @@ class DemoFormModel { "itemDescription": itemDescription, "requestDescription": requestDescription, "model": model, + "vendorName": vendorName, + "vendorContactNumber": vendorContactNumber, + "vendorEmail": vendorEmail, + "vendorRepresentativeName": vendorRepresentativeName, "manufacturer": manufacturer, "demoPeriodId": demoPeriod?.id, - "supplierId": vendor?.id, - "suppPersonId": supEngineer?.id, + "supplierId": 0, + "suppPersonId": 0, // "vendorEmail": vendorEmail, "demoAttachments": demoAttachment != null ? demoAttachment!.map((v) => v.toJson()).toList() : [], }; diff --git a/lib/modules/demo_module/update_request_detail_view.dart b/lib/modules/demo_module/update_request_detail_view.dart index 50cd4e0a..51740a68 100644 --- a/lib/modules/demo_module/update_request_detail_view.dart +++ b/lib/modules/demo_module/update_request_detail_view.dart @@ -96,7 +96,7 @@ class _UpdateRequestViewState extends State with TickerProvid _demoFormModel.vendor?.suppPersons = selectedVendor.suppPersons; _demoFormModel.supEngineer = widget.dataModel.suppPerson; _demoFormModel.vendorEmail = supplier?.email; - _demoFormModel.vendorNumber = supplier?.contact; + _demoFormModel.vendorContactNumber = supplier?.contact; vendorEmailController.text = supplier?.email ?? ''; vendorPhoneController.text = supplier?.contact ?? ''; @@ -214,7 +214,7 @@ class _UpdateRequestViewState extends State with TickerProvid textInputType: TextInputType.phone, textInputAction: TextInputAction.next, onChange: (value) { - _demoFormModel.vendorNumber = value; + _demoFormModel.vendorContactNumber = value; }, ), 8.height,