gaoluyang
2 天以前 4ee8bafa6b4742b72628511e0b14fbfeec7737e6
新疆马铃薯
1.采购台账和销售台账添加总合同号字段,编辑逻辑修改
已修改2个文件
100 ■■■■ 文件已修改
src/views/procurementManagement/procurementLedger/index.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue
@@ -4,6 +4,14 @@
      <div>
        <el-form :model="searchForm"
                 :inline="true">
          <el-form-item label="总合同号:">
            <el-input v-model="searchForm.masterContractNo"
                      style="width: 240px"
                      placeholder="请输入"
                      @change="handleQuery"
                      clearable
                      :prefix-icon="Search" />
          </el-form-item>
          <el-form-item label="供应商名称:">
            <el-input v-model="searchForm.supplierName"
                      placeholder="请输入"
@@ -201,6 +209,10 @@
                         label="序号"
                         type="index"
                         width="60" />
        <el-table-column label="总合同号"
                         prop="masterContractNo"
                         width="150"
                         show-overflow-tooltip />
        <el-table-column label="采购合同号"
                         prop="purchaseContractNumber"
                         width="160"
@@ -298,6 +310,15 @@
               label-position="top"
               :rules="rules"
               ref="formRef">
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="总合同号:">
              <el-input v-model="form.masterContractNo"
                        placeholder="请输入"
                        clearable />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="采购合同号:"
@@ -408,10 +429,12 @@
          <el-form-item label="产品信息:"
                        prop="entryDate">
            <el-button type="primary"
                       v-if="form.approvalStatus !== 3"
                       @click="openProductForm('add')">添加
            </el-button>
            <el-button plain
                       type="danger"
                       v-if="form.approvalStatus !== 3"
                       @click="deleteProduct">删除
            </el-button>
          </el-form-item>
@@ -569,7 +592,7 @@
              <el-button link
                         type="primary"
                         @click="openProductForm('edit', scope.row, scope.$index)"
                         :disabled="scope.row.stockInApprovalStatus === '完全入库'">编辑
                         :disabled="form.approvalStatus === 3">编辑
              </el-button>
            </template>
          </el-table-column>
@@ -1057,6 +1080,7 @@
      supplierName: "", // 供应商名称
      purchaseContractNumber: "", // 采购合同编号
      salesContractNo: "", // 销售合同编号
      masterContractNo: "", // 总合同号
      projectName: "", // 项目名称
      entryDate: null, // 录入日期
      entryDateStart: undefined,
@@ -1066,6 +1090,7 @@
      purchaseContractNumber: "",
      salesLedgerId: "",
      projectName: "",
      masterContractNo: "",
      recorderId: "",
      entryDate: "",
      productData: [],
@@ -1444,13 +1469,6 @@
  };
  // 打开弹框
  const openForm = async (type, row) => {
    // 编辑时检查入库状态,完全入库时不能编辑
    if (type === "edit" && row) {
      if (row.stockInStatus === "完全入库") {
        proxy.$modal.msgWarning("完全入库状态的记录不能编辑");
        return;
      }
    }
    await getTemplateList();
    await userListNoPage().then(res => {
@@ -1621,9 +1639,9 @@
  };
  // 打开产品弹框
  const openProductForm = async (type, row, index) => {
    // 编辑时检查产品入库审核状态,完全入库时不能编辑
    if (type === "edit" && row && row.stockInApprovalStatus === "完全入库") {
      proxy.$modal.msgWarning("完全入库状态的产品不能编辑");
    // 审批通过时不能编辑产品信息
    if (type === "edit" && form.value.approvalStatus === 3) {
      proxy.$modal.msgWarning("审批通过的记录不能编辑产品信息");
      return;
    }
@@ -1870,14 +1888,6 @@
  const deleteProduct = () => {
    if (productSelectedRows.value.length === 0) {
      proxy.$modal.msgWarning("请选择数据");
      return;
    }
    // 检查选中的产品中是否有完全入库的
    const hasFullyStocked = productSelectedRows.value.some(
      row => row.stockInApprovalStatus === "完全入库"
    );
    if (hasFullyStocked) {
      proxy.$modal.msgWarning("选中的产品中包含完全入库的产品,无法删除");
      return;
    }
    if (operationType.value === "add") {
src/views/salesManagement/salesLedger/index.vue
@@ -2,6 +2,15 @@
  <div class="app-container">
    <div class="search_form">
      <el-form :model="searchForm" :inline="true">
        <el-form-item label="总合同号:">
          <el-input
            v-model="searchForm.masterContractNo"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="客户名称:">
          <el-input
            v-model="searchForm.customerName"
@@ -183,9 +192,21 @@
        </el-table-column>
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column
          label="销售总合同号"
          prop="masterContractNo"
          width="150"
          show-overflow-tooltip
        />
        <el-table-column
          label="销售合同号"
          prop="salesContractNo"
          width="180"
          show-overflow-tooltip
        />
        <el-table-column
          label="采购合同号"
          prop="purchaseMasterContractNo"
          width="150"
          show-overflow-tooltip
        />
        <el-table-column
@@ -265,15 +286,14 @@
        </el-table-column>
        <el-table-column fixed="right" label="操作" width="220" align="center">
          <template #default="scope">
                        <el-button
                            link
                  type="primary"
                  @click="openForm('edit', scope.row)"
                        >编辑
                        </el-button>
            <el-button link type="primary" @click="openForm('view', scope.row)"
              >详情
            </el-button>
            <el-button
              link
              type="primary"
              @click="openForm('edit', scope.row)"
              :disabled="!canEditLedger(scope.row)"
              >编辑
            </el-button>
            <el-button link type="primary" @click="openFileDialog(scope.row)"
              >附件
@@ -318,6 +338,18 @@
            <el-button type="primary" plain @click="openQuotationDialog">
              从销售报价导入
            </el-button>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="总合同号:">
              <el-input
                v-model="form.masterContractNo"
                placeholder="请输入"
                clearable
                :disabled="operationType === 'view'"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
@@ -1269,6 +1301,7 @@
  searchForm: {
    customerName: "", // 客户名称
    salesContractNo: "", // 销售合同编号
    masterContractNo: "", // 总合同号
    entryDate: null, // 录入日期
    entryDateStart: undefined,
    entryDateEnd: undefined,
@@ -1286,6 +1319,7 @@
    executionDate: "",
    hasProductionRecord: false,
    createTime: "",
    masterContractNo: "",
    purchaseContractNumber: "",
  },
  rules: {
@@ -1767,10 +1801,6 @@
};
// 打开弹框
const openForm = async (type, row) => {
  if (type === "edit" && row && !canEditLedger(row)) {
    proxy.$modal.msgWarning("当前系统登录人不是维护人,不能编辑数据");
    return;
  }
  operationType.value = type;
  form.value = {};
  productData.value = [];