From 8194a67f3b9248cc80137c78bd3e005949ec38dc Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 23 十二月 2025 17:48:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cwxt_master' into cwxt_master

---
 ui/admin-ui3/src/components/FeeDetailModal/index.vue |   52 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 46 insertions(+), 6 deletions(-)

diff --git a/ui/admin-ui3/src/components/FeeDetailModal/index.vue b/ui/admin-ui3/src/components/FeeDetailModal/index.vue
index c8d3587..0d2d27d 100644
--- a/ui/admin-ui3/src/components/FeeDetailModal/index.vue
+++ b/ui/admin-ui3/src/components/FeeDetailModal/index.vue
@@ -36,7 +36,24 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="8">
+        <el-col :span="8" v-if="typeText == '搴旀敹'" >
+          <el-form-item label="瀹㈡埛鍚嶇О" prop="customerName">
+            <!-- <el-select v-model="mainForm.customerName" placeholder="璇烽�夋嫨渚涘簲鍟嗗悕绉�" style="width: 100%;" clearable>
+              <el-option v-for="dict in sys_supplier" :key="dict.value" :label="dict.label"
+                :value="dict.value"></el-option>
+            </el-select> -->
+            <el-input v-model="mainForm.customerName" placeholder="璇烽�夋嫨 瀹㈡埛鍚嶇О" readonly @click="handleCustonerClick"
+              class="clickable-input">
+              <template #suffix>
+                <el-icon @click="handleCustonerClick" class="search-icon">
+                  <Search />
+                </el-icon>
+              </template>
+            </el-input>
+          </el-form-item>
+        </el-col>
+
+             <el-col :span="8" v-if="typeText == '搴斾粯'" >
           <el-form-item label="渚涘簲鍟嗗悕绉�" prop="customerName">
             <!-- <el-select v-model="mainForm.customerName" placeholder="璇烽�夋嫨渚涘簲鍟嗗悕绉�" style="width: 100%;" clearable>
               <el-option v-for="dict in sys_supplier" :key="dict.value" :label="dict.label"
@@ -79,7 +96,7 @@
         </el-col>
         <el-col :span="8" v-if="typeText == '搴旀敹'">
           <el-form-item label="搴旀敹閲戦" prop="receivableAmount">
-            <el-input-number v-model="mainForm.receivableAmount" :min="0" class="w-full" />
+            <el-input-number v-model="mainForm.receivableAmount" disabled :min="0" class="w-full" />
           </el-form-item>
         </el-col>
         <el-col :span="8" v-if="typeText == '搴斾粯'">
@@ -119,13 +136,13 @@
     <el-table :data="receivableFeeDetailList" border stripe style="width: 100%">
       <el-table-column prop="feeType" label="璐圭敤绫诲瀷" >
         <template #default="scope">
-          {{ dictFormat('fee_type', scope.row.feeType) }}
+          {{ dictFormat(fee_type, scope.row.feeType) }}
         </template>
       </el-table-column>
       <el-table-column prop="feeName" label="璐圭敤鍚嶇О" />
       <el-table-column prop="billingUnit" label="璁¤垂鍗曚綅">
         <template #default="scope">
-          {{ dictFormat('sys_unit', scope.row.billingUnit)}}
+          {{ dictFormat(sys_unit, scope.row.billingUnit)}}
         </template>
       </el-table-column>
       <el-table-column prop="unitPrice" label="璁¤垂鍗曚环" />
@@ -133,7 +150,7 @@
       <el-table-column prop="actualAmount" label="瀹炴敹閲戦" />
       <el-table-column prop="currency" label="甯佸埗">
         <template #default="scope">
-          {{ dictFormat('sys_currency', scope.row.currency)}}
+          {{ dictFormat(sys_currency, scope.row.currency)}}
         </template>
       </el-table-column>
       <el-table-column prop="createTime" label="璐圭敤鐧昏鏃堕棿" width="180" />
@@ -228,7 +245,7 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, computed } from 'vue';
+import { ref, reactive, computed, watch } from 'vue';
 import { ElMessage, type FormInstance } from 'element-plus';
 import useCurrentInstance from '@/utils/useCurrentInstance'
 import EntitySelector from '../EntitySelector/index.vue';
@@ -427,6 +444,29 @@
   mainForm.customerId = selectedCustomer.id; // 鐜板湪瀛楁宸插0鏄庯紝璧嬪�兼湁鏁�
   isCustomerSelectVisibleIshow.value = false;
 };
+// 鐩戝惉璐圭敤鏄庣粏鍒楄〃鐨勫彉鍖栵紝鑷姩璁$畻鎬婚骞朵繚鐣�2浣嶅皬鏁�
+watch(
+  () => receivableFeeDetailList.value,
+  (newList) => {
+    const total = newList.reduce((sum, item) => {
+      // 纭繚鍙栧埌鐨勬槸鏁板�硷紝濡傛灉涓虹┖鍒欓粯璁や负 0
+      const amount = parseFloat(item.actualAmount) || 0;
+      return sum + amount;
+    }, 0);
+    
+    // 璁$畻缁撴灉淇濈暀2浣嶅皬鏁�
+    // parseFloat(...toFixed(2)) 鏄负浜嗙‘淇濇渶鍚庡瓨鍏� mainForm 鐨勬槸鏁板瓧绫诲瀷鑰岄潪瀛楃涓�
+    const formattedTotal = parseFloat(total.toFixed(2));
+
+    // 鏍规嵁绫诲瀷璧嬪��
+    if (typeText.value === '搴旀敹') {
+      mainForm.receivableAmount = formattedTotal;
+    } else {
+      mainForm.payableAmount = formattedTotal;
+    }
+  },
+  { deep: true, immediate: true } // immediate: true 纭繚鍒濆鍔犺浇鏁版嵁鏃朵篃鑳借绠椾竴娆�
+);
 defineExpose({ open, canceleClick });
 </script>
 

--
Gitblit v1.8.0