yuan
2026-06-03 d3d2f9861c3d4bccfb9594b7efd76e62d3b44b65
src/views/procurementManagement/procurementLedger/index.vue
@@ -11,7 +11,7 @@
            <el-input v-model="searchForm.purchaseContractNumber" style="width: 240px" placeholder="请输入"
              @change="handleQuery" clearable :prefix-icon="Search" />
          </el-form-item>
          <el-form-item label="销售合同号:">
          <el-form-item v-if="showSalesContractBinding" label="销售合同号:">
            <el-input v-model="searchForm.salesContractNo" placeholder="请输入" clearable prefix-icon="Search"
              @change="handleQuery" />
          </el-form-item>
@@ -76,7 +76,7 @@
        </el-table-column>
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="采购合同号" prop="purchaseContractNumber" width="160" show-overflow-tooltip />
        <el-table-column label="销售合同号" prop="salesContractNo" width="160" show-overflow-tooltip />
        <el-table-column v-if="showSalesContractBinding" label="销售合同号" prop="salesContractNo" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="160" show-overflow-tooltip />
        <el-table-column label="项目名称" prop="projectName" width="320" show-overflow-tooltip />
        <el-table-column label="审批状态" prop="approvalStatus" width="100" show-overflow-tooltip>
@@ -124,7 +124,7 @@
              <el-input v-model="form.purchaseContractNumber" placeholder="请输入" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col v-if="showSalesContractBinding" :span="12">
            <el-form-item label="销售合同号:" prop="salesLedgerId">
              <el-select v-model="form.salesLedgerId" placeholder="请选择" filterable clearable @change="salesLedgerChange">
                <el-option v-for="item in salesContractList" :key="item.id" :label="item.salesContractNo" :value="item.id" />
@@ -310,7 +310,7 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="含税单价(元):" prop="taxInclusiveUnitPrice">
              <el-input-number v-model="productForm.taxInclusiveUnitPrice" :precision="2" :step="0.1" :min="0" clearable
              <el-input-number v-model="productForm.taxInclusiveUnitPrice" :precision="8" :step="0.1" :min="0" clearable
                style="width: 100%" @change="mathNum" />
            </el-form-item>
          </el-col>
@@ -324,13 +324,13 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="含税总价(元):" prop="taxInclusiveTotalPrice">
              <el-input-number v-model="productForm.taxInclusiveTotalPrice" :precision="2" :step="0.1" :min="0"
              <el-input-number v-model="productForm.taxInclusiveTotalPrice" :precision="8" :step="0.1" :min="0"
                clearable style="width: 100%" @change="reverseMathNum('taxInclusiveTotalPrice')" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="不含税总价(元):" prop="taxExclusiveTotalPrice">
              <el-input-number v-model="productForm.taxExclusiveTotalPrice" :precision="2" :step="0.1" :min="0"
              <el-input-number v-model="productForm.taxExclusiveTotalPrice" :precision="8" :step="0.1" :min="0"
                clearable style="width: 100%" @change="reverseMathNum('taxExclusiveTotalPrice')" />
            </el-form-item>
          </el-col>
@@ -439,6 +439,9 @@
import FileUpload from "@/components/AttachmentUpload/file/index.vue";
const userStore = useUserStore();
// 是否显示销售合同号绑定
const showSalesContractBinding = false;
// 订单审批状态显示文本
const approvalStatusText = {
@@ -768,7 +771,7 @@
};
const formattedNumber = (row, column, cellValue) => {
  return parseFloat(cellValue).toFixed(2);
  return parseFloat(cellValue).toFixed(8);
};
// 查询列表
/** 搜索按钮操作 */
@@ -890,6 +893,9 @@
    {
      ticketsNum: { noDecimal: true }, // 不保留小数
      futureTickets: { noDecimal: true }, // 不保留小数
      taxInclusiveUnitPrice: { decimalPlaces: 8 },
      taxInclusiveTotalPrice: { decimalPlaces: 8 },
      taxExclusiveTotalPrice: { decimalPlaces: 8 },
    }
  );
};
@@ -953,15 +959,25 @@
};
// 主表合计方法
const summarizeMainTable = param => {
  return proxy.summarizeTable(param, ["contractAmount"]);
  return proxy.summarizeTable(param, ["contractAmount"], {
    contractAmount: { decimalPlaces: 8 },
  });
};
// 子表合计方法
const summarizeProTable = param => {
  return proxy.summarizeTable(param, [
    "taxInclusiveUnitPrice",
    "taxInclusiveTotalPrice",
    "taxExclusiveTotalPrice",
  ]);
  return proxy.summarizeTable(
    param,
    [
      "taxInclusiveUnitPrice",
      "taxInclusiveTotalPrice",
      "taxExclusiveTotalPrice",
    ],
    {
      taxInclusiveUnitPrice: { decimalPlaces: 8 },
      taxInclusiveTotalPrice: { decimalPlaces: 8 },
      taxExclusiveTotalPrice: { decimalPlaces: 8 },
    }
  );
};
// 打开弹框
const openForm = async (type, row) => {
@@ -1034,7 +1050,6 @@
    if (form.value.salesLedgerId == -1) {
      form.value.salesLedgerId = null;
    }
    console.log(form.value, "form.value===========");
    dialogFormVisible.value = true;
  } catch (error) {
    console.error("打开表单失败:", error);
@@ -1536,9 +1551,7 @@
};
// 销售合同选择改变方法
const salesLedgerChange = async row => {
  console.log("row", row);
  var index = salesContractList.value.findIndex(item => item.id == row);
  console.log("index", index);
  if (index > -1) {
    await querygProductInfoByContractNo();
  }