function ORGData(ORG_data, ORG_f, json_f) {
for (let i = 0; i < ORG_data.length; i++) {
var ORG_z = ORG_data[i];
if (ORG_z.Boss_ID == ORG_f.ID) {
var json = {
name: ORG_z.Name + '\n' + ORG_z.Dept + '\n '+ ORG_z.Position,
children: [],
symbol:ORG_z.SRC,
collapsed:true // 二级目录设置为收缩状态 因为sky说了 只会有三级 所以这个就是二级节点
}
var flag = true;
for (let j = 0; j < ORG_data.length; j++) {
var ORG_zz = ORG_data[j];
if (ORG_z.ID == ORG_zz.Boss_ID){
flag = false;
}
}
if (flag){ // 为false说明不是最后一级节点
json = {
name: ORG_z.Name + '\n' + ORG_z.Dept + '\n '+ ORG_z.Position,
children: [],
symbol:ORG_z.SRC,
label: {
position: 'bottom',
verticalAlign: 'middle',
align: 'middle',
offset: [-5,15]
}
}
}
ORGData(ORG_data, ORG_z, json);
json_f.children.push(json);
}
}
}
$.ajax({
url: urlPath + "Admin/WorkGroup_getORG.action",
type: 'POST',
data: {rn: rn},
traditional: true,
dataType: 'JSON',
success: function (data) {
var ORG_Data = data.ORG;
var root = data.root_ORG;
var json_root = {
name: root.Name + '\n' + root.Dept + '\n' + root.Position,
children: [],
symbol:root.SRC
};
// 递归 完成封装
ORGData(ORG_Data, root, json_root);
data_root.push(json_root);
console.log(data_root)
let myChart = echarts.init(dom);
option = {
tooltip: {
trigger: 'item',
triggerOn: 'mousemove'
},
series: [
{
type: 'tree',
data: data_root,
top: '10%',
left: '1%',
bottom: '10%',
right: '1%',
symbolSize: 70,
orient: 'vertical',
label: { // 展开样式
position: 'top',
verticalAlign: 'middle',
align: 'middle',
fontSize: 15,
offset: [0,-15]
},
leaves: { // 收缩的样式
label: {
position: 'right',
verticalAlign: 'middle',
align: 'left'
}
},
emphasis: {
focus: 'descendant'
},
expandAndCollapse: true,
animationDuration: 550,
animationDurationUpdate: 750
}
]
};
myChart.setOption(option);
},
error: function () {
}
});
上面的代码很多,核心就是:把你的data数据拎出来,找到你要单独设置节点样式的数据,然后直接给对应属性赋值就行了。
纯记录-------------------------