赞
踩
el-table标签上加属性 show-summary :summary-method=“getSummary”
- <el-table :data="formDate.scoreList" style="width:100%;height: 96%;" stripe show-summary
- :summary-method="calculateSummary" :header-cell-style="{ textAlign: 'center', borderColor: ' #CCC', background: '#f5f7fa' }"
- :cell-style="{ textAlign: 'center' }">
- <el-table-column type="index" label="序号" width="120"></el-table-column>
- <el-table-column type="puuid" label="uuid" v-if="false"></el-table-column>
- </el-table>
-
- // 合计
- const calculateSummary = ({ columns, data }) => {
- const sums = []
- columns.forEach((column, index) => {
- if (index === 0) {
- sums[index] = '合计总分'
- return
- }
- const values = data.map((item) => Number(item[column.property]))
- // index === 3判断那一列求合计,下标从0开始
- if (!values.every((value) => Number.isNaN(value)) && index === 3) {
- sums[index] =` ${values.reduce((prev, curr) => {
- const value = Number(curr)
- if (!Number.isNaN(value)) {
- return prev + curr
- } else {
- return prev
- }
- }, 0)}`
- }
- })
- return sums
- }
- let activeList=ref('')
-
- // 合计
- const calculateSummary = ({ columns, data }) => {
- const sums = []
- columns.forEach((column, index) => {
- if (index === 0) {
- sums[index] = '合计总分'
- return
- }
- // 通过自定义参数判断除了表格中的数据外还额外加值
- let a = activeList.value == 'first' ? 21 : activeList.value == 'second' ? 12 : activeList.value == 'third' ? 18 : 3
- // 获取表格中的数据
- const values = data.map((item) => Number(item[column.property]))
- //index === 3判断那一列求合计,下标从0开始
- if (!values.every((value) => Number.isNaN(value)) && index === 3) {
- // 通过计算额外值a+表格中的合计值(模板字符串无法直接相加需要转换数据格式)
- sums[index] = a+Number(` ${values.reduce((prev, curr) => {
- const value = Number(curr)
- if (!Number.isNaN(value)) {
- return prev + curr
- } else {
- return prev
- }
- }, 0)}`)
- }
- })
- return sums
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。