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]" /> + + - + + + + + {{ getStatusText(data.auditStatus) }} @@ -17,8 +23,8 @@ - + 详情 @@ -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 @@ + @@ -39,7 +40,6 @@ import { getTransferApplyListApi, } from '@/api/filesTransfer/apply.js' import IssueForm from './prop/issueForm' -import { encryptWithSM4 } from '@/utils/sm' export default { @@ -59,6 +59,7 @@ export default { isAdd: '', row: {}, loading: false, + } }, @@ -71,9 +72,11 @@ export default { } }) } + }, methods: { + /** 新增按钮操作 */ handleAdd() { this.title = "新增"; diff --git a/src/views/filesTransfer/record/components/data-detail.vue b/src/views/filesTransfer/record/components/data-detail.vue index 0c08dcc..41b01f0 100644 --- a/src/views/filesTransfer/record/components/data-detail.vue +++ b/src/views/filesTransfer/record/components/data-detail.vue @@ -20,7 +20,7 @@ - + {{ scope.$index + 1 }} @@ -51,6 +51,33 @@ {{ scope.row.archiveName }} + + + + + + {{ scope.$index + 1 }} + + + + + {{ scope.row.proName || '--'}} + + + + + + + {{ scope.row.archiveName }} + + + + + + {{ scope.row.integrityStatus === '1' ? '已接收' : '未接收' }} + + + 确认接收 @@ -285,5 +312,35 @@ export default { .back-btn{ height: 50px; } +/* 确认弹框样式 */ +.confirm-content { + display: flex; + align-items: flex-start; + padding: 20px 0; +} +.confirm-icon { + font-size: 48px; + color: #E6A23C; + margin-right: 16px; + flex-shrink: 0; +} + +.confirm-text { + flex: 1; +} + +.main-message { + margin: 0 0 8px 0; + font-size: 16px; + color: #303133; + line-height: 1.5; +} + +.sub-message { + margin: 0; + font-size: 14px; + color: #909399; + line-height: 1.4; +} \ No newline at end of file diff --git a/src/views/filesTransfer/record/config.js b/src/views/filesTransfer/record/config.js index 9679733..de690b3 100644 --- a/src/views/filesTransfer/record/config.js +++ b/src/views/filesTransfer/record/config.js @@ -2,25 +2,22 @@ export const formLabel = [ { isShow: false, // 是否展示label f_type: 'ipt', - f_label: '单项工程名称', + f_label: '项目名称', f_model: 'proName', f_max: 32, }, { isShow: false, // 是否展示label - f_type: 'sel', - f_label: '项目类型', - f_model: 'proType', - f_selList: [], - f_dict: 'pro_type', + f_type: 'ipt', + f_label: '单项工程名称', + f_model: 'singleProName', + f_max: 32, }, { isShow: false, // 是否展示label - f_type: 'sel', - f_label: '电压等级', - f_model: 'voltageLevel', - f_selList: [], - f_dict: 'voltage_level', + f_type: 'date', + f_label: '移交时间', + f_model: 'transferDate', }, ] diff --git a/src/views/filesTransfer/record/index.vue b/src/views/filesTransfer/record/index.vue index 7d1039f..6b5edd7 100644 --- a/src/views/filesTransfer/record/index.vue +++ b/src/views/filesTransfer/record/index.vue @@ -3,7 +3,13 @@ - + + + + + {{ getStatusText(data.auditStatus) }} @@ -38,14 +44,17 @@ import { } from '@/api/filesTransfer/record.js' import RecordList from './components/recordList' import { encryptWithSM4 } from '@/utils/sm' +import { getDeptSelectApi } from '@/api/select' - +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { name: 'Record', dicts: ['pro_type', 'voltage_level'], components: { TableModel, - RecordList + RecordList, + Treeselect }, data() { return { @@ -56,22 +65,29 @@ export default { isflag: false, row: {}, loading: false, - jumpType:'' + jumpType:'', + treeDataList:[], } }, created() { // 将字典数据填充到表单配置的下拉选项中 - if (Array.isArray(this.formLabel)) { + /* 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; }, @@ -178,6 +194,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 + }) + }, }, }