yxh
2026-09-20 c870390bfc28b314f30240352895c5d6c466c148
src/views/project/fund/performancedetails/index.vue
@@ -876,6 +876,7 @@
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import { getToken } from "@/utils/auth";
import { moneySum, moneyAdd, moneySub, moneyRound } from "@/utils/money";
import CustomImageViewer from "@/components/CustomImageViewer";
export default {
@@ -2065,9 +2066,8 @@
      }
    },
    //税前扣税算税后
    //税前扣税算税后(金额一律走精确运算)
    chargeSum(row, type) {
      let targetValue = 0;
      for (let i = 0; i < this.rbDetails.length; i++) {
        if (!this.rbDetails[i].amount) {
          this.rbDetails[i].amount = 0;
@@ -2075,17 +2075,16 @@
        if (!this.rbDetails[i].taxamount) {
          this.rbDetails[i].taxamount = 0;
        }
        this.rbDetails[i].taxedamount = (
          parseFloat(this.rbDetails[i].amount) -
          parseFloat(this.rbDetails[i].taxamount)
        //税前 - 扣税 = 税后(浮点相减会残留极小尾差,导致出现 -0.00)
        this.rbDetails[i].taxedamount = moneySub(
          this.rbDetails[i].amount,
          this.rbDetails[i].taxamount
        ).toFixed(2);
        targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下
        console.log(this.rbDetails[i].taxedamount, "合计");
      }
      console.log(targetValue, "合计");
      this.form.pretaxcost = targetValue;
      //合计必须精确累加,否则会写入 form.pretaxcost 并落库
      this.form.pretaxcost = moneySum(this.rbDetails, "amount");
    },
    //税后扣税算税前
    //税后扣税算税前(金额一律走精确运算)
    queenchargeSum(row, type) {
      for (let i = 0; i < this.rbDetails.length; i++) {
        if (!this.rbDetails[i].amount) {
@@ -2094,9 +2093,10 @@
        if (!this.rbDetails[i].taxamount) {
          this.rbDetails[i].taxamount = 0;
        }
        this.rbDetails[i].amount =
          parseFloat(this.rbDetails[i].taxamount) +
          parseFloat(this.rbDetails[i].taxedamount);
        //扣税 + 税后 = 税前(必须精确相加并归一化到 2 位,否则会残留长小数)
        this.rbDetails[i].amount = moneyRound(
          moneyAdd(this.rbDetails[i].taxamount, this.rbDetails[i].taxedamount)
        );
      }
    },