var gis = gis || {}; gis.tree = function() { }; /* * 用于对 Ajax 返回数据进行预处理的函数。[setting.async.enable = true 时生效] */ gis.tree.filter = function(treeId, parentNode, childNodes) { return childNodes; } /* * 设置 zTree 是否显示节点的图标 */ gis.tree.showIconForTree = function(treeId, treeNode) { return false; //return !treeNode.isParent; } /* * 初始化树节点,动态勾选 */ gis.tree.inittreeCheck = function(treeId){ if(parent&&parent.gis&&parent.gis.script&&parent.gis.script.layersInitconfigObject){ var treeObj = $.fn.zTree.getZTreeObj(treeId); var layersInitconfigObject=parent.gis.script.layersInitconfigObject; if(treeObj){ var nodes = treeObj.getNodes(); gis.tree.updatecb(treeObj,nodes,layersInitconfigObject); } } } /* * 根据配置动态勾选选择框 */ gis.tree.updatecb = function(treeObj,nodes,layersInitconfigObject){ if(nodes&&nodes.length){ for(var i in nodes){ var node=nodes[i]; //console.log('>3>node:',node); if(node.layername){ //treeObj.checkNode(node, true, true); treeObj.checkNode(node, false, true); if(layersInitconfigObject&&layersInitconfigObject[node.layername]&&layersInitconfigObject[node.layername].length){ var layerObj=layersInitconfigObject[node.layername][0]; if(layerObj&&layerObj.isshow&&layerObj.isshow==="true"){ treeObj.checkNode(node, true, true); } } continue; } gis.tree.updatecb(treeObj,node.children,layersInitconfigObject); } } } /* * 用于捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数,在此控制地图的图层显示 */ gis.tree.onCheck= function(event, treeId, node) { //alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked); if(parent&&parent.gis&&parent.gis.script&&parent.gis.script.settrendsLayer){ if(node.layername){ parent.gis.script.settrendsLayer(node.layername,node.checked+""); }else{ var nodes=node.children; if(nodes&&nodes.length){ for(var i in nodes){ var inode=nodes[i]; if(inode.layername){ parent.gis.script.settrendsLayer(inode.layername,node.checked+""); } } } } //console.log('>3>node:',parent.gis.script.layersInitconfigObject); parent.gis.script.switchtoLayer(); } } /* * tree加载完成后动态添加图例 */ gis.tree.addtl= function(id){ /* $.each($("#"+id).find('.layercass'), function(i,val){ var ua=$(val); ua.append(''); }); */ var tlcss={}; tlcss.gkMarkLayer={background:'background: url('+contextPath+'/theme/images/gis/GK_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.gqvectorLayer={background:'background: url('+contextPath+'/theme/images/gis/GQ_TL1.png) no-repeat scroll 0 0 transparent;'}; tlcss.zyqvectorLayer={background:'background: url('+contextPath+'/theme/images/gis/GQ_TL1.png) no-repeat scroll 0 0 transparent;'}; tlcss.bwvectorLayer={background:'background: url('+contextPath+'/theme/images/gis/BW_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.mtvectorLayer={background:'background: url('+contextPath+'/theme/images/gis/MT_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.boatonLayers={background:'background: url('+contextPath+'/theme/images/gis/boat_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.markersQskLayer={background:'background: url('+contextPath+'/theme/images/gis/aq_qsk_TL1.png) no-repeat scroll 0 0 transparent;'}; tlcss.markersWxwqyLayer={background:'background: url('+contextPath+'/theme/images/gis/aq_wxhwqy_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.markersYjwzkLayer={background:'background: url('+contextPath+'/theme/images/gis/aq_yywzk_TL.png) no-repeat scroll 0 0 transparent;'}; tlcss.jyrlayers={background:'background: url('+contextPath+'/theme/images/gis/JYR_TL2.png) no-repeat scroll 0 0 transparent;'}; $.each($("#"+id).find('li'), function(i,val){ var ua=$(val); if(ua){ var subli=ua.find('li'); if(!subli||subli.length==0){ var lcass = ua.find('.layercass'); if(lcass&&lcass.length==1){ //alert(lcass.attr('id')); //ua.append(''); if(lcass.attr('id')){ var layerbackground=tlcss[lcass.attr('id')]; if(layerbackground&&layerbackground.background){ ua.append(''); } } } } } }); /* $.each($("#"+id).find('li'), function(i,val){ var ua=$(val); if(ua){ var uaParent=ua.parent(); if(uaParent&&uaParent.attr("id")&&uaParent.attr("id")!='tree'){ var lcass = ua.find('.layercass'); if(lcass&&lcass.length==1){ //alert(lcass.attr('id')); //ua.append(''); if(lcass.attr('id')){ var layerbackground=tlcss[lcass.attr('id')]; if(layerbackground&&layerbackground.background){ ua.append(''); } } } } } }); */ } gis.tree.controlNodeData= function(nodes){ try{ if(nodes&&nodes.length){ if(parent&&parent.layerUserControl&&typeof(parent.layerUserControl)!='undefined'){ //alert(parent.layerUserControl); for(var ik=0;ik港口",layername:"gkMarkLayer"}, { id:12, pId:1, name:"港区",layername:"gqvectorLayer"}, { id:13, pId:1, name:"作业区",layername:"zyqvectorLayer"}, { id:2, pId:0, name:"码头、泊位", checked:false, open:true}, { id:21, pId:2, name:"泊位",layername:"bwvectorLayer"}, { id:22, pId:2, name:"码头",layername:"mtvectorLayer"}, { id:5, pId:0, name:"船舶", checked:false, open:true,controlid:"boatonLayers"}, { id:51, pId:5, name:"船舶",layername:"boatonLayers"}, { id:3, pId:0, name:"经营人", checked:false, open:true}, { id:31, pId:3, name:"经营人",layername:"jyrlayers"}, { id:4, pId:0, name:"安全监管", checked:false, open:true,controlid:"aqjgLayers"}, { id:41, pId:4, name:"危险危货物企业",layername:"markersWxwqyLayer"}, { id:42, pId:4, name:"取水口",layername:"markersQskLayer"}, { id:43, pId:4, name:"应急物资库",layername:"markersYjwzkLayer"}, { id:6, pId:0, name:"锚地", checked:false, open:true}, { id:61, pId:6, name:"锚地",layername:"mdvectorLayer"} ]; gis.tree.controlNodeData(zNodes); $.fn.zTree.init($("#tree"), setting, zNodes); gis.tree.inittreeCheck("tree"); parent.gis.script.tckztreeloadover=true; //gis.tree.addtl("tree"); });