From 936b9e3576964243604f64a08543314488aa3cc1 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 03 六月 2025 17:51:25 +0800
Subject: [PATCH] 销售台账bug修改

---
 src/views/salesManagement/salesLedger/index.vue |   39 ++++++++++++---------------------------
 1 files changed, 12 insertions(+), 27 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 78779b7..dd4c84a 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -132,7 +132,7 @@
             <el-button plain type="danger" @click="deleteProduct">鍒犻櫎</el-button>
           </el-form-item>
         </el-row>
-        <el-table :data="productData" border @selection-change="productSelected">
+        <el-table :data="productData" border @selection-change="productSelected"   show-summary :summary-method="summarizeMainTable">
           <el-table-column align="center" type="selection" width="55" />
           <el-table-column align="center" label="搴忓彿" type="index" width="60" />
           <el-table-column label="浜у搧澶х被" prop="productCategory" />
@@ -190,7 +190,11 @@
       </template>
     </el-dialog>
     <el-dialog v-model="productFormVisible" :title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'" width="40%" @close="closeProductDia">
-      <el-form :model="productForm" label-width="140px" label-position="top" :rules="productRules" ref="productFormRef">
+      <el-form :model="productForm"
+               label-width="140px"
+               label-position="top"
+               :rules="productRules"
+               ref="productFormRef">
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
@@ -239,7 +243,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="绋庣巼(%)锛�" prop="taxRate">
-              <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable>
+              <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable  @change="mathNum">
                 <el-option label="1" value="1"/>
                 <el-option label="6" value="6"/>
                 <el-option label="13" value="13"/>
@@ -250,12 +254,12 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍚◣鎬讳环(鍏�)锛�" prop="taxInclusiveTotalPrice">
-              <el-input v-model="productForm.taxInclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable/>
+              <el-input v-model="productForm.taxInclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable  @change="mathNum" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="涓嶅惈绋庢�讳环(鍏�)锛�" prop="taxExclusiveTotalPrice">
-              <el-input v-model="productForm.taxExclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable/>
+              <el-input v-model="productForm.taxExclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable disabled />
             </el-form-item>
           </el-col>
         </el-row>
@@ -482,26 +486,7 @@
 }
 // 涓昏〃鍚堣鏂规硶
 const summarizeMainTable = (param) => {
-  const { columns, data } = param;
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = '鍚堣';
-      return;
-    }
-    const prop = column.property;
-    if (['contractAmount'].includes(prop)) {
-      const values = data.map(item => Number(item[prop]));
-      if (!values.every(value => isNaN(value))) {
-        sums[index] = values.reduce((acc, val) => (!isNaN(val) ? acc + val : acc), 0);
-      } else {
-        sums[index] = '';
-      }
-    } else {
-      sums[index] = '';
-    }
-  })
-  return sums;
+  return proxy.summarizeTable(param, ['contractAmount','taxInclusiveTotalPrice','taxExclusiveTotalPrice']);
 };
 // 瀛愯〃鍚堣鏂规硶
 const summarizeChildrenTable = (param) => {
@@ -748,8 +733,8 @@
   const day = String(today.getDate()).padStart(2, '0');
   return `${year}-${month}-${day}`;
 }
-const mathNum = (val) => {
-  productForm.value.taxExclusiveTotalPrice = proxy.calculateTaxExclusiveTotalPrice(val, productForm.value.taxRate)
+const mathNum = () => {
+  productForm.value.taxExclusiveTotalPrice = proxy.calculateTaxExclusiveTotalPrice(productForm.value.taxInclusiveTotalPrice, productForm.value.taxRate)
 }
 getList()
 </script>

--
Gitblit v1.9.3