Vue el-table 合並計算


最后一行合並前幾行的最后一列金額 計算。

<el-table
      :data="dataList"
      border
      v-loading="dataListLoading"
      style="width: 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;
      }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM