mirror of
https://github.com/jumpserver/lina.git
synced 2026-01-13 11:24:17 +00:00
fix: 资产树默认关闭搜索;调整搜索url携带的参数
This commit is contained in:
@@ -75,6 +75,8 @@ export default {
|
||||
showMenu: false,
|
||||
showRefresh: true,
|
||||
showAssets: false,
|
||||
showSearch: true,
|
||||
customTreeHeader: true,
|
||||
url: '/api/v1/assets/assets/?fields_size=mini',
|
||||
nodeUrl: '/api/v1/assets/nodes/',
|
||||
// ?assets=0不显示资产. =1显示资产
|
||||
|
||||
@@ -38,9 +38,9 @@ export default {
|
||||
showCreate: true,
|
||||
showDelete: true,
|
||||
showUpdate: true,
|
||||
showSearch: true,
|
||||
showSearch: false,
|
||||
// 自定义header
|
||||
customTreeHeader: true,
|
||||
customTreeHeader: false,
|
||||
customTreeHeaderName: this.$t('assets.Asset'),
|
||||
async: {
|
||||
enable: true,
|
||||
|
||||
@@ -32,16 +32,19 @@
|
||||
{{ this.$t('common.tree.Loading') }}...
|
||||
</ul>
|
||||
<ul v-show="!loading" :id="iZTreeID" class="ztree" />
|
||||
<div v-if="treeSetting.treeUrl===''" class="tree-empty">
|
||||
{{ this.$t('common.tree.Empty') }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="treebox">
|
||||
<ul v-show="loading" class="ztree">
|
||||
{{ this.$t('common.tree.Loading') }}...
|
||||
</ul>
|
||||
<ul v-show="!loading" :id="iZTreeID" class="ztree" />
|
||||
</div>
|
||||
<div v-if="treeSetting.treeUrl===''">
|
||||
{{ this.$t('common.tree.Empty') }}
|
||||
<a id="tree-refresh"><i class="fa fa-refresh" /></a>
|
||||
<div v-if="treeSetting.treeUrl===''" class="tree-empty">
|
||||
{{ this.$t('common.tree.Empty') }}
|
||||
<a id="tree-refresh"><i class="fa fa-refresh" /></a>
|
||||
</div>
|
||||
</div>
|
||||
<div :id="iRMenuID" class="rMenu">
|
||||
<ul class="dropdown-menu menu-actions">
|
||||
@@ -189,7 +192,11 @@ export default {
|
||||
searchInput.oninput = _.debounce((e) => {
|
||||
e.stopPropagation()
|
||||
const value = e.target.value || ''
|
||||
this.filterAssetsServer(value)
|
||||
if (this.treeSetting.async.enable) {
|
||||
this.filterAssetsServer(value)
|
||||
} else {
|
||||
this.filterTree(value)
|
||||
}
|
||||
}, 600)
|
||||
},
|
||||
getCheckedNodes: function() {
|
||||
@@ -230,7 +237,8 @@ export default {
|
||||
return groups[group]
|
||||
})
|
||||
},
|
||||
filterTree(keyword, tree) {
|
||||
filterTree(keyword, tree = this.zTree) {
|
||||
if (!this.zTree) return
|
||||
const searchNode = tree.getNodesByFilter((node) => node.id === 'search')
|
||||
if (searchNode) tree.removeNode(searchNode[0])
|
||||
const nodes = tree.transformToArray(tree.getNodes())
|
||||
@@ -301,7 +309,12 @@ export default {
|
||||
this.zTree.hideNodes(treeNodes)
|
||||
}
|
||||
|
||||
const searchUrl = `/api/v1/assets/nodes/children/tree/?search=${keyword}&all=all`
|
||||
let treeUrl = this.treeSetting.treeUrl
|
||||
const filterField = treeUrl.includes('?') ? `&search=${keyword}` : `?search=${keyword}`
|
||||
if (treeUrl.indexOf('assets/nodes/children/tree') > -1) {
|
||||
treeUrl = treeUrl + '&all=all'
|
||||
}
|
||||
const searchUrl = `${treeUrl}${filterField}`
|
||||
this.$axios.get(searchUrl).then(nodes => {
|
||||
let name = this.$t('common.Search')
|
||||
const assetsAmount = nodes.length
|
||||
@@ -491,4 +504,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.tree-empty {
|
||||
margin-left: 4px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -48,6 +48,8 @@ export default {
|
||||
showUpdate: true,
|
||||
showDelete: true,
|
||||
hasRightMenu: true,
|
||||
showSearch: true,
|
||||
customTreeHeader: true,
|
||||
url: '/api/v1/assets/assets/',
|
||||
nodeUrl: '/api/v1/assets/nodes/',
|
||||
// ?assets=0不显示资产. =1显示资产
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
<Page>
|
||||
<el-collapse-transition>
|
||||
<div style="display: flex;justify-items: center; flex-wrap: nowrap;justify-content:space-between;">
|
||||
<div v-show="iShowTree" :style="iShowTree?('width:250px;'):('width:0;')" class="transition-box">
|
||||
<div
|
||||
v-show="iShowTree"
|
||||
:style="{width: iShowTree?'20%': 0}"
|
||||
class="transition-box tree-box"
|
||||
>
|
||||
<AutoDataZTree
|
||||
ref="AutoDataZTree"
|
||||
:key="DataZTree"
|
||||
@@ -10,7 +14,7 @@
|
||||
class="auto-data-ztree"
|
||||
/>
|
||||
</div>
|
||||
<div :style="iShowTree?('display: flex;width: calc(100% - 250px);'):('display: flex;width:100%;')">
|
||||
<div :style="iShowTree?('display: flex;width: 80%;'):('display: flex;width:100%;')">
|
||||
<div class="mini">
|
||||
<div style="display:block" class="mini-button" @click="iShowTree=!iShowTree">
|
||||
<i v-show="iShowTree" class="fa fa-angle-left fa-x" /><i v-show="!iShowTree" class="fa fa-angle-right fa-x" />
|
||||
@@ -70,6 +74,8 @@ export default {
|
||||
treeUrl: '',
|
||||
showRefresh: true,
|
||||
showMenu: false,
|
||||
showSearch: true,
|
||||
customTreeHeader: true,
|
||||
check: {
|
||||
enable: true
|
||||
},
|
||||
@@ -276,4 +282,8 @@ export default {
|
||||
height: 100px;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.tree-box {
|
||||
margin-right: 2px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user