|
@@ -186,7 +186,7 @@
|
|
|
keep-source
|
|
|
beautifyTable
|
|
|
show-summary
|
|
|
- @summary-method="jisuan"
|
|
|
+ :summary-method="jisuan"
|
|
|
:checkbox-config="{highlight: true, trigger: 'row'}"
|
|
|
:edit-config="{trigger: 'click', mode: 'row'}"
|
|
|
:validConfig="{autoPos: true}">
|
|
@@ -1924,7 +1924,35 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
jisuan({columns, data}) {
|
|
|
- console.log('生效了吗', {columns, data})
|
|
|
+ // console.log('生效了吗', {columns, data})
|
|
|
+ const means = [] // 合计
|
|
|
+ columns.forEach((column, columnIndex) => {
|
|
|
+ if (columnIndex === 0) {
|
|
|
+ means.push('合计')
|
|
|
+ } else {
|
|
|
+ const values = data.map(item => Number(item[column.property]));
|
|
|
+ // 合计
|
|
|
+ if (column.property === 'qty') {
|
|
|
+ means[columnIndex] = values.reduce((prev, curr) => {
|
|
|
+ const value = Number(curr);
|
|
|
+ if (!isNaN(value)) {
|
|
|
+ return prev + curr;
|
|
|
+ } else {
|
|
|
+ return prev;
|
|
|
+ }
|
|
|
+ }, 0);
|
|
|
+ // means[columnIndex] += ' 元'
|
|
|
+ // 改变了ele的合计方式,扩展了合计场景
|
|
|
+ // 你以为就只有上面这样玩吗?错啦,你还可以自定义样式哦
|
|
|
+ // means[columnIndex] = '<span style="color: red">' + means[columnIndex] + '元</span>'
|
|
|
+ means[columnIndex] = + means[columnIndex]
|
|
|
+ } else {
|
|
|
+ means[columnIndex] = '';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 返回一个二维数组的表尾合计(不要平均值,你就不要在数组中添加)
|
|
|
+ return [means]
|
|
|
}
|
|
|
}
|
|
|
}
|