external po & internal po added in search

main_production
Sikander Saleem 1 month ago
parent 6acc21fc6a
commit 071dd082b3

@ -225,6 +225,8 @@ class AllRequestsProvider extends ChangeNotifier {
if (search?.assetName?.value?.isNotEmpty ?? false) "assetName": search!.assetName!.value,
if (search?.assetNo?.value?.isNotEmpty ?? false) "assetNumber": search!.assetNo!.value,
if (search?.sn?.value?.isNotEmpty ?? false) "assetSerialNo": search!.sn!.value,
if (search?.externalPo?.value?.isNotEmpty ?? false) "externalPo": search!.externalPo!.value,
if (search?.internalPo?.value?.isNotEmpty ?? false) "internalPo": search!.internalPo!.value,
if (search?.model?.value?.isNotEmpty ?? false) "model": search!.model!.value,
if (search?.manufacture?.value?.isNotEmpty ?? false) "manufacturer": search!.manufacture!.value,
if (search?.startDate != null) "from": search!.startDate!.toIso8601String(),

@ -198,6 +198,7 @@ class _DashboardViewState extends State<DashboardView> {
@override
Widget build(BuildContext context) {
final user = Provider.of<UserProvider>(context, listen: false).user;
bool isUserFlowMedical = Provider.of<SettingProvider>(context, listen: false).isUserFlowMedical;
bool isEngineer = (user?.type) == UsersTypes.engineer;
///Need to check which info need to show on dashboard for quality user.
@ -230,7 +231,7 @@ class _DashboardViewState extends State<DashboardView> {
),
),
),
if (user != null && settingProvider.isUserFlowMedical == false && user.employeeIsHMG == false)
if (user != null && isUserFlowMedical == false && user.employeeIsHMG == false)
Positioned(
right: 20.toScreenWidth,
bottom: 20.toScreenHeight,

@ -8,6 +8,8 @@ class SearchAllRequestsModel {
SearchByManufactureModel? manufacture; // Now nullable
SearchBySNModel? sn; // Now nullable
SearchByRequestModel? model; // Now nullable
SearchByExternalPO? externalPo; // Now nullable
SearchByInternalPO? internalPo; // Now nullable
SearchAllRequestsBaseModel? searchBySelectedValue; // Now nullable
List<int>? statuses; // Now nullable
List<int>? typeTransaction; // Now nullable
@ -21,6 +23,8 @@ class SearchAllRequestsModel {
this.assetNo,
this.manufacture,
this.sn,
this.externalPo,
this.internalPo,
this.model,
this.statuses,
this.typeTransaction,
@ -70,6 +74,16 @@ class SearchAllRequestsModel {
sn?.value = null;
}
if (field != 'externalPo') {
externalPo?.controller?.text = "";
externalPo?.value = null;
}
if (field != 'internalPo') {
internalPo?.controller?.text = "";
internalPo?.value = null;
}
if (field != 'model') {
model?.controller?.text = "";
model?.value = null;
@ -128,6 +142,14 @@ class SearchAllRequestsModel {
json["assetSerialNo"] = sn!.value;
}
if (externalPo?.value?.isNotEmpty ?? false) {
json["externalPo"] = externalPo!.value;
}
if (internalPo?.value?.isNotEmpty ?? false) {
json["internalPo"] = internalPo!.value;
}
if (model?.value?.isNotEmpty ?? false) {
json["model"] = model!.value;
}
@ -187,3 +209,13 @@ class SearchByRequestModel extends SearchAllRequestsBaseModel {
SearchByRequestModel(BuildContext context, {TextEditingController? controller, String? value}) // Parameters now nullable
: super(context, controller: controller, label: context.translation.model, value: value);
}
class SearchByExternalPO extends SearchAllRequestsBaseModel {
SearchByExternalPO(BuildContext context, {TextEditingController? controller, String? value}) // Parameters now nullable
: super(context, controller: controller, label: "External PO", value: value);
}
class SearchByInternalPO extends SearchAllRequestsBaseModel {
SearchByInternalPO(BuildContext context, {TextEditingController? controller, String? value}) // Parameters now nullable
: super(context, controller: controller, label: "Internal PO", value: value);
}

@ -57,6 +57,8 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
search!.assetNo?.controller?.text = search?.assetNo!.value ?? "";
search!.manufacture?.controller?.text = search?.manufacture!.value ?? "";
search!.sn?.controller?.text = search?.sn?.value ?? "";
search!.externalPo?.controller?.text = search?.externalPo?.value ?? "";
search!.internalPo?.controller?.text = search?.internalPo?.value ?? "";
search!.model?.controller?.text = search?.model?.value ?? "";
}
super.initState();
@ -74,6 +76,8 @@ class _AllRequestsFilterPageState extends State<AllRequestsFilterPage> {
manufacture: SearchByManufactureModel(context, controller: TextEditingController()),
sn: SearchBySNModel(context, controller: TextEditingController()),
model: SearchByRequestModel(context, controller: TextEditingController()),
externalPo: SearchByExternalPO(context, controller: TextEditingController()),
internalPo: SearchByInternalPO(context, controller: TextEditingController()),
);
search!.searchBySelectedValue = search?.requestNumber;
}

@ -58,6 +58,8 @@ class _AllRequestsSearchPageState extends State<AllRequestsSearchPage> {
search!.assetNo?.controller?.text = search?.assetNo?.value ?? "";
search!.manufacture?.controller?.text = search?.manufacture?.value ?? "";
search!.sn?.controller?.text = search?.sn?.value ?? "";
search!.externalPo?.controller?.text = search?.externalPo?.value ?? "";
search!.internalPo?.controller?.text = search?.internalPo?.value ?? "";
search!.model?.controller?.text = search?.model?.value ?? "";
}
super.initState();
@ -73,6 +75,8 @@ class _AllRequestsSearchPageState extends State<AllRequestsSearchPage> {
manufacture: SearchByManufactureModel(context, controller: TextEditingController()),
sn: SearchBySNModel(context, controller: TextEditingController()),
model: SearchByRequestModel(context, controller: TextEditingController()),
externalPo: SearchByExternalPO(context, controller: TextEditingController()),
internalPo: SearchByInternalPO(context, controller: TextEditingController()),
);
search!.searchBySelectedValue = search?.requestNumber;
}
@ -121,7 +125,16 @@ class _AllRequestsSearchPageState extends State<AllRequestsSearchPage> {
Text(context.translation.searchBy, style: AppTextStyles.heading5.copyWith(color: AppColor.labelTextStyleColor(context))),
8.height,
RequestsSearchButtons(
items: [search!.requestNumber!, search!.assetName!, search!.assetNo!, search!.manufacture!, search!.sn!, search!.model!],
items: [
search!.requestNumber!,
search!.assetName!,
search!.assetNo!,
search!.manufacture!,
search!.sn!,
search!.model!,
search!.externalPo!,
search!.internalPo!,
],
initialValue: search!.searchBySelectedValue!,
onSelect: (value) {
if (search!.searchBySelectedValue != value) {

@ -353,6 +353,8 @@ class _MyRequestsPageState extends State<MyRequestsPage> with SingleTickerProvid
(_search!.assetName?.value?.isNotEmpty ?? false) ||
(_search!.manufacture?.value?.isNotEmpty ?? false) ||
(_search!.sn?.value?.isNotEmpty ?? false) ||
(_search!.externalPo?.value?.isNotEmpty ?? false) ||
(_search!.internalPo?.value?.isNotEmpty ?? false) ||
(_search!.statuses?.isNotEmpty ?? false) ||
(_search!.typeTransaction?.isNotEmpty ?? false) ||
(_search!.startDate != null) ||
@ -481,6 +483,30 @@ class _MyRequestsPageState extends State<MyRequestsPage> with SingleTickerProvid
},
));
}
if (_search?.externalPo?.value?.isNotEmpty ?? false) {
chips.add(_buildFilterChip(
label: 'External PO: ${_search!.externalPo!.value}',
onDelete: () {
setState(() {
_search!.externalPo!.value = null;
_search!.externalPo!.controller?.clear();
_refreshWithFilters();
});
},
));
}
if (_search?.internalPo?.value?.isNotEmpty ?? false) {
chips.add(_buildFilterChip(
label: 'Internal PO: ${_search!.internalPo!.value}',
onDelete: () {
setState(() {
_search!.internalPo!.value = null;
_search!.internalPo!.controller?.clear();
_refreshWithFilters();
});
},
));
}
// Model
if (_search?.model?.value?.isNotEmpty ?? false) {
@ -664,6 +690,10 @@ class _MyRequestsPageState extends State<MyRequestsPage> with SingleTickerProvid
_search?.manufacture?.controller?.clear();
_search?.sn?.value = null;
_search?.sn?.controller?.clear();
_search?.externalPo?.value = null;
_search?.externalPo?.controller?.clear();
_search?.internalPo?.value = null;
_search?.internalPo?.controller?.clear();
_search?.model?.value = null;
_search?.model?.controller?.clear();
_search?.statuses?.clear();

Loading…
Cancel
Save