Newer
Older
import {Component, OnInit} from '@angular/core';
import {TopologyService} from '../../topology.service';
import {LocalStorageService} from 'ngx-webstorage';
import {NzFormatEmitEvent, NzMessageService, NzTreeNode} from 'ng-zorro-antd';
declare let editor: any;
@Component({
selector: 'smart-node',
templateUrl: './node.component.html',
styles: []
})
export class NodeComponent implements OnInit {
isNode = false;
name;
nodes;
nodeList;
selectList = [];
constructor(private topologySer: TopologyService, private message: NzMessageService, private localStorage: LocalStorageService,) {
}
showModal(nodeObj) {
this.hostId = nodeObj.hostIds; //主机id;
this.name = nodeObj.name; //主机名称;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
this.isNode = true;
this.findTree();
}
//查询树--- 分组
findTree() {
const data = {
id: '',
type: 'group'
};
this.topologySer.findTree(data).subscribe(
(res) => {
if (res.errCode == 10000) {
let option = res.data;
option.forEach(res => {
res.title = res.name;
res.key = res.id;
});
this.nodeList = option;
this.toNode(option);
} else {
this.message.info(res.errMsg);
}
}
);
}
toNode(data) {
this.nodes = data.map(res => {
return new NzTreeNode(res);
});
}
//获取下级
mouseAction(name: string, event: NzFormatEmitEvent) {
if (event.node.children.length > 0) {
return false;
}
let type;
if (event.node.level == 0) {
type = 'host'; //主机
}
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
return false;
}
const index = <any>event.node.key - 1;
const data = {
'id': event.node.origin.id,
'type': type
};
this.topologySer.findTree(data).subscribe(
(res) => {
if (res.data) {
const dataSet = res.data;
dataSet.forEach(res => {
res.title = res.name;
res.key = res.id;
res.isLeaf = true;
});
event.node.addChildren(dataSet);
} else {
event.node.addChildren([]);
this.message.warning('该下级为空');
}
}
);
}
//选择树节点
selectItem(event, node) {
if (node.isChecked) {
this.selectList.push(node.origin.id); //主机
} else {
const index = this.selectList.indexOf(node.origin.id);
this.selectList.splice(index, 1);
}
}
//节点
handleNodeCancel() {
this.isNode = false;
this.selectList = [];
if (this.name) {
const item = {
name: this.name,
};
this.isNode = false;
editor.utils.setNode(item);
this.isNode = false;
localStorage.setItem("node",'false');
// const data = {
// hostIds:this.selectList
// };
// this.topologySer.findByHostIdOrWeb(data).subscribe(
// (res)=>{
// this.selectList = [];
// const item = {
// name:this.name,
// img:res.data[0].url
// };
// this.isNode = false;
// editor.utils.setNode(item);
// localStorage.setItem("node",'false');
// }
// )