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/DetailModal/index.vue |  131 +++++++++++++++++++++++++++----------------
 1 files changed, 81 insertions(+), 50 deletions(-)

diff --git a/ui/admin-ui3/src/components/DetailModal/index.vue b/ui/admin-ui3/src/components/DetailModal/index.vue
index bdd8a9e..3d34566 100644
--- a/ui/admin-ui3/src/components/DetailModal/index.vue
+++ b/ui/admin-ui3/src/components/DetailModal/index.vue
@@ -1,27 +1,21 @@
 <template>
-  <el-dialog
-    v-model="visible"
-    title="璐圭敤璇︽儏"
-    width="1000px"
-    destroy-on-close
-    @closed="handleClosed"
-  >
+  <el-dialog v-model="visible" title="璐圭敤璇︽儏" width="1000px" destroy-on-close @closed="handleClosed">
     <div class="modal-content">
       <section class="detail-section">
         <h3 class="section-title">搴旀敹璐圭敤鏄庣粏</h3>
         <el-descriptions :column="3" border class="margin-top">
           <el-descriptions-item label="绯荤粺缂栧彿">{{ detailData.systemNo }}</el-descriptions-item>
           <el-descriptions-item label="鍏宠仈璐﹀崟缂栧彿">{{ detailData.relatedBillNo }}</el-descriptions-item>
-          <el-descriptions-item label="鏉ユ簮绯荤粺">{{ detailData.sourceSystem }}</el-descriptions-item>
-          
-          <el-descriptions-item label="涓氬姟鏉垮潡">{{ detailData.businessSector }}</el-descriptions-item>
-          <el-descriptions-item label="鍗曟嵁绫诲瀷">{{ detailData.documentType }}</el-descriptions-item>
+          <el-descriptions-item label="鏉ユ簮绯荤粺">{{ dictFormat(sys_system, detailData.sourceSystem) }}</el-descriptions-item>
+
+          <el-descriptions-item label="涓氬姟鏉垮潡">{{ dictFormat(sys_business, detailData.businessSector) }}</el-descriptions-item>
+          <el-descriptions-item label="鍗曟嵁绫诲瀷">{{ dictFormat(sys_receipts, detailData.documentType) }}</el-descriptions-item>
           <el-descriptions-item label="鍗曟嵁缂栧彿">{{ detailData.documentNo }}</el-descriptions-item>
-          
+
           <el-descriptions-item label="瀹㈡埛鍚嶇О">{{ detailData.customerName }}</el-descriptions-item>
           <el-descriptions-item label="椤圭洰鍚嶇О">{{ detailData.projectName }}</el-descriptions-item>
           <el-descriptions-item label="涓氬姟鍙戠敓鏃堕棿">{{ detailData.businessTime }}</el-descriptions-item>
-          
+
           <el-descriptions-item label="搴旀敹纭鏃堕棿">{{ detailData.receivableConfirmTime }}</el-descriptions-item>
           <el-descriptions-item label="搴旀敹閲戦" :span="2">
             <span class="amount-text">{{ detailData.receivableAmount }}</span>
@@ -30,12 +24,40 @@
       </section>
 
       <section class="table-section">
-        <h3 class="section-title" style="margin-top: 10px;" >璐圭敤鏄庣粏</h3>
-        <avue-crud 
-          :option="tableOption" 
-          :data="detailData.feeList || []"
+        <h3 class="section-title" style="margin-top: 20px;">璐圭敤鏄庣粏</h3>
+        <el-table 
+          :data="detailData.feeList || []" 
+          border 
+          stripe 
+          style="width: 100%"
+          :header-cell-style="{ backgroundColor: '#f5f7fa', color: '#606266' }"
         >
-          </avue-crud>
+          <el-table-column label="璐圭敤绫诲瀷" align="center" prop="feeType"/>
+            <!-- <template #default="scope">
+              {{ dictFormat(fee_type, scope.row.feeType) }}
+            </template>
+          </el-table-column> -->
+          
+          <el-table-column label="璐圭敤鍚嶇О" prop="feeName" align="center" />
+          
+          <el-table-column label="璁¤垂鍗曚綅" align="center" prop="billingUnit"/>
+            <!-- <template #default="scope">
+              {{ dictFormat(sys_unit, scope.row.billingUnit) }}
+            </template>
+          </el-table-column> -->
+          
+          <el-table-column label="璁¤垂鍗曚环" prop="unitPrice" align="center" />
+          <el-table-column label="璁¤垂閲戦" prop="billingAmount" align="center" />
+          <el-table-column label="瀹炴敹閲戦" prop="actualAmount" align="center" />
+          
+          <el-table-column label="甯佸埗" align="center"  prop="currency" >
+            <template #default="scope">
+              {{ dictFormat(sys_currency, scope.row.currency) }}
+            </template>
+          </el-table-column>
+          
+          <el-table-column label="璐圭敤鐧昏鏃堕棿" prop="createTime" width="160" align="center" />
+        </el-table>
       </section>
     </div>
 
@@ -48,43 +70,49 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive } from 'vue';
+import { ref } from 'vue';
+import useCurrentInstance from "@/utils/useCurrentInstance";
+
+const { proxy } = useCurrentInstance();
+
+// 鍔犺浇鎵�闇�鐨勫瓧鍏�
+const { 
+  sys_system, 
+  sys_business, 
+  sys_receipts, 
+  sys_currency, 
+  fee_type, // 瀵瑰簲涔嬪墠鐨� dicUrl fee_type
+  sys_unit   // 瀵瑰簲涔嬪墠鐨� dicUrl sys_unit
+} = proxy.useDict(
+  'sys_system',
+  'sys_business',
+  'sys_receipts',
+  'sys_currency',
+  'fee_type',
+  'sys_unit'
+);
+
+const dictFormat = (dict: any, value: any) => {
+  return proxy.selectDictLabel(dict, value);
+};
 
 const visible = ref(false);
 const detailData = ref<any>({});
 
-// 琛ㄦ牸閰嶇疆
-const tableOption = {
-    tip: false,
-  header: false, // 闅愯棌澶撮儴鎸夐挳
-  addBtn: false,
-  editBtn: false,
-  delBtn: false,
-  menu: false,   // 闅愯棌鎿嶄綔鏍�
-  column: [
-    { label: '璐圭敤绫诲瀷', prop: 'feeType' },
-    { label: '璐圭敤鍚嶇О', prop: 'feeName' },
-    { label: '璁¤垂鍗曚綅', prop: 'unit' },
-    { label: '璁¤垂鍗曚环', prop: 'price' },
-    { label: '璁¤垂閲戦', prop: 'totalAmount' },
-    { label: '瀹炴敹閲戦', prop: 'actualAmount' },
-    { label: '甯佸埗', prop: 'currency' },
-    { label: '璐圭敤鐧昏鏃堕棿', prop: 'createTime', width: 160 },
-  ]
-};
-
 // 鏆撮湶缁欑埗缁勪欢鐨勬柟娉�
 const open = (data: any) => {
   detailData.value = data || {};
+  // 缁熶竴鏁版嵁鏉ユ簮瀛楁
+  if (data && data.receivableFeeDetailList) {
+    detailData.value.feeList = data.receivableFeeDetailList;
+  } else {
+    detailData.value.feeList = [];
+  }
   visible.value = true;
 };
 
 const handleClosed = () => {
   detailData.value = {};
-};
-
-const handleConfirm = () => {
-  visible.value = false;
 };
 
 defineExpose({ open });
@@ -94,26 +122,29 @@
 .modal-content {
   padding: 10px;
 }
+
 .section-title {
   font-size: 16px;
   font-weight: bold;
-  margin: 20px 0 10px 0;
+  margin: 10px 0;
   color: #333;
+  padding-left: 10px;
+  border-left: 4px solid #409eff; /* 娣诲姞浜嗚摑鑹蹭晶杈癸紝涓庝富娴佽储鍔$郴缁熼鏍肩粺涓� */
 }
-.section-title:first-child {
-  margin-top: 0;
-}
+
 .amount-text {
   color: #f56c6c;
   font-weight: bold;
 }
+
 :deep(.el-descriptions__label) {
   width: 120px;
   background-color: #f5f7fa;
 }
+
+/* 缁熶竴鎻忚堪鍒楄〃鍗曞厓鏍兼牱寮� */
 ::v-deep .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell {
-    border: var(--el-descriptions-table-border);
-    padding: 8px 11px;
-    width: 100px;
+  border: var(--el-descriptions-table-border);
+  padding: 8px 11px;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0