<el-table
:data="storeSummaryList"
style="width: 100%"
v-loading="storeSummaryLoading"
:summary-method="getSummaries"
show-summary
>
</el-table>
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
return;
}
// 列表的下标 第几列需要合计就判断 === 第几列下标
if (index === 7 || index === 8 || index === 9 || index === 10) {
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] = parseFloat(sums[index]).toFixed(2);
} else {
sums[index] = '';
}
}
});
return sums;
}