简单表格合并通用方法
list:表格的数据
param:需要合并的字段
这里这么写
复杂的表格合并
这种情况的话这样写
// 合并:
export function mergeTable(items, param, nuxt?){
const m = new Map();
items.forEach((l) => {
if (!m.has(l[param])) {
const len = items.filter((f) => {
return nuxt ? f[param] === l[param] && f[nuxt] === l[nuxt] : f[param] === l[param]
}).length;
m.set(l[param], len);
l[`${param}Span`] = len
} else {
l[`${param}Span`] = 0;
}
})
return items
}
拿到数据这样写:
let data:any=[]
// tableOlder 是封装得序号的方法 见下面
data = tableOlder(
res?.obj?.items,
pages.page,
pages.pageSize
);
tableData.value=mergeTable(data, 'teamNumber');
tableProcessingData.value = mergeTable(data, 'target', 'teamNumber')
pages.total = res?.obj?.itemTotal;
// 序号的方法
export default function tableOlder(data: any[] = [], page: number = 1, rows: number = 10) {
data.forEach((item: any, index: number) => {
// index 序号
item.index = (page - 1) * rows + index + 1;
})
return data
}
这里继续这样写: