feat(easy-admin): add filtering functionality when sorting tables

- Implement filter logic in the table sorting event
- Iterate through columns to check for filter conditions-Construct filter and operator objects based on selected values
- Update the defaultWhere object with filter and op parameters
- Reload the table with the combined sorting and filtering conditions
This commit is contained in:
wolfcode
2025-04-01 17:35:49 +08:00
parent bdabac7cff
commit db0ac015f0

View File

@@ -986,7 +986,21 @@ define(["jquery", "tableSelect", "miniTheme", "xmSelect", "lazyload"], function
},
listenSort: function (options) {
table.on('sort(' + options.layFilter + ')', function (obj) {
let defaultWhere = options.where || {}
let defaultWhere = {}
$.each(options.cols, function (_, colsV) {
let formatFilter = {}
let formatOp = {}
$.each(colsV, function (i, v) {
if (v.field) {
if ($('#c-' + v.field).val()) {
formatFilter[v.field] = $('#c-' + v.field).val()
formatOp[v.field] = v.searchOp || '='
defaultWhere['filter'] = JSON.stringify(formatFilter);
defaultWhere['op'] = JSON.stringify(formatOp);
}
}
})
})
let sortWhere = {tableOrder: obj.field + ' ' + obj.type}
table.reload(options.id, {
where: {...defaultWhere, ...sortWhere}