var gis = gis || {}; gis.tree = function() { }; /* * 用于对 Ajax 返回数据进行预处理的函数。[setting.async.enable = true 时生效] */ gis.tree.filter = function(treeId, parentNode, childNodes) { //childNodes ={"children":[{"children":[{"children":[],"iconSkin":"","id":"402881e750ef634b0150ef64cce10001","isParent":false,"name":"2","open":false,"pId":"","type":""},{"children":[],"iconSkin":"","id":"402881e750ec68340150ec68af3c0000","isParent":true,"name":"11111","open":false,"pId":"","type":""},{"children":[],"iconSkin":"","id":"402881e750eed3aa0150eed4fe510001","isParent":true,"name":"市局下","open":false,"pId":"","type":""},{"children":[],"iconSkin":"","id":"402881e750ebc9ca0150ebede1a60006","isParent":true,"name":"港口局","open":false,"pId":"","type":""},{"children":[],"iconSkin":"","id":"402881e750ef34c80150ef35d9990001","isParent":true,"name":"222","open":false,"pId":"","type":""}],"iconSkin":"","id":"402881e750dab7fa0150dabe66630002","isParent":false,"name":"市局","open":false,"pId":"","type":""},{"children":[{"children":[],"iconSkin":"","id":"402881e750ef78f80150ef7de1940001","isParent":false,"name":"2","open":false,"pId":"","type":""}],"iconSkin":"","id":"402881e750ef78f80150ef7bf30c0000","isParent":false,"name":"2","open":false,"pId":"","type":""}],"iconSkin":"","id":"01","isParent":false,"name":"行政单位信息","open":true,"pId":"","type":""}; //alert(JSON.stringify(childNodes)); //alert(childNodes); //childNodes={"iconSkin":"","id":"01","isParent":true,"name":"行政单位信息","open":true,"pId":"","type":"","children":[{"iconSkin":"","id":"01","isParent":true,"name":"行政单位","open":false,"pId":"","type":""}]} //childNodes=[{"iconSkin":"","id":"01","isParent":true,"name":"行政单位","open":false,"pId":"","type":""}]; /* if(parentNode&&parentNode.treeNodeType){ if(parentNode.treeNodeType='GK_BASIC_JSJY_GK_GK'){ childNodes=[{"iconSkin":"","id":"01","isParent":true,"name":"行政单位","open":false,"pId":"","type":""}] } } */ if(parentNode==null){ if(childNodes.length==1){ //alert(childNodes[0].children); return childNodes[0].children } } return childNodes; } /* * 设置 zTree 是否显示节点的图标 */ gis.tree.showIconForTree = function(treeId, treeNode) { return false; //return !treeNode.isParent; } /* * 树节点点击事件 */ gis.tree.nodeClick = function(event, treeId, treeNode, clickFlag) { //alert(parent.gis.script.setMapCenter);return; if(parent&&parent.gis&&parent.gis.script){ parent.gis.script.removeAllPopup(); } var parentgisLayerinfo=gis.tree.parentgisLayerinfo(); var layerloadover=gis.tree.parentgisLayerinfo(); if(parentgisLayerinfo&&layerloadover){ if(typeof(treeNode.id)!="undefined"){ var issetCenter=false; if(treeNode.id==0){ //map.setCenter(new SuperMap.LonLat(lon, lat), 0); var info={}; info.lon=119.66; info.lat=32.57; info.zoomSize=0; gis.tree.parentsetMapCenter(info); issetCenter=true; }else{ //alert(treeNode.gisinfo); //map.zoomToScale(0.000001180591620); if(treeNode.treeNodeType&&parentgisLayerinfo[treeNode.treeNodeType]){ var objdata={} if(!gis.script.isBlank(treeNode.gisinfo)){ var gobj=eval("("+treeNode.gisinfo+")"); //objdata.id=gobj.smid; objdata.zoomto=gobj.zoomto; } if(!gis.script.isBlank(treeNode.code)){ objdata.id=treeNode.code; } //alert(objdata.id) if(objdata.id){ var info=parentgisLayerinfo[treeNode.treeNodeType][objdata.id]; if(info&&typeof(info.lon)!="undefined"&&typeof(info.lat)!="undefined"){ info.zoomSize=objdata.zoomto||info.zoom||6; gis.tree.parentsetMapCenter(info); issetCenter=true; }else{ gis.tree.loadgisService(treeNode,objdata); } } } /* if(g){ var gobj=eval("("+g+")"); if(gobj&&gobj.smid){ if(treeNode.treeNodeType&&parentgisLayerinfo[treeNode.treeNodeType]){ var info=parentgisLayerinfo[treeNode.treeNodeType][gobj.smid]; if(info&&typeof(info.lon)!="undefined"&&typeof(info.lat)!="undefined"){ map.setCenter(new SuperMap.LonLat(info.lon, info.lat),gobj.zoomto||5); } } } } */ } if(!issetCenter){ //alert("缺少关联数据,定位失败..."); } } } return layerloadover; } /* gis.tree.loadgisService = function(treeNode,objdata){ //alert(treeNode.treeNodeType+"--"+objdata.id); var dataServices=gisConfigBean.dataconfig; if(dataServices){ gis.script.consolelog('dataServices',dataServices); for(var n in dataServices){ var data=gisConfigBean.dataconfig[n]; if(data.gisLayerinfoKey&&treeNode.treeNodeType&&treeNode.treeNodeType==data.gisLayerinfoKey){ //alert(treeNode.treeNodeType+"--"+objdata.id); var originaldata = gisConfigBean.dataconfig[n]; var data=jQuery.extend(true, {}, originaldata); if(data.Model&&data.Model[gis.script.modelid]){ var model=data.Model[gis.script.modelid]; data.datasetNames=data.datasetNames.split(","); data.fields=data.fields.split(","); data.cachedata=model.cachedata||data.cachedata; data.zoom=model.zoom||data.zoom; data.attributeFilter=data.gisLayerinfoAttrKey+"="+objdata.id; data.treelocationHighlight=model.treelocationHighlight||"false"; data.url=data.url||defdataUrl; //alert(data.attributeFilter); gis.tree.loadServicetreelocation(data); } break; } } } } */ $(document).ready(function() { /* var treediv=$("#treediv"); var tree=$("#tree"); if($.support&&$.support.leadingWhitespace){ tree.css("width",treediv.width()-10); tree.css("height",treediv.height()-10); } */ //$("#othen").css("display","none"); //tree.css("height",treediv.height()-$("#othen").height()); //tree.css("height",treediv.height()); var setting = { view: { selectedMulti: false, showIcon: gis.tree.showIconForTree, dblClickExpand: false }, key: { title:"title" }, async: { enable: true, type: "post", dataType:"json", contentType: "application/json", url: contextPath+"/zygl/treejson.html", autoParam: ["id", "name","treeNodeType"], otherParam: {async:'treejson',rootName:"港口",isHidden:0}, dataFilter: gis.tree.filter }, callback: { onDblClick: gis.tree.nodeClick, onClick: function(event, treeId, treeNode) { //alert(this);return; var treeObj = $.fn.zTree.getZTreeObj(treeId); treeObj.expandNode(treeNode,true,false,false,false); } } }; $.fn.zTree.init($("#tree"), setting); });