VUE+ELEMENTUI表格的表尾合计

 <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;

    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值