perf: 优化tree组件url参数

This commit is contained in:
“huailei000” 2023-02-07 11:29:59 +08:00 committed by huailei
parent 5112af8ba1
commit 8f5df65f0e
4 changed files with 27 additions and 2 deletions

View File

@ -12,6 +12,7 @@
> >
<AssetTreeTable <AssetTreeTable
ref="ListPage" ref="ListPage"
v-bind="$attrs"
:header-actions="headerActions" :header-actions="headerActions"
:table-config="tableConfig" :table-config="tableConfig"
class="tree-table" class="tree-table"

View File

@ -15,6 +15,7 @@
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
v-bind="$attrs" v-bind="$attrs"
:base-url="baseUrl" :base-url="baseUrl"
:tree-url-query="treeUrlQuery"
@cancel="handleCancel" @cancel="handleCancel"
@confirm="handleConfirm" @confirm="handleConfirm"
v-on="$listeners" v-on="$listeners"
@ -34,6 +35,10 @@ export default {
type: String, type: String,
default: '/api/v1/assets/assets/' default: '/api/v1/assets/assets/'
}, },
treeUrlQuery: {
type: Object,
default: () => {}
},
value: { value: {
type: Array, type: Array,
default: () => [] default: () => []

View File

@ -39,6 +39,10 @@ export default {
type: String, type: String,
default: '/api/v1/assets/nodes/children/tree/' default: '/api/v1/assets/nodes/children/tree/'
}, },
treeUrlQuery: {
type: Object,
default: () => ({})
},
treeSetting: { treeSetting: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
@ -54,6 +58,9 @@ export default {
}, },
data() { data() {
const showAssets = this.treeSetting?.showAssets || this.showAssets const showAssets = this.treeSetting?.showAssets || this.showAssets
const treeUrlQuery = this.setTreeUrlQuery()
const assetTreeUrl = `${this.treeUrl}?assets=${showAssets ? '1' : '0'}&${treeUrlQuery}`
return { return {
treeTabConfig: { treeTabConfig: {
activeMenu: 'CustomTree', activeMenu: 'CustomTree',
@ -72,7 +79,7 @@ export default {
showSearch: true, showSearch: true,
url: this.url, url: this.url,
nodeUrl: this.nodeUrl, nodeUrl: this.nodeUrl,
treeUrl: `${this.treeUrl}?assets=${showAssets ? '1' : '0'}`, treeUrl: assetTreeUrl,
callback: { callback: {
onSelected: (event, treeNode) => this.getAssetsUrl(treeNode) onSelected: (event, treeNode) => this.getAssetsUrl(treeNode)
}, },
@ -117,6 +124,15 @@ export default {
treeSetting.showDelete = this.$hasPerm('assets.delete_node') treeSetting.showDelete = this.$hasPerm('assets.delete_node')
}, },
methods: { methods: {
setTreeUrlQuery() {
let str = ''
for (const key in this.treeUrlQuery) {
str += `${key}=${this.treeUrlQuery[key]}&`
}
str = str.substr(0, str.length - 1)
return str
},
decorateRMenu() { decorateRMenu() {
const show_current_asset = this.$cookie.get('show_current_asset') || '0' const show_current_asset = this.$cookie.get('show_current_asset') || '0'
if (show_current_asset === '1') { if (show_current_asset === '1') {

View File

@ -24,7 +24,10 @@ export default {
label: this.$t('assets.Assets'), label: this.$t('assets.Assets'),
el: { el: {
value: [], value: [],
baseUrl: '/api/v1/assets/assets/?domain_enabled=true' baseUrl: '/api/v1/assets/assets/?domain_enabled=true',
treeUrlQuery: {
domain_enabled: true
}
} }
} }
}, },