// 数据表格配置 const XEUtils = require("xe-utils") export default { pageSize: 20, // 表格每一页条数 pageSizes: [5, 10, 15, 20, 50, 100, 200, 500, 1000], // 表格可设置的一页条数 layouts: ["PrevJump", "PrevPage", "Jump", "PageCount", "NextPage", "NextJump", "Sizes", "Total"], // 表格分页布局 exportExcludeFields: ["checkbox", "radio"], queryData: function ({ formConfig: { data }, pagerConfig: { enabled, currentPage, pageSize } }, paramsColumns) { const query = enabled === false ? {} : { current: currentPage, size: pageSize } XEUtils.arrayEach(paramsColumns, item => { if (item.defaultValue) XEUtils.set(query, item.column, item.defaultValue) if (!valueIsNull(data, item.field || item.column)) XEUtils.set(query, item.column, XEUtils.get(data, item.field || item.column)) }) return query }, queryExport: function ({ formConfig: { data }, pagerConfig: { total } }, paramsColumns) { // 判断total const query = { current: 1, size: total } XEUtils.arrayEach(paramsColumns, item => { if (item.defaultValue) XEUtils.set(query, item.column, item.defaultValue) else if (!valueIsNull(data, item.field || item.column)) XEUtils.set(query, item.column, XEUtils.get(data, item.field || item.column)) }) return query }, parseData: function (res) { return { data: res.records || res, // 分析数据字段结构 total: res.total // 分析总数字段结构 } } } function valueIsNull(obj, key) { return XEUtils.get(obj, key) === "" || XEUtils.isNull(XEUtils.get(obj, key)) || XEUtils.isUndefined(XEUtils.get(obj, key)) || XEUtils.isEmpty(XEUtils.get(obj, key)) }