gaoluyang
12 小时以前 3ab45f295fb26c7794b4829976f3fb20c68a012e
src/views/procurementManagement/procurementLedger/index.vue
@@ -180,6 +180,7 @@
    </div>
    <el-dialog
      v-model="dialogFormVisible"
         draggable
      :title="operationType === 'add' ? '新增采购台账页面' : '编辑采购台账页面'"
      width="70%"
      @close="closeDia"
@@ -410,6 +411,7 @@
    </el-dialog>
    <el-dialog
      v-model="productFormVisible"
         draggable
      :title="productOperationType === 'add' ? '新增产品' : '编辑产品'"
      width="40%"
      @close="closeProductDia"
@@ -488,7 +490,7 @@
            <el-form-item label="含税单价(元):" prop="taxInclusiveUnitPrice">
              <el-input-number
                v-model="productForm.taxInclusiveUnitPrice"
                :precision="2"
                :precision="3"
                :step="0.1"
                clearable
                style="width: 100%"
@@ -501,7 +503,7 @@
                     <el-input-number
                        :step="0.1"
                        clearable
                        :precision="2"
                        :precision="3"
                        style="width: 100%"
                        v-model="productForm.quantity"
                        placeholder="请输入"
@@ -515,7 +517,7 @@
            <el-form-item label="含税总价(元):" prop="taxInclusiveTotalPrice">
              <el-input-number
                v-model="productForm.taxInclusiveTotalPrice"
                :precision="2"
                :precision="3"
                :step="0.1"
                clearable
                style="width: 100%"
@@ -552,7 +554,7 @@
                  <el-form-item label="库存预警数量:" prop="warnNum">
                     <el-input-number
                        v-model="productForm.warnNum"
                        :precision="2"
                        :precision="3"
                        :step="0.1"
                        clearable
                        style="width: 100%"
@@ -636,7 +638,7 @@
            <el-form-item label="合同金额(元):" prop="contractAmount">
              <el-input-number
                v-model="scanAddForm.contractAmount"
                :precision="2"
                :precision="3"
                :step="0.1"
                clearable
                style="width: 100%"
@@ -820,7 +822,7 @@
import useUserStore from "@/store/modules/user";
import { modelList, productTreeList } from "@/api/basicData/product.js";
import dayjs from "dayjs";
import { getCurrentDate } from "@/utils/index.js";
import { getCurrentDate, truncate } from "@/utils/index.js";
const userStore = useUserStore();
@@ -928,7 +930,7 @@
};
const formattedNumber = (row, column, cellValue) => {
  return parseFloat(cellValue).toFixed(2);
  return truncate(parseFloat(cellValue), 3);
};
// 查询列表
/** 搜索按钮操作 */
@@ -1338,16 +1340,18 @@
  }
  // 含税总价计算
  productForm.value.taxInclusiveTotalPrice =
    proxy.calculateTaxIncludeTotalPrice(
      productForm.value.taxInclusiveUnitPrice,
      productForm.value.quantity
    truncate(
      Number(productForm.value.taxInclusiveUnitPrice) * Number(productForm.value.quantity),
      3
    );
  if (productForm.value.taxRate) {
    // 不含税总价计算
    const taxRate = Number(productForm.value.taxRate);
    const taxRateDecimal = taxRate / 100;
    productForm.value.taxExclusiveTotalPrice =
      proxy.calculateTaxExclusiveTotalPrice(
        productForm.value.taxInclusiveTotalPrice,
        productForm.value.taxRate
      truncate(
        Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRateDecimal),
        3
      );
  }
};
@@ -1362,29 +1366,29 @@
    // 已知含税总价和数量,反算含税单价
    if (productForm.value.quantity) {
      productForm.value.taxInclusiveUnitPrice = 
        (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
        truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity), 3);
    }
    // 已知含税总价和含税单价,反算数量
    else if (productForm.value.taxInclusiveUnitPrice) {
      productForm.value.quantity = 
        (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
        truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice), 3);
    }
    // 反算不含税总价
    productForm.value.taxExclusiveTotalPrice = 
      (Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)).toFixed(2);
      truncate(Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100), 3);
  } else if (field === 'taxExclusiveTotalPrice') {
    // 反算含税总价
    productForm.value.taxInclusiveTotalPrice = 
      (Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)).toFixed(2);
      truncate(Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100), 3);
    // 已知数量,反算含税单价
    if (productForm.value.quantity) {
      productForm.value.taxInclusiveUnitPrice = 
        (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
        truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity), 3);
    }
    // 已知含税单价,反算数量
    else if (productForm.value.taxInclusiveUnitPrice) {
      productForm.value.quantity = 
        (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
        truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice), 3);
    }
  }
};