|
|
@ -1300,13 +1300,52 @@ export default { |
|
|
|
if (!value) return true; |
|
|
|
return data.label.indexOf(value) !== -1; |
|
|
|
}, |
|
|
|
async handleNodeClick(obj) { |
|
|
|
extractData(node) { |
|
|
|
const result = []; |
|
|
|
let currentNode = node; |
|
|
|
while (currentNode) { |
|
|
|
result.push({ id: currentNode.data.id, level: currentNode.data.level }); |
|
|
|
currentNode = currentNode.parent; |
|
|
|
} |
|
|
|
return result; |
|
|
|
}, |
|
|
|
|
|
|
|
traverseTree(tree) { |
|
|
|
const results = []; |
|
|
|
tree.forEach(node => { |
|
|
|
results.push(...this.extractData(node)); |
|
|
|
if (node.children && node.children.length > 0) { |
|
|
|
results.push(...this.traverseTree(node.children)); |
|
|
|
} |
|
|
|
}); |
|
|
|
return results; |
|
|
|
}, |
|
|
|
async handleNodeClick(obj,node) { |
|
|
|
this.selObj = JSON.parse(JSON.stringify(obj)); |
|
|
|
this.selTreeObj = obj; |
|
|
|
await nextTick(1000); |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.$nextTick(async ()=>{ |
|
|
|
if(obj.level === "building" || obj.level === "neighborHood"){ |
|
|
|
this.$EventBus.$emit('handleClickResiTree',{type:obj.level,id:obj.id}) |
|
|
|
const gridNode = this.traverseTree([node]); |
|
|
|
const gridResult = gridNode.find(item => item.level === 'grid'); |
|
|
|
const neighborHoodResult = gridNode.find(item => item.level === "neighborHood"); |
|
|
|
const buildingResult = gridNode.find(item => item.level === "building"); |
|
|
|
|
|
|
|
const gridId = gridResult ? gridResult.id : null; |
|
|
|
const neighborHoodId = neighborHoodResult ? neighborHoodResult.id : null; |
|
|
|
const buildingId = buildingResult ? buildingResult.id : null; |
|
|
|
if (gridId) { |
|
|
|
await this.$EventBus.$emit('handleClickResiTree', { type: 'agency', id: gridId }); |
|
|
|
} |
|
|
|
await nextTick(500); |
|
|
|
if (neighborHoodId) { |
|
|
|
await this.$EventBus.$emit('handleClickResiTree', { type: 'neighborHood', id: neighborHoodId }); |
|
|
|
} |
|
|
|
await nextTick(500); |
|
|
|
if (buildingId) { |
|
|
|
await this.$EventBus.$emit('handleClickResiTree', { type: 'building', id: buildingId }); |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
this.$EventBus.$emit('handleClickResiTree',{type:'agency',id:obj.id}) |
|
|
|
} |
|
|
|