zoukankan      html  css  js  c++  java
  • Vue el-table 合并计算

    最后一行合并前几行的最后一列金额 计算。

    <el-table
          :data="dataList"
          border
          v-loading="dataListLoading"
          style=" 100%;"
          show-summary
          sum-text="应付金额"
          :summary-method="getSummaries"
        >
    </el-table>

    遇到问题:JS 计算不准确,最后会出来好多位小数

    解决:保留两位小数。 当前是把显示总金额的钱给拿出来,然后进行toFixed,然后再赋值回去,不知道还有没有别的更好用的方法

    getSummaries(param) {
            const { columns, data } = param;
            const sums = [];
            columns.forEach((column, index) => {
              if (index === 8) {
                sums[index] = '应付金额';
                return;
              }
              if (index === 9){
            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);
                sums[index] += ' 元';
              } else {
                sums[index] = 'N/A';
              }
            }
            });
            if (sums[9]){ // sums[9] 是101元
               var sumsall = Number(sums[9].split(' ')[0]).toFixed(2)  // 保留两位小数
               sumsall = sumsall.toString() + " 元";
               sums[9] = sumsall
            }
            return sums;
          }
  • 相关阅读:
    Java IO(三)
    Java IO(二)
    Java IO(一)
    Java操作属性文件与国际化
    Java集合详解二
    Java集合详解一
    Spring官方文档翻译(转)
    S2SH整合
    NX二次开发-UFUN获取图纸视图最大边界和视图中心点UF_DRAW_ask_view_borders
    已知两点计算直线的向量
  • 原文地址:https://www.cnblogs.com/rabbit-lin0903/p/12986174.html
Copyright © 2011-2022 走看看