gaoluyang
4 小时以前 02e9c39e8ec8d4a57e874b62907934bc9b605ccf
湟水峡
1.开票和来票传参修改
已修改2个文件
183 ■■■■ 文件已修改
src/views/procurementManagement/invoiceEntry/components/Modal.vue 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceRegistration/index.vue 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -507,58 +507,15 @@
const submitForm = () => {
  proxy.$refs["formRef"].validate((valid) => {
    if (valid) {
      // 如果是批量操作,将所有合同的数据放在一个数组里,只调用一次接口
      if (selectedContracts.value.length > 1) {
        // 创建包含所有合同数据的数组
        const batchData = selectedContracts.value.map(contract => {
          // 筛选出属于当前合同的产品数据
          const contractProductData = form.productData.filter(item =>
            item.id === contract.id
          );
          // 为每个采购合同创建独立的对象
          return {
            // 基础表单数据
            invoiceNumber: form.invoiceNumber,
            invoiceAmount: form.invoiceAmount,
            entryDate: form.entryDate,
            enterDate: form.enterDate,
            issUerId: form.issUerId, // 录入人id
            issUer: form.issUer, // 录入人
            tempFileIds: form.tempFileIds,
            // 合同实际信息
            purchaseLedgerId: contract.id, // 使用id作为字段名,值为purchaseLedgerId
            purchaseContractNumber: contract.purchaseContractNumber, // 使用实际的采购合同号
            salesContractNo: contract.salesContractNo, // 使用实际的销售合同号
            supplierName: contract.supplierName, // 使用实际的供应商名称
            projectName: contract.projectName, // 使用实际的项目名称
            // 产品数据
            productData: proxy.HaveJson(contractProductData),
            // 批量标识
            isBatch: true,
            type: 4
          };
        });
      // 统一将所有合同的数据放在一个数组里,单个和批量都使用数组格式
      const submitData = selectedContracts.value.map(contract => {
        // 筛选出属于当前合同的产品数据
        const contractProductData = form.productData.filter(item =>
          item.id === contract.id
        );
        
        // 只调用一次接口,传递包含所有合同数据的数组
        modalLoading.value = true;
        addOrUpdateRegistration(batchData).then((res) => {
          modalLoading.value = false;
          if (res.code === 200) {
            proxy.$modal.msgSuccess("批量登记成功");
            closeAndRefresh();
          }
        }).catch(() => {
          modalLoading.value = false;
          proxy.$modal.msgError("批量登记失败");
        });
      } else {
        // 单个合同提交逻辑
        const singleContract = selectedContracts.value[0];
        const singleForm = {
        // 为每个采购合同创建独立的对象
        return {
          // 基础表单数据
          invoiceNumber: form.invoiceNumber,
          invoiceAmount: form.invoiceAmount,
@@ -569,32 +526,33 @@
          tempFileIds: form.tempFileIds,
          
          // 合同实际信息
          purchaseLedgerId: singleContract.id, // 使用id作为字段名,值为purchaseLedgerId
          purchaseContractNumber: singleContract.purchaseContractNumber, // 使用实际的采购合同号
          salesContractNo: singleContract.salesContractNo, // 使用实际的销售合同号
          supplierName: singleContract.supplierName, // 使用实际的供应商名称
          projectName: singleContract.projectName, // 使用实际的项目名称
          purchaseLedgerId: contract.id, // 使用id作为字段名,值为purchaseLedgerId
          purchaseContractNumber: contract.purchaseContractNumber, // 使用实际的采购合同号
          salesContractNo: contract.salesContractNo, // 使用实际的销售合同号
          supplierName: contract.supplierName, // 使用实际的供应商名称
          projectName: contract.projectName, // 使用实际的项目名称
          
          // 产品数据
          productData: proxy.HaveJson(form.productData),
          productData: proxy.HaveJson(contractProductData),
          
          // 批量标识
          isBatch: false,
          isBatch: selectedContracts.value.length > 1,
          type: 4
        };
        modalLoading.value = true;
        addOrUpdateRegistration(singleForm).then((res) => {
          modalLoading.value = false;
          if (res.code === 200) {
            proxy.$modal.msgSuccess("登记成功");
            closeAndRefresh();
          }
        }).catch(() => {
          modalLoading.value = false;
          proxy.$modal.msgError("登记失败");
        });
      }
      });
      // 统一调用接口,传递数组格式的数据
      modalLoading.value = true;
      addOrUpdateRegistration(submitData).then((res) => {
        modalLoading.value = false;
        if (res.code === 200) {
          proxy.$modal.msgSuccess(selectedContracts.value.length > 1 ? "批量登记成功" : "登记成功");
          closeAndRefresh();
        }
      }).catch(() => {
        modalLoading.value = false;
        proxy.$modal.msgError(selectedContracts.value.length > 1 ? "批量登记失败" : "登记失败");
      });
    }
  });
};
src/views/salesManagement/invoiceRegistration/index.vue
@@ -628,50 +628,15 @@
const submitForm = () => {
  proxy.$refs["formRef"].validate((valid) => {
    if (valid) {
      // 如果是批量操作,将所有合同的数据放在一个数组里,只调用一次接口
      if (selectedRows.value.length > 1) {
        // 创建包含所有合同数据的数组
        const batchData = selectedRows.value.map(contract => {
          // 筛选出属于当前合同的产品数据
          const contractProductData = productData.value.filter(item =>
            item.salesLedgerId === contract.id
          );
          // 为每个销售合同号创建独立的对象
          return {
            // 基础表单数据
            issueDate: form.value.issueDate,
            createTime: form.value.createTime,
            createUer: form.value.createUer,
            invoiceNo: form.value.invoiceNo,
            // 合同实际信息
            id: contract.id, // 使用id作为字段名,值为salesLedgerId
            salesContractNo: contract.salesContractNo, // 使用实际的销售合同号
            customerName: contract.customerName, // 使用实际的客户名称
            customerId: contract.customerId, // 添加客户ID
            customerContractNo: contract.customerContractNo, // 使用实际的客户合同号
            projectName: contract.projectName, // 使用实际的项目名称
            salesman: contract.salesman, // 使用实际的业务员
            // 产品数据
            productData: proxy.HaveJson(contractProductData),
            // 批量标识
            isBatch: true
          };
        });
      // 统一将所有合同的数据放在一个数组里,单个和批量都使用数组格式
      const submitData = selectedRows.value.map(contract => {
        // 筛选出属于当前合同的产品数据
        const contractProductData = productData.value.filter(item =>
          item.salesLedgerId === contract.id
        );
        
        // 只调用一次接口,传递包含所有合同数据的数组
        invoiceRegistrationSave(batchData).then(() => {
          proxy.$modal.msgSuccess("批量新增成功");
          closeDia();
          getList();
        });
      } else {
        // 单个合同提交逻辑
        const singleContract = selectedRows.value[0];
        const singleForm = {
        // 为每个销售合同号创建独立的对象
        return {
          // 基础表单数据
          issueDate: form.value.issueDate,
          createTime: form.value.createTime,
@@ -679,26 +644,28 @@
          invoiceNo: form.value.invoiceNo,
          
          // 合同实际信息
          id: singleContract.id, // 使用id作为字段名,值为salesLedgerId
          salesContractNo: singleContract.salesContractNo, // 使用实际的销售合同号
          customerName: singleContract.customerName, // 使用实际的客户名称
          customerId: singleContract.customerId, // 添加客户ID
          customerContractNo: singleContract.customerContractNo, // 使用实际的客户合同号
          projectName: singleContract.projectName, // 使用实际的项目名称
          salesman: singleContract.salesman, // 使用实际的业务员
          id: contract.id, // 使用id作为字段名,值为salesLedgerId
          salesContractNo: contract.salesContractNo, // 使用实际的销售合同号
          customerName: contract.customerName, // 使用实际的客户名称
          customerId: contract.customerId, // 添加客户ID
          customerContractNo: contract.customerContractNo, // 使用实际的客户合同号
          projectName: contract.projectName, // 使用实际的项目名称
          salesman: contract.salesman, // 使用实际的业务员
          
          // 产品数据
          productData: proxy.HaveJson(productData.value),
          productData: proxy.HaveJson(contractProductData),
          
          // 批量标识
          isBatch: false
          isBatch: selectedRows.value.length > 1
        };
        invoiceRegistrationSave(singleForm).then((res) => {
          proxy.$modal.msgSuccess("提交成功");
          closeDia();
          getList();
        });
      }
      });
      // 统一调用接口,传递数组格式的数据
      invoiceRegistrationSave(submitData).then(() => {
        proxy.$modal.msgSuccess(selectedRows.value.length > 1 ? "批量新增成功" : "提交成功");
        closeDia();
        getList();
      });
    }
  });
};