From bfdc6b45047e1a870f261f58407255d60fb3844b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Chuailei000=E2=80=9D?= <2280131253@qq.com> Date: Mon, 5 Sep 2022 15:20:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E5=88=97=E8=A1=A8table=E7=BB=84=E4=BB=B6=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=B5=84=E4=BA=A7=E6=A0=91=E5=88=97=E8=A1=A8=E4=B8=8D=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/assets/Asset/AssetList/AllList.vue | 30 ++++++++++++------- .../Asset/AssetList/components/BaseList.vue | 9 ++++-- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/views/assets/Asset/AssetList/AllList.vue b/src/views/assets/Asset/AssetList/AllList.vue index 75eb8dff7..4706c7539 100644 --- a/src/views/assets/Asset/AssetList/AllList.vue +++ b/src/views/assets/Asset/AssetList/AllList.vue @@ -4,7 +4,6 @@ ref="TreeList" :table-config="tableConfig" :help-message="helpMessage" - :header-actions="headerActions" :tree-setting="treeSetting" > @@ -22,7 +21,6 @@ :visible.sync="updateSelectedDialogSetting.visible" v-bind="updateSelectedDialogSetting" /> - @@ -32,15 +30,14 @@ import $ from '@/utils/jquery-vendor' import { mapGetters } from 'vuex' import AssetBulkUpdateDialog from './components/AssetBulkUpdateDialog' import TreeMenu from './components/TreeMenu' -import PlatformDialog from './components/PlatformDialog' import BaseList from './components/BaseList' +import { setUrlParam } from '@/utils/common' export default { components: { TreeTable, AssetBulkUpdateDialog, TreeMenu, - PlatformDialog, BaseList }, data() { @@ -61,16 +58,14 @@ export default { url: '/api/v1/assets/assets/', nodeUrl: '/api/v1/assets/nodes/', // ?assets=0不显示资产. =1显示资产 - treeUrl: '/api/v1/assets/nodes/children/tree/?assets=0' + treeUrl: '/api/v1/assets/nodes/children/tree/?assets=0', + callback: { + onSelected: (event, treeNode) => this.getAssetsUrl(treeNode) + } }, tableConfig: { url: '/api/v1/assets/assets/' }, - headerActions: { - onCreate: () => { - this.showPlatform = true - } - }, helpMessage: this.$t('assets.AssetListHelpMessage'), updateSelectedDialogSetting: { visible: false, @@ -105,6 +100,19 @@ export default { this.decorateRMenu() const url = `${this.treeSetting.url}?node_id=${node.meta.data.id}&show_current_asset=${showCurrentAsset}` this.$refs.TreeList.$refs.TreeTable.handleUrlChange(url) + }, + getAssetsUrl(treeNode) { + let url = '/api/v1/assets/assets/' + if (treeNode.meta.type === 'node') { + const nodeId = treeNode.meta.data.id + url = setUrlParam(url, 'asset', '') + url = setUrlParam(url, 'node', nodeId) + } else if (treeNode.meta.type === 'asset') { + const assetId = treeNode.meta.data.id + url = setUrlParam(url, 'node', '') + url = setUrlParam(url, 'asset', assetId) + } + this.$set(this.tableConfig, 'url', url) } } } diff --git a/src/views/assets/Asset/AssetList/components/BaseList.vue b/src/views/assets/Asset/AssetList/components/BaseList.vue index 4d3b7f0b2..b1d09fb5b 100644 --- a/src/views/assets/Asset/AssetList/components/BaseList.vue +++ b/src/views/assets/Asset/AssetList/components/BaseList.vue @@ -187,15 +187,18 @@ export default { }, computed: { iTableConfig() { - const config = _.merge({}, this.defaultConfig, this.tableConfig) - if (this.addColumns) { + const config = _.merge(this.defaultConfig, this.tableConfig, { + url: this.url, + category: this.category + }) + if (this.addColumns.length > 0) { config.columns = [ ...config.columns.slice(0, 2), ...this.addColumns, ...config.columns.slice(2) ] } - if (this.addColumnsMeta) { + if (Object.keys(this.addColumnsMeta).length > 0) { config.columnsMeta = _.merge(config.columnsMeta, this.addColumnsMeta) } return config