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