From 89fd2cf7202c321512c2ea699a3a220a7138ed44 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 09 四月 2026 10:40:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cwxt_master' into cwxt_master
---
ui/admin-ui3/src/components/DetailModal/index.vue | 126 +++++++++++++++++++++++-------------------
1 files changed, 69 insertions(+), 57 deletions(-)
diff --git a/ui/admin-ui3/src/components/DetailModal/index.vue b/ui/admin-ui3/src/components/DetailModal/index.vue
index 3d34566..9ac912f 100644
--- a/ui/admin-ui3/src/components/DetailModal/index.vue
+++ b/ui/admin-ui3/src/components/DetailModal/index.vue
@@ -1,70 +1,79 @@
<template>
- <el-dialog v-model="visible" title="璐圭敤璇︽儏" width="1000px" destroy-on-close @closed="handleClosed">
+ <el-dialog v-model="visible" :title="type === 'receivable' ? '搴旀敹璐圭敤璇︽儏' : '搴斾粯璐圭敤璇︽儏'" width="1000px" destroy-on-close
+ @closed="handleClosed">
<div class="modal-content">
<section class="detail-section">
- <h3 class="section-title">搴旀敹璐圭敤鏄庣粏</h3>
+ <h3 class="section-title">{{ type === 'receivable' ? '搴旀敹璐圭敤鏄庣粏' : '搴斾粯璐圭敤鏄庣粏' }}</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="鏉ユ簮绯荤粺">{{ dictFormat(sys_system, detailData.sourceSystem) }}</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="涓氬姟鏉垮潡">{{ 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="type === 'receivable' ? '瀹㈡埛鍚嶇О' : '渚涘簲鍟嗗悕绉�'">
+ {{ type === 'receivable' ? detailData.customerName : detailData.supplierName }}
+ </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>
+ <el-descriptions-item :label="type === 'receivable' ? '搴旀敹纭鏃堕棿' : '搴斾粯纭鏃堕棿'">
+ {{ type === 'receivable' ? detailData.receivableConfirmTime : detailData.payableConfirmTime }}
+ </el-descriptions-item>
+
+ <!-- <el-descriptions-item :label="type === 'receivable' ? '搴旀敹閲戦' : '搴斾粯閲戦'" :span="2">
+ <span class="amount-text">{{ detailData.receivableAmount || detailData.payableAmount }}</span>
+ </el-descriptions-item> -->
+
+ <el-descriptions-item :label="type === 'receivable' ? '搴旀敹閲戦' : '搴斾粯閲戦'" :span="2">
+ <span>{{ type === 'receivable' ? detailData.receivableAmountStr : detailData.payableAmountStr}}</span>
</el-descriptions-item>
</el-descriptions>
</section>
<section class="table-section">
<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' }"
- >
- <el-table-column label="璐圭敤绫诲瀷" align="center" prop="feeType"/>
- <!-- <template #default="scope">
+ <el-table :data="detailData.feeList || []" border stripe style="width: 100%"
+ :header-cell-style="{ backgroundColor: '#f5f7fa', color: '#606266' }">
+ <el-table-column label="璐圭敤绫诲瀷" align="center">
+ <template #default="scope">
{{ dictFormat(fee_type, scope.row.feeType) }}
</template>
- </el-table-column> -->
-
+ </el-table-column>
+
<el-table-column label="璐圭敤鍚嶇О" prop="feeName" align="center" />
-
- <el-table-column label="璁¤垂鍗曚綅" align="center" prop="billingUnit"/>
- <!-- <template #default="scope">
+
+ <el-table-column label="璁¤垂鍗曚綅" align="center">
+ <template #default="scope">
{{ dictFormat(sys_unit, scope.row.billingUnit) }}
</template>
- </el-table-column> -->
-
+ </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" >
+
+ <el-table-column :label="type === 'receivable' ? '瀹炴敹閲戦' : '瀹炰粯閲戦'" 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>
<template #footer>
- <span class="dialog-footer">
- <el-button @click="visible = false">鍏� 闂�</el-button>
- </span>
+ <el-button @click="visible = false">鍏� 闂�</el-button>
</template>
</el-dialog>
</template>
@@ -75,22 +84,14 @@
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 {
+ sys_system,
+ sys_business,
+ sys_receipts,
+ sys_currency,
+ fee_type,
+ 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);
@@ -98,16 +99,22 @@
const visible = ref(false);
const detailData = ref<any>({});
+const type = ref<'receivable' | 'payable'>('receivable'); // 鏍囪鏄簲鏀惰繕鏄簲浠�
-// 鏆撮湶缁欑埗缁勪欢鐨勬柟娉�
-const open = (data: any) => {
+/**
+ * 鏆撮湶缁欑埗缁勪欢鐨勬柟娉�
+ * @param data 鏁版嵁瀵硅薄
+ * @param mode 妯″紡锛�'receivable' (搴旀敹) 鎴� 'payable' (搴斾粯)
+ */
+const open = (data: any, mode: 'receivable' | 'payable' = 'receivable') => {
+ type.value = mode;
detailData.value = data || {};
- // 缁熶竴鏁版嵁鏉ユ簮瀛楁
- if (data && data.receivableFeeDetailList) {
- detailData.value.feeList = data.receivableFeeDetailList;
- } else {
- detailData.value.feeList = [];
+
+ // 缁熶竴鏄庣粏鍒楄〃鐨勫彇鍊奸�昏緫锛堟牴鎹悗绔瓧娈靛悕璋冩暣锛�
+ if (data) {
+ detailData.value.feeList = data.receivableFeeDetailList || data.payableFeeDetailList || [];
}
+
visible.value = true;
};
@@ -129,7 +136,7 @@
margin: 10px 0;
color: #333;
padding-left: 10px;
- border-left: 4px solid #409eff; /* 娣诲姞浜嗚摑鑹蹭晶杈癸紝涓庝富娴佽储鍔$郴缁熼鏍肩粺涓� */
+ border-left: 4px solid #409eff;
}
.amount-text {
@@ -142,9 +149,14 @@
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;
}
+
+::v-deep .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell {
+ border: var(--el-descriptions-table-border);
+ padding: 8px 11px;
+ width: 200px;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0