From 096dae3c147486fc09638f8a0d85fcdc11980ba2 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Wed, 24 Sep 2025 16:31:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E4=BA=A4=E6=8E=A5=E6=94=B6=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TableModel/index.vue | 2 + src/views/filesTransfer/accept/config.js | 19 +++--- src/views/filesTransfer/accept/index.vue | 63 ++++++++++++++----- src/views/filesTransfer/issue/index.vue | 5 +- .../record/components/data-detail.vue | 59 ++++++++++++++++- src/views/filesTransfer/record/config.js | 19 +++--- src/views/filesTransfer/record/index.vue | 50 +++++++++++++-- 7 files changed, 170 insertions(+), 47 deletions(-) diff --git a/src/components/TableModel/index.vue b/src/components/TableModel/index.vue index b505954..34ddadc 100644 --- a/src/components/TableModel/index.vue +++ b/src/components/TableModel/index.vue @@ -93,6 +93,8 @@ v-model="queryParams[item.f_model]" /> + + - + @@ -38,14 +44,16 @@ import { } from '@/api/filesTransfer/record.js' import RecordList from './components/recordList' import { encryptWithSM4 } from '@/utils/sm' - - +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import { getDeptSelectApi } from '@/api/select' export default { name: 'Accept', dicts: ['pro_type', 'voltage_level'], components: { TableModel, - RecordList + RecordList, + Treeselect }, data() { return { @@ -56,22 +64,21 @@ export default { isflag: false, row: {}, loading: false, - jumpType:'' + jumpType: '', + treeDataList:[], } }, created() { - // 将字典数据填充到表单配置的下拉选项中 - if (Array.isArray(this.formLabel)) { - this.formLabel.forEach((item) => { - if (item.f_dict && this.dict && this.dict.type && this.dict.type[item.f_dict]) { - this.$set(item, 'f_selList', this.dict.type[item.f_dict]) - } - }) - } + this.initData(); }, methods: { + async initData() { + await getDeptSelectApi().then(res => { + this.treeDataList = this.convertToVueTree(res.data); + }); + }, closeDialog() { this.isflag = false; }, @@ -94,14 +101,14 @@ export default { this.$refs.recordTableRef.getTableList() }, /* 查看移交清单 */ - handleTList(row){ + handleTList(row) { this.title = "移交清单"; this.row = row; this.jumpType = 'list'; this.isflag = true; }, /* 查看移交进度 */ - handleTProgress(row){ + handleTProgress(row) { this.title = "移交进度"; this.jumpType = 'progress'; this.row = row; @@ -178,6 +185,28 @@ export default { return '未知状态' } }, + // 树数据过滤 - 支持无限层级转换 + convertToVueTree(data, level = 1) { + if (!data || !Array.isArray(data)) { + return [] + } + + return data.map(item => { + const node = { + id: item.deptId, + label: item.deptName, + } + + if (item.children && Array.isArray(item.children) && item.children.length > 0) { + if (level < 3) { + const children = this.convertToVueTree(item.children, level + 1) + if (children.length > 0) node.children = children + } + } + + return node + }) + }, }, } diff --git a/src/views/filesTransfer/issue/index.vue b/src/views/filesTransfer/issue/index.vue index 501b45d..a4a54eb 100644 --- a/src/views/filesTransfer/issue/index.vue +++ b/src/views/filesTransfer/issue/index.vue @@ -3,6 +3,7 @@
+