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