<el-table
:data="XXXX"
:summary-method="getSummaries"
show-summary = "true"
>
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
}
else {
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);
} else {
sums[index] = 'N/A';
}
}
});
const totalCol1 = sums[1]; // 第一列的合计总数
const totalCol2 = sums[2]; // 第二列的合计总数
const totalCol4 = sums[4]; // 第4列的合计总数
const totalCol5 = sums[5]; // 第5列的合计总数
if (!isNaN(totalCol2) && !isNaN(totalCol1) && totalCol1 !== 0) {
sums[3] = ((totalCol2 / totalCol1)* 100).toFixed(2) +"%"; // 计算第三列的值,并保留两位小数
} else {
sums[3] = 'N/A'; // 如果无法计算,则显示'N/A'
}
if (!isNaN(totalCol5) && !isNaN(totalCol4) && totalCol4 !== 0) {
sums[6] = ((totalCol5 / totalCol4)*100).toFixed(2)+"%"; // 计算第三列的值,并保留两位小数
} else {
sums[6] = 'N/A'; // 如果无法计算,则显示'N/A'
}
return sums;
},