From bd4ac5f01216b1352a271be281db03bab63ae8ea Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 25 十一月 2025 11:50:21 +0800
Subject: [PATCH] 1.敦煌鼎诚-销售台账产品,开票登记,回款金额金额可以为0

---
 src/views/salesManagement/receiptPayment/index.vue      |   41 +++++++++-----------
 src/views/salesManagement/salesLedger/index.vue         |   50 ++++++++++++++++++-------
 src/views/salesManagement/invoiceRegistration/index.vue |    4 +-
 3 files changed, 56 insertions(+), 39 deletions(-)

diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue
index 8bf1236..755b39f 100644
--- a/src/views/salesManagement/invoiceRegistration/index.vue
+++ b/src/views/salesManagement/invoiceRegistration/index.vue
@@ -26,13 +26,13 @@
             clearable
           />
         </el-form-item>
-        <el-form-item>
+        <!-- <el-form-item>
           <el-checkbox
             v-model="searchForm.status"
             label="涓嶆樉绀烘湭寮�绁ㄩ噾棰濅负0"
             @change="handleQuery"
           />
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item>
           <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
           <el-button @click="resetForm"> 閲嶇疆 </el-button>
diff --git a/src/views/salesManagement/receiptPayment/index.vue b/src/views/salesManagement/receiptPayment/index.vue
index 995bd24..7b1a110 100644
--- a/src/views/salesManagement/receiptPayment/index.vue
+++ b/src/views/salesManagement/receiptPayment/index.vue
@@ -31,13 +31,13 @@
                 prefix-icon="Search"
               />
             </el-form-item>
-            <el-form-item>
+            <!-- <el-form-item>
               <el-checkbox
                 v-model="searchForm.status"
                 label="涓嶆樉绀哄緟鍥炴涓�0"
                 @change="handleQuery"
               />
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item>
               <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
             </el-form-item>
@@ -173,7 +173,7 @@
           show-overflow-tooltip
           width="340"
         />
-        <el-table-column
+        <!-- <el-table-column
           label="鍥炴鐘舵��"
           prop="statusName"
           width="120"
@@ -183,7 +183,7 @@
               {{ row.statusName || "--" }}
             </el-tag>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column
           label="浜у搧澶х被"
           prop="productCategory"
@@ -211,7 +211,7 @@
           :formatter="formattedNumber"
           width="200"
         />
-        <el-table-column
+        <!-- <el-table-column
           label="寰呭洖娆鹃噾棰�(鍏�)"
           prop="noReceiptAmount"
           show-overflow-tooltip
@@ -222,7 +222,7 @@
               {{ formattedNumber(row, column, row.noReceiptAmount) }}
             </el-text>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
       <pagination
         v-show="total > 0"
@@ -251,8 +251,8 @@
             <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
               <el-input
                 v-model="form.salesContractNo"
-                placeholder="鑷姩濉厖"
-                disabled
+                placeholder="璇疯緭鍏�"
+                clearable
               />
             </el-form-item>
           </el-col>
@@ -260,8 +260,8 @@
             <el-form-item label="瀹㈡埛鍚嶇О锛�" prop="customerName">
               <el-input
                 v-model="form.customerName"
-                placeholder="鑷姩濉厖"
-                disabled
+                placeholder="璇疯緭鍏�"
+                clearable
               />
             </el-form-item>
           </el-col>
@@ -271,8 +271,8 @@
             <el-form-item label="鍙戠エ鍙凤細" prop="invoiceNo">
               <el-input
                 v-model="form.invoiceNo"
-                placeholder="鑷姩濉厖"
-                disabled
+                placeholder="璇疯緭鍏�"
+                clearable
               />
             </el-form-item>
           </el-col>
@@ -281,9 +281,9 @@
               <el-input
                 type="number"
                 v-model="form.invoiceTotal"
-                placeholder="鑷姩濉厖"
+                placeholder="璇疯緭鍏�"
                 :step="0.01"
-                disabled
+                clearable
               />
             </el-form-item>
           </el-col>
@@ -294,16 +294,16 @@
               <el-input
                 type="number"
                 v-model="form.taxRate"
-                placeholder="鑷姩濉厖"
+                placeholder="璇疯緭鍏�"
                 :step="0.01"
-                disabled
+                clearable
               />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鏈鍥炴閲戦锛�" prop="receiptPaymentAmount">
               <el-input-number :step="0.01" :min="0" style="width: 100%"
-															 :precision="2"
+											 :precision="2"
                 v-model="form.receiptPaymentAmount"
                 placeholder="璇疯緭鍏�"
                 clearable
@@ -349,7 +349,6 @@
 								v-model="form.registrant"
 								placeholder="璇疯緭鍏�"
 								clearable
-								disabled
 							/>
 						</el-form-item>
 					</el-col>
@@ -396,7 +395,7 @@
 const data = reactive({
   searchForm: {
     searchText: "",
-    status: true,
+    status: false,
     customerName: "",
     customerContractNo: "",
     projectName: "",
@@ -528,10 +527,6 @@
   form.value = {};
   if (selectedRows.value.length !== 1) {
     proxy.$modal.msgError("璇烽�夋嫨涓�鏉℃暟鎹�");
-    return;
-  }
-  if (selectedRows.value[0].noReceiptAmount == 0) {
-    proxy.$modal.msgWarning("鏃犻渶鍐嶅洖娆�");
     return;
   }
   invoiceInfo({ id: selectedRows.value[0].id }).then((res) => {
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 8c7c448..2b12275 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -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