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");
});