From 6e62e9acfbb32e73972102df62e63b9e602632f6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 04 十二月 2025 16:35:42 +0800
Subject: [PATCH] 1.采购台账、销售台账编辑权限放开

---
 src/views/salesManagement/salesLedger/index.vue |   52 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 8c7c448..76e2f74 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -72,7 +72,7 @@
         <el-table-column label="绛捐鏃ユ湡" prop="executionDate" width="120" show-overflow-tooltip />
         <el-table-column fixed="right" label="鎿嶄綔" min-width="200" align="center">
           <template #default="scope">
-            <el-button link type="primary" size="small" :disabled="scope.row.invoiceTotal>0 || scope.row.entryPersonName !== userStore.nickName" @click="openForm('edit', scope.row)">缂栬緫</el-button>
+            <el-button link type="primary" size="small" @click="openForm('edit', scope.row)">缂栬緫</el-button>
 <!--            <el-button link type="primary" size="small" @click="openForm('view', scope.row)">璇︽儏</el-button>-->
             <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
             <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>
@@ -215,9 +215,6 @@
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
-              <!-- <el-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable>
-                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
-              </el-select> -->
               <el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable check-strictly
                 @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" />
             </el-form-item>
@@ -559,18 +556,18 @@
       { required: true, message: "璇烽�夋嫨", trigger: "change" },
     ],
     unit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+    quantity: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     taxInclusiveUnitPrice: [
-      { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+      { required: false, message: "璇疯緭鍏�", trigger: "blur" },
     ],
-    taxRate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    taxRate: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
     taxInclusiveTotalPrice: [
-      { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+      { required: false, message: "璇疯緭鍏�", trigger: "blur" },
     ],
     taxExclusiveTotalPrice: [
-      { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+      { required: false, message: "璇疯緭鍏�", trigger: "blur" },
     ],
-    invoiceType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+    invoiceType: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
   },
 });
 const { productForm, productRules } = toRefs(productFormData);
@@ -860,13 +857,25 @@
 const submitProduct = () => {
   proxy.$refs["productFormRef"].validate((valid) => {
     if (valid) {
+      // 澶勭悊绋庣巼銆侀噾棰濆拰鏁伴噺瀛楁锛屽鏋滀负绌哄垯璁剧疆涓�0
+      const processedForm = { ...productForm.value };
+      
+      // 闇�瑕佸鐞嗙殑瀛楁鍒楄〃
+      const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity'];
+      
+      numericFields.forEach(field => {
+        if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) {
+          processedForm[field] = 0;
+        }
+      });
+      
       if (operationType.value === "edit") {
         submitProductEdit();
       } else {
         if(productOperationType.value === "add"){
-          productData.value.push({ ...productForm.value });
+          productData.value.push(processedForm);
         }else{
-          productData.value[productIndex.value] = { ...productForm.value }
+          productData.value[productIndex.value] = processedForm;
         }
         closeProductDia();
       }
@@ -874,9 +883,22 @@
   });
 };
 const submitProductEdit = () => {
-  productForm.value.salesLedgerId = currentId.value;
-  productForm.value.type = 1
-  addOrUpdateSalesLedgerProduct(productForm.value).then((res) => {
+  // 澶勭悊绋庣巼銆侀噾棰濆拰鏁伴噺瀛楁锛屽鏋滀负绌哄垯璁剧疆涓�0
+  const processedForm = { ...productForm.value };
+  
+  // 闇�瑕佸鐞嗙殑瀛楁鍒楄〃
+  const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity'];
+  
+  numericFields.forEach(field => {
+    if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) {
+      processedForm[field] = 0;
+    }
+  });
+  
+  processedForm.salesLedgerId = currentId.value;
+  processedForm.type = 1;
+  
+  addOrUpdateSalesLedgerProduct(processedForm).then((res) => {
     proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
     closeProductDia();
     getSalesLedgerWithProducts({ id: currentId.value, type: 1 }).then((res) => {

--
Gitblit v1.9.3