This commit is contained in:
2021-01-28 15:50:06 +00:00
parent b597e42fcd
commit 3eaf222e42
3 changed files with 45 additions and 32 deletions

View File

@@ -149,10 +149,7 @@ todo: DataList view and filter are combined and this is wrong
public ActionResult GetDefaultDataListView([FromRoute] string dataListKey)
Test the everloving shit out of this
CURRENTLY: most lists default view ok (not filtering yet just default no filter) except:
Contacts - Customer users list is empty when it shouldn't be
CustomerNotes - needs criteria sent of customer id
CURRENTLY: most lists default view ok (not filtering yet just default no filter) except:
Part->PartInventory, Transactions, menu option list - not filtering at all
Warehouse '' ditto above
@@ -180,6 +177,7 @@ todo: *biz objects with foreign key constraints should call ValidateCanDelete
iow: apartinventory REFERENCES apartwarehouseid so PartWarehouseBiz ValidateCanDelete must check if there are any apartinventory with this warehouse
(also PartWarehouseBiz ValidateCanDelete is the references for this code)
todo: ClientNote form link back to customer disappears on save of NEW record only (not update), should always be present
todo: standardize routes and route names and form names
Use plural and singular names throughout for consistency

View File

@@ -409,6 +409,10 @@ export default {
type: String,
default: undefined
},
clientCriteria: {
type: String,
default: undefined
},
showSelect: {
type: Boolean,
default: false
@@ -502,7 +506,7 @@ export default {
selectedRowIds: selectedRowIds,
dataListKey: vm.dataListKey,
listView: untokenizeListView(vm.listView),
metaView: vm.metaView
clientCriteria: vm.clientCriteria
};
},
handleSelectChange() {
@@ -646,7 +650,7 @@ export default {
limit: listOptions.Limit,
dataListKey: vm.dataListKey,
listView: untokenizedListView,
metaView: vm.metaView
clientCriteria: vm.clientCriteria
});
if (res.error) {
@@ -695,7 +699,7 @@ export default {
vm.getDataFromApi();
},
beforeUpdate() {
if (this.metaView != null && this.listViewId != 0) {
if (this.clientCriteria != null && this.listViewId != 0) {
this.resetListView();
}
}

View File

@@ -15,7 +15,7 @@
:dataListSort="dataListSort"
:showSelect="rights.read"
:reload="reload"
:metaView="metaView"
:clientCriteria="clientCriteria"
v-on:selection-change="handleSelected"
data-cy="partInventoryTable"
>
@@ -31,30 +31,41 @@ export default {
vm.rights = window.$gz.role.getRights(window.$gz.type.PartInventory);
window.$gz.eventBus.$on("menu-click", clickHandler);
if (vm.$route.params.filter) {
let metaFilter = [];
//pre-filter by PartNumber or warehouse name or both
if (vm.$route.params.filter.PartPartNumber != null) {
metaFilter.push({
fld: "PartPartNumber",
filter: {
items: [{ op: "=", value: vm.$route.params.filter.PartPartNumber }]
}
});
}
//Generate client criteria to send if filtered by part, whs or both
vm.clientCriteria = `p:${
vm.$route.params.filter.PartPartNumber
? vm.$route.params.filter.PartPartNumber
: "*"
},w:${
vm.$route.params.filter.PartWarehouseName
? vm.$route.params.filter.PartWarehouseName
: "*"
}`;
if (vm.$route.params.filter.PartWarehouseName != null) {
metaFilter.push({
fld: "PartWarehouseName",
filter: {
items: [
{ op: "=", value: vm.$route.params.filter.PartWarehouseName }
]
}
});
}
vm.metaView = JSON.stringify(metaFilter);
}
// if (vm.$route.params.filter) {
// vm.clientCriteria = "";
// //pre-filter by PartNumber or warehouse name or both
// if (vm.$route.params.filter.PartPartNumber != null) {
// metaFilter.push({
// fld: "PartPartNumber",
// filter: {
// items: [{ op: "=", value: vm.$route.params.filter.PartPartNumber }]
// }
// });
// }
// if (vm.$route.params.filter.PartWarehouseName != null) {
// metaFilter.push({
// fld: "PartWarehouseName",
// filter: {
// items: [
// { op: "=", value: vm.$route.params.filter.PartWarehouseName }
// ]
// }
// });
// }
// vm.clientCriteria = `PartPartNumber:`;
// }
generateMenu(vm);
},
beforeDestroy() {
@@ -69,7 +80,7 @@ export default {
rights: window.$gz.role.defaultRightsObject(),
ayType: window.$gz.type.PartInventory,
selectedItems: [],
metaView: undefined,
clientCriteria: undefined,
reload: false
};
},