From 6bbc8752460b9b98dfeb8b616662b4d929a179ab Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 11 六月 2026 15:44:36 +0800
Subject: [PATCH] pro 1.山西省诺颢新材料有限公司配置

---
 src/views/collaborativeApproval/purchaseApproval/index.vue |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/src/views/collaborativeApproval/purchaseApproval/index.vue b/src/views/collaborativeApproval/purchaseApproval/index.vue
index e3680fe..d39748f 100644
--- a/src/views/collaborativeApproval/purchaseApproval/index.vue
+++ b/src/views/collaborativeApproval/purchaseApproval/index.vue
@@ -278,7 +278,7 @@
     },
     rules: {
       purchaseContractNumber: [
-        { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+        { required: false, message: "璇疯緭鍏�", trigger: "blur" },
       ],
       projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -329,12 +329,12 @@
     },
   });
   const { productForm, productRules } = toRefs(productFormData);
-  const upload = reactive({
-    // 涓婁紶鐨勫湴鍧�
-    url: import.meta.env.VITE_APP_BASE_API + "/file/upload",
-    // 璁剧疆涓婁紶鐨勮姹傚ご閮�
-    headers: { Authorization: "Bearer " + getToken() },
-  });
+  // const upload = reactive({
+  //   // 涓婁紶鐨勫湴鍧�
+  //   url: import.meta.env.VITE_APP_BASE_API + "/file/upload",
+  //   // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+  //   headers: { Authorization: "Bearer " + getToken() },
+  // });
 
   const changeDaterange = value => {
     if (value) {
@@ -448,9 +448,7 @@
     productData.value = [];
     fileList.value = [];
     if (operationType.value == "add") {
-      createPurchaseNo().then(res => {
-        form.value.purchaseContractNumber = res.data;
-      });
+      form.value.purchaseContractNumber = "";
     }
     userListNoPage().then(res => {
       userList.value = res.data;
@@ -521,7 +519,7 @@
   }
   // 鎻愪氦琛ㄥ崟
   const submitForm = n => {
-    proxy.$refs["formRef"].validate(valid => {
+    proxy.$refs["formRef"].validate(async valid => {
       if (valid) {
         if (productData.value.length > 0) {
           form.value.productData = proxy.HaveJson(productData.value);
@@ -536,6 +534,21 @@
         form.value.tempFileIds = tempFileIds;
         form.value.type = 2;
         form.value.approvalStatus = n;
+
+        // 濡傛灉閲囪喘鍚堝悓鍙蜂负绌猴紝鍒欐牴鎹綍鍏ユ棩鏈熻嚜鍔ㄧ敓鎴�
+        if (!form.value.purchaseContractNumber) {
+          try {
+            const purchaseNoRes = await createPurchaseNo(form.value.entryDate);
+            if (purchaseNoRes?.data) {
+              form.value.purchaseContractNumber = purchaseNoRes.data;
+            }
+          } catch (error) {
+            console.error("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�:", error);
+            proxy.$modal.msgWarning("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�");
+            return;
+          }
+        }
+
         addOrEditPurchase(form.value).then(res => {
           proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
           closeDia();
@@ -654,14 +667,10 @@
       return;
     }
     if (operationType.value === "add") {
-      productSelectedRows.value.forEach(selectedRow => {
-        const index = productData.value.findIndex(
-          product => product.id === selectedRow.id
-        );
-        if (index !== -1) {
-          productData.value.splice(index, 1);
-        }
-      });
+      productData.value = productData.value.filter(
+        item => !productSelectedRows.value.includes(item)
+      );
+      productSelectedRows.value = [];
     } else {
       let ids = [];
       if (productSelectedRows.value.length > 0) {

--
Gitblit v1.9.3