vue列表合计计算 :summary-method

 :summary-method="summaryMethod"


 summaryMethod({ columns, data }) {
      const sums = [];
      if (columns.length > 0) {
        columns.forEach((column, index) => {
          if ([6].includes(index)) {
            sums[index] = "合计";
          } else if (
            [
              "shopCode",
              "mainContractCode",
              "instrumentNo",
              "category",
              "type",
              "ratio",
            ].includes(column.property)
          ) {
            //过滤某些字段不参与计算
            sums[index] = "-";
          } else {
            let 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)) {
                  let num = Number(prev) + Number(curr);
                  return num.toFixed(2);
                } else {
                  return Number(prev).toFixed(2);
                }
              }, 0.0);
            }
          }
        });
      }
      return sums;
    },

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值