loan form desing created

design_3.0_asset_delivery_module
WaseemAbbasi22 2 months ago
parent 255691f47a
commit a2453e8c88

@ -1,5 +1,7 @@
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/building.dart';
import 'package:test_sa/models/new_models/department.dart';
import 'package:test_sa/models/new_models/floor.dart';
import 'package:test_sa/models/new_models/site.dart';
class LoanFormModel {
@ -17,6 +19,8 @@ class LoanFormModel {
String? vendorEmail;
Site? site;
Building? building;
Lookup? department;
Floor? floor;
List<LoanAttachments>? loanAttachment;
LoanFormModel({
@ -35,6 +39,8 @@ class LoanFormModel {
this.loanAttachment,
this.site,
this.building,
this.floor,
this.department,
});
Map<String, dynamic> toJson() {

@ -14,6 +14,8 @@ import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/models/enums/user_types.dart';
import 'package:test_sa/models/generic_attachment_model.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/building.dart';
import 'package:test_sa/models/new_models/floor.dart';
import 'package:test_sa/models/new_models/mapped_sites.dart';
import 'package:test_sa/models/new_models/room_model.dart';
import 'package:test_sa/models/new_models/site.dart';
@ -28,6 +30,7 @@ import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/new_views/common_widgets/single_item_drop_down_menu.dart';
import 'package:test_sa/providers/department_provider.dart';
import 'package:test_sa/providers/gas_request_providers/site_provider.dart';
import 'package:test_sa/providers/loading_list_notifier.dart';
import 'package:test_sa/providers/task_request_provider/task_job_provider.dart';
@ -37,6 +40,7 @@ import 'package:test_sa/views/widgets/equipment/asset_picker.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import '../../../../../../new_views/common_widgets/default_app_bar.dart';
import '../../../models/new_models/department.dart';
class CreateLoanRequestView extends StatefulWidget {
static const String id = "/create-loan";
@ -54,6 +58,7 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
Asset? device;
TaskType? selectedType;
final LoanFormModel _loanFormModel = LoanFormModel();
bool isEng = true;
TextEditingController commentController = TextEditingController();
@override
@ -76,6 +81,10 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if(isEng)...[
scanAssetButton(),
16.height,
],
contactInfoSection(),
16.height,
itemDetailsSection(),
@ -172,53 +181,140 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
children: [
'Item Details'.addTranslation.heading6(context).custom(color: AppColor.black10),
8.height,
SingleItemDropDownMenu<Site, SiteProvider>(
context: context,
title: context.translation.site,
initialValue: _loanFormModel.site,
showShadow: false,
backgroundColor: AppColor.fieldBgColor(context),
showAsBottomSheet: true,
onSelect: (value) {
_loanFormModel.site = value;
_loanFormModel.building = null;
setState(() {});
},
),
// 8.height,
// SingleItemDropDownMenu<Building, NullableLoadingProvider>(
// context: context,
// title: context.translation.building,
// initialValue: _loanFormModel.building,
// showShadow: false,
// showAsBottomSheet: true,
// backgroundColor: AppColor.fieldBgColor(context),
// enabled: _loanFormModel.site?.buildings?.isNotEmpty ?? false,
// staticData: _loanFormModel.site?.buildings ?? [],
// onSelect: (value) {
// _loanFormModel.building = value;
// _loanFormModel.floor = null;
// _loanFormModel.department = null;
// setState(() {});
// },
// ),
// 8.height,
// SingleItemDropDownMenu<Floor, NullableLoadingProvider>(
// context: context,
// title: context.translation.floor,
// showShadow: false,
// showAsBottomSheet: true,
// initialValue: _loanFormModel.floor,
// backgroundColor: AppColor.fieldBgColor(context),
// enabled: _loanFormModel.building?.floors?.isNotEmpty ?? false,
// staticData: _loanFormModel.building?.floors ?? [],
// onSelect: (value) {
// _loanFormModel.floor = value;
// _loanFormModel.department = null;
// setState(() {});
// },
// ),
8.height,
//TODO need to check where to get all departments..
SingleItemDropDownMenu<Lookup, DepartmentProvider>(
context: context,
title: context.translation.department,
showShadow: false,
showAsBottomSheet: true,
initialValue: _loanFormModel.department,
backgroundColor: AppColor.fieldBgColor(context),
onSelect: (value) {
_loanFormModel.department = value;
setState(() {});
},
),
8.height,
AppTextFormField(
labelText: "Name",
labelText: "Item Description",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Name",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.text,
showShadow: false,
onSaved: (value) {
_loanFormModel.docName = value;
_loanFormModel.itemDescription = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
AppTextFormField(
labelText: "Number",
labelText: "Request Description",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Number",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.phone,
textInputType: TextInputType.text,
showShadow: false,
onSaved: (value) {
_loanFormModel.docNumber = value;
_loanFormModel.requestDescription = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
AppTextFormField(
labelText: "Email",
labelText: "Model",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Email",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.emailAddress,
textInputType: TextInputType.text,
showShadow: false,
onSaved: (value) {
_loanFormModel.docEmail = value;
_loanFormModel.model = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
AppTextFormField(
labelText: "Manufacturer",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.text,
showShadow: false,
onSaved: (value) {
_loanFormModel.manufacturer = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
8.height,
SingleItemDropDownMenu<Lookup, DepartmentProvider>(
context: context,
title: 'Loan Period'.addTranslation,
showShadow: false,
showAsBottomSheet: true,
initialValue: _loanFormModel.loanProvided,
backgroundColor: AppColor.fieldBgColor(context),
onSelect: (value) {
_loanFormModel.loanProvided = value;
setState(() {});
},
),
8.height,
],
);
}
Widget vendorDetailsSection() {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -229,13 +325,13 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
labelText: "Name",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Name",
hintText: "Vendor Name",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.text,
showShadow: false,
onSaved: (value) {
_loanFormModel.docName = value;
_loanFormModel.vendorName = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
@ -244,13 +340,13 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
labelText: "Number",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Number",
hintText: "Vendor Number",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.phone,
showShadow: false,
onSaved: (value) {
_loanFormModel.docNumber = value;
_loanFormModel.vendorNumber = value;
},
style: Theme.of(context).textTheme.titleMedium,
),
@ -259,13 +355,13 @@ class _CreateLoanRequestViewState extends State<CreateLoanRequestView> with Tick
labelText: "Email",
backgroundColor: AppColor.fieldBgColor(context),
textAlign: TextAlign.center,
hintText: "Doc Email",
hintText: "Vendor Email",
labelStyle: AppTextStyles.textFieldLabelStyle,
hintStyle: AppTextStyles.textFieldLabelStyle,
textInputType: TextInputType.emailAddress,
showShadow: false,
onSaved: (value) {
_loanFormModel.docEmail = value;
_loanFormModel.vendorEmail = value;
},
style: Theme.of(context).textTheme.titleMedium,
),

Loading…
Cancel
Save