const echarts = require("echarts");
const { post, api } = require('./api.js');
function getTree(subType, type,showNodeName){
post(api.getTree,
{
"subType": subType,
"type": type
}
).then(res=>{
if(res.data.code == 0) {
const data = res.data.data
drawTree(data,showNodeName)
}
})
}
function drawTree(data, showNodeName){
/**
属性说明 id 当前节点的唯一ID
pId [必须大写] 代表当前节点的父节点id
name:节点名称
open:是否展开当前节点,默认为false
isParent:true 标记当前节点是否为父节点 默认为如果当前节点下有子节点 则为true 否则为false
icon:设置节点的图标地址
iconOpen:设置节点展开时的图标地址 此节点必须是父节点 isParent:true
iconClose:设置节点收起的的图标地地址 此节点必须是父节点 isParent:true
url:点击节点打开的链接地址 如果想使用onClick:zTreeOnClick事件,就不要加url属性 或者改名字 href
target:设置打开链接的方式 [在新窗口打开(_blank),要本窗口打开(_self)]
**/
var setting = {
//数据格式的设置
data:{
simpleData: {
enable: true, //使用简单的JSON格式
idKey: "id",
pIdKey: "pId",
rootPId: ""
},
},
//树的显示设置
view:{
showLine:true, //设置是否显示连线 默认为true
showTitle: true,//设置是否显示鼠标悬浮时显示title的效果
dblClickExpand: true,//设置是否支持双击展开树节点
fontCss : {color:"#333"},//设置节点样式
expandSpeed: "normal",//设置展开的速度 fast normal slow
nameIsHTML: true,//名字是否是HTML
selectedMulti: true,
},
//设置事件回调
callback:{
onClick: function (treeId, treeNode) {
const selectPId = $('.curSelectedNode').attr('id')
const selectId = selectPId.substring(0,selectPId.length-1) + 'ico'
$('#'+selectId).append('')
},
beforeClick: function (treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("tree");
if (treeNode.isParent) {
zTree.expandNode(treeNode);
return false;
} else {
const treeNodeName = treeNode.name
let index = treeNodeName.indexOf(' ')
const name = treeNodeName.substring(index+1)
getSchema(name,select_type)
const selectPId = $('.curSelectedNode').attr('id')
const selectId = selectPId.substring(0,selectPId.length-1) + 'ico'
$('#'+selectId + ' .iconSelect').remove()
return true;
}
}
}
};
var zNodes = data.nodes;
// var zNodes = zTreeData.nodes;
$.fn.zTree.init($("#tree"), setting, zNodes);
if(showNodeName) {
updateTree(showNodeName)
}
}
function getNode(val, type){
post(api.getNode,
{
"inputStr": val,
"labelName": type
}
).then(res=>{
if(res.data.code == 0) {
const data = res.data.data
let nodeStr =''
if(data.length > 0){
for(let i = 0; i < data.length; i++){
nodeStr +=`