mirror of
https://github.com/jumpserver/lina.git
synced 2026-01-15 14:24:39 +00:00
perf: auto decide create in new page or current page in asset or permission
This commit is contained in:
@@ -60,6 +60,7 @@ export default {
|
||||
const showAssets = this.treeSetting?.showAssets || this.showAssets
|
||||
const treeUrlQuery = this.setTreeUrlQuery()
|
||||
const assetTreeUrl = `${this.treeUrl}?assets=${showAssets ? '1' : '0'}&${treeUrlQuery}`
|
||||
const vm = this
|
||||
|
||||
return {
|
||||
treeTabConfig: {
|
||||
@@ -81,7 +82,13 @@ export default {
|
||||
nodeUrl: this.nodeUrl,
|
||||
treeUrl: assetTreeUrl,
|
||||
callback: {
|
||||
onSelected: (event, treeNode) => this.getAssetsUrl(treeNode)
|
||||
onSelected: (event, treeNode) => this.getAssetsUrl(treeNode),
|
||||
beforeRefresh: () => {
|
||||
const query = { ...this.$route.query, node_id: '', asset_id: '' }
|
||||
setTimeout(() => {
|
||||
vm.$router.replace({ query: query })
|
||||
}, 100)
|
||||
}
|
||||
},
|
||||
...this.treeSetting
|
||||
}
|
||||
|
||||
@@ -167,6 +167,9 @@ export default {
|
||||
},
|
||||
async refresh() {
|
||||
this.treeSearchValue = ''
|
||||
if (this.treeSetting?.callback?.beforeRefresh) {
|
||||
this.treeSetting.callback.beforeRefresh()
|
||||
}
|
||||
if (this.treeSetting?.callback?.refresh) {
|
||||
await this.treeSetting.callback.refresh()
|
||||
}
|
||||
|
||||
@@ -97,8 +97,13 @@ export default {
|
||||
route.query.type = row.type.value
|
||||
route.query.category = row.type.category
|
||||
}
|
||||
const { href } = vm.$router.resolve(route)
|
||||
window.open(href, '_blank')
|
||||
const createInNewPage = this.$route.query.node_id && routeAction === 'Create'
|
||||
if (createInNewPage) {
|
||||
const { href } = vm.$router.resolve(route)
|
||||
window.open(href, '_blank')
|
||||
} else {
|
||||
this.$router.push(route)
|
||||
}
|
||||
}
|
||||
const extraQuery = this.$route.params?.extraQuery || {}
|
||||
return {
|
||||
|
||||
@@ -160,8 +160,12 @@ export default {
|
||||
}
|
||||
|
||||
const router = { name: route, query }
|
||||
const { href } = this.$router.resolve(router)
|
||||
window.open(href, '_blank')
|
||||
if (this.$route.query.node_id) {
|
||||
const { href } = this.$router.resolve(router)
|
||||
window.open(href, '_blank')
|
||||
} else {
|
||||
this.$router.push(router)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,11 +157,17 @@ export default {
|
||||
headerActions: {
|
||||
hasLabelSearch: true,
|
||||
hasBulkDelete: true,
|
||||
createRoute() {
|
||||
return {
|
||||
onCreate: () => {
|
||||
const route = {
|
||||
name: 'AssetPermissionCreate',
|
||||
query: this.$route.query
|
||||
}
|
||||
if (vm.$route.query.node_id) {
|
||||
const { href } = this.$router.resolve(route)
|
||||
window.open(href, '_blank')
|
||||
} else {
|
||||
this.$router.push(route)
|
||||
}
|
||||
},
|
||||
handleImportClick: ({ selectedRows }) => {
|
||||
this.$eventBus.$emit('showImportDialog', {
|
||||
@@ -169,7 +175,6 @@ export default {
|
||||
url: '/api/v1/perms/asset-permissions/'
|
||||
})
|
||||
},
|
||||
createInNewPage: true,
|
||||
searchConfig: {
|
||||
url: '',
|
||||
options: AssetPermissionListPageSearchConfigOptions
|
||||
|
||||
Reference in New Issue
Block a user