<a-tree
@select="selectTree"
:tree-data="treeData"
:expandedKeys="expandedKeys"
@expand="onExpand"
:load-data="onLoadData"
/>
data() {
return {
treeData: [],
treeNode: null,
expandedKeys: [],
}
}
onLoadData(treeNode) {
if (treeNode.dataRef.leaf) return
return new Promise(resolve => {
if (treeNode.dataRef.item && treeNode.dataRef.item.length > 0) {
resolve()
return
}
setTimeout(() => {
this.getTreeData(treeNode)
resolve()
}, 1000)
})
},
getTreeData(treeNode) {
let treeData = []
this.$axios
.modelResultGetClueList({
appName: treeNode?.dataRef?.appName,
accountNo: treeNode?.dataRef?.accountNo,
...this.searchObj
})
.then(res => {
if (res.data.success) {
if (res.data?.data?.length) {
if (treeNode?.dataRef) {
treeNode.dataRef.item = res.data.data
treeData = [...this.treeData]
} else {
treeData = res.data.data || []
}
this.treeData = treeData || []
}
}
})
.catch(err => {
this.$throw(err)
})
},
selectTree(a, treeNode) {
this.treeNode = treeNode.node.$parent
},
treeNodeGet() {
if (this.treeNode?.dataRef) {
this.treeNode.dataRef.children = []
this.getTreeData(this.treeNode)
}
},