From 2e217b787931233134f5a656b3bc2503ed034eb7 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期二, 03 二月 2026 15:47:57 +0800
Subject: [PATCH] 增加开票,抬头关联发票抬头管理
---
ui/admin-ui3/src/views/cwgl/voucherSubjectSetting/index.vue | 82 +++++++++++++++++++++++++++++-----------
1 files changed, 59 insertions(+), 23 deletions(-)
diff --git a/ui/admin-ui3/src/views/cwgl/voucherSubjectSetting/index.vue b/ui/admin-ui3/src/views/cwgl/voucherSubjectSetting/index.vue
index dc1f8f9..b449e92 100644
--- a/ui/admin-ui3/src/views/cwgl/voucherSubjectSetting/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/voucherSubjectSetting/index.vue
@@ -21,19 +21,28 @@
</el-button>
</template>
<template #menu="{ row, index, size }">
- <el-button type="primary" text icon="Plus" @click="handleRowAdd(row)">鏂板瀛愰」</el-button>
+ <el-button type="primary" text icon="Plus" v-hasPermi="['cwgl:voucherSubjectSetting:addz']"
+ @click="handleRowAdd(row)">鏂板瀛愰」</el-button>
+ <el-button type="text" icon="View" @click="handleFlow(row)"
+ v-hasPermi="['cwgl:voucherSubjectSetting:flow']">鏃ュ織</el-button>
</template>
</avue-crud>
</basicContainer>
+
+ <OperationLogModal ref="logModalRef" />
+
</template>
<script setup name="voucherSubjectSetting" lang="ts">
+import { listVoucherSubjectSettingLog, } from "@/api/cwgl/voucherSubjectSettingLog";
+
import { VoucherSubjectSettingI, addVoucherSubjectSetting, delVoucherSubjectSetting, exportVoucherSubjectSetting, getVoucherSubjectSetting, listVoucherSubjectSetting, updateVoucherSubjectSetting } from "@/api/cwgl/voucherSubjectSetting";
import useCurrentInstance from "@/utils/useCurrentInstance";
import { computed, reactive, ref, toRefs } from "vue";
import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface";
import { usePagePlus } from "@/hooks/usePagePlus";
import { hasPermission } from "@/utils/permissionUtils";
+import OperationLogModal from '@/components/OperationLogModal/index.vue';
const { proxy } = useCurrentInstance();
const crudRef = ref();
@@ -172,16 +181,21 @@
// // }
// // ],
// },
+ // 鍦� option.value.column 涓壘鍒� subjectName
+ // 鎵惧埌 option 閲岀殑 subjectName 鍒�
subjectName: {
label: '绉戠洰鍚嶇О',
- minWidth: 150,
-
+ prop: 'subjectName', // 淇濇寔鍘熷 prop锛岃繖鏍峰脊绐楅噷鐨勮緭鍏ユ鎵嶆槸骞插噣鐨勫悕绉�
+ minWidth: 250, // 鎷兼帴鍚庝細寰堥暱锛屽缓璁皟澶у搴�
search: true,
+ overHidden: true,
+ // --- 浣跨敤 formatter 鏉ユ帶鍒惰〃鏍肩晫闈㈢殑鏄剧ず ---
+ formatter: (row: any) => {
+ // 浼樺厛鏄剧ず鎴戜滑閫掑綊鐢熸垚鐨勬嫾鎺ュ瓧娈碉紝濡傛灉娌℃湁锛堟瘮濡傚垰鏂板杩樻病鍒锋柊鐨勬暟鎹級锛屾樉绀哄師濮嬪悕绉�
+ return row.subjectNameWithParent || row.subjectName;
+ },
rules: [
- {
- required: true,
- message: "绉戠洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
- }
+ { required: true, message: "绉戠洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
],
},
subjectCode: {
@@ -423,27 +437,40 @@
updateApi: updateVoucherSubjectSetting,
getListFunc: (res: any) => {
// 1. 杞崲鏍戠粨鏋�
- tableData.value = proxy.handleTree(res.rows, "id");
+ const tree = proxy.handleTree(res.rows, "id");
- // 2. 浣跨敤閫掑綊鍑芥暟灞曞紑鎵�鏈夊眰绾�
+ // 2. 閫掑綊鎷兼帴鍚嶇О鍑芥暟 (鏍稿績淇敼)
+ const recursionFormatName = (list: any[], pName = '') => {
+ list.forEach(item => {
+ // 杩欓噷鐨勯�昏緫锛氬鏋滄湁鐖剁骇鍚嶇О锛屾嫾鍦ㄤ竴璧凤紱鍚﹀垯鍙樉绀鸿嚜宸�
+ item.subjectNameWithParent = pName ? `${pName} / ${item.subjectName}` : item.subjectName;
+
+ // 濡傛灉鏈夊瓙鑺傜偣锛岀户缁�掑綊锛屾妸褰撳墠鐨勬嫾鎺ョ粨鏋滀紶缁欏瓙鑺傜偣浣滀负 pName
+ if (item.children && item.children.length > 0) {
+ recursionFormatName(item.children, item.subjectNameWithParent);
+ }
+ });
+ };
+
+ // 鎵ц閫掑綊
+ recursionFormatName(tree);
+
+ // 3. 璧嬪�肩粰琛ㄦ牸鏁版嵁
+ tableData.value = tree;
+
+ // 4. 閫掑綊灞曞紑鎵�鏈夊眰绾� (浣犲師鏈夌殑閫昏緫)
nextTick(() => {
if (crudRef.value) {
const tableMethods = crudRef.value.$refs.table;
if (tableMethods && tableData.value) {
-
- // --- 瀹氫箟閫掑綊灞曞紑鍑芥暟 ---
const expandAllNodes = (list: any[]) => {
list.forEach(row => {
- // 鍙鏈夊瓙鑺傜偣锛屽氨鎵ц灞曞紑鍔ㄤ綔
if (row.children && row.children.length > 0) {
tableMethods.toggleRowExpansion(row, true);
- // 缁х画閫掑綊灞曞紑瀛愯妭鐐圭殑瀛愯妭鐐�
expandAllNodes(row.children);
}
});
};
-
- // 鎵ц閫掑綊
expandAllNodes(tableData.value);
}
}
@@ -641,17 +668,14 @@
};
const handleTabClick = (tab: any) => {
const selectedTabName = tab.props.name;
- console.log("Tab鐐瑰嚮鐨勫��:", selectedTabName);
activeAccountSet.value = selectedTabName;
- queryParams.value.type = selectedTabName;
- const nextParams = {
- ...queryParams.value,
- type: selectedTabName
- };
- // 4. 閲嶇疆鍒嗛〉骞跺姞杞�
+ // 鍏堟竻绌哄綋鍓嶆暟鎹紝闃叉鏃ф暟鎹殑鏍戠粨鏋勫奖鍝嶆柊鏁版嵁鐨勬覆鏌�
+ tableData.value = [];
+
+ queryParams.value.type = selectedTabName;
page.value.currentPage = 1;
- onLoad(page.value, nextParams);
+ onLoad(page.value, { type: selectedTabName });
}
/**
@@ -690,4 +714,16 @@
form.value.accountingItems = [];
});
};
+
+const logModalRef = ref(null);
+const handleFlow = (row: any) => {
+ // 杩欓噷鍙互浠� row 涓洿鎺ヨ幏鍙栨棩蹇楋紝鎴栬�呰皟鐢ㄥ悗绔帴鍙f煡璇�
+ // 绀轰緥妯℃嫙鏁版嵁
+ listVoucherSubjectSettingLog({ subjectId: row.id }).then((res) => {
+ if (res.code == 200) {
+ logModalRef.value.open(res.rows, 'payable');
+
+ }
+ });
+}
</script>
--
Gitblit v1.8.0