曹睿
昨天 76bf6e7282105522df085fcaf63732a84fde5274
src/utils/summarizeTable.js
@@ -10,39 +10,48 @@
    const sums = [];
    columns.forEach((column, index) => {
        if (index === 0) {
            sums[index] = '合计';
      sums[index] = "合计";
            return;
        }
        const prop = column.property;
        if (summaryProps.includes(prop)) {
            const values = data.map(item => Number(item[prop]));
      const values = data.map((item) => Number(item[prop]));
            // 只对有效数字进行求和
            if (!values.every(isNaN)) {
                const sum = values.reduce((acc, val) => (!isNaN(val) ? acc + val : acc), 0);
        const sum = values.reduce(
          (acc, val) => (!isNaN(val) ? acc + val : acc),
          0
        );
                if (specialFormat[prop] && specialFormat[prop].noDecimal) {
                    // 如果指定了不需要保留小数,则直接转换为整数
                    sums[index] = Math.round(sum).toString();
                } else {
                    // 默认保留两位小数
                    sums[index] = parseFloat(sum).toFixed(specialFormat[prop]?.decimalPlaces ?? 2);
          sums[index] = parseFloat(sum).toFixed(
            specialFormat[prop]?.decimalPlaces ?? 2
          );
                }
            } else {
                sums[index] = '';
        sums[index] = "";
            }
        } else {
            sums[index] = '';
      sums[index] = "";
        }
    });
    return sums;
}
};
// 不含税总价计算
const calculateTaxExclusiveTotalPrice = (taxInclusiveTotalPrice, taxRate) => {
    const taxRateDecimal = taxRate / 100;
    return (taxInclusiveTotalPrice / (1 + taxRateDecimal)).toFixed(2);
}
};
// 含税总价计算
const calculateTaxIncludeTotalPrice = (taxInclusiveUnitPrice, quantity) => {
    return (taxInclusiveUnitPrice * quantity).toFixed(2);
}
};
// 导出函数供其他文件使用
export { summarizeTable, calculateTaxExclusiveTotalPrice ,calculateTaxIncludeTotalPrice};
export {
  summarizeTable,
  calculateTaxExclusiveTotalPrice,
  calculateTaxIncludeTotalPrice,
};