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