var gis = gis || {}; gis.tree = function() { }; gis.tree.autohide0Node=true; gis.tree.gqshowcbinbw=!true; gis.tree.filter = function(treeId, parentNode, childNodes) { //console.log('>2>parentNode:',parentNode); //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":""}] } } */ //debugger; /* if(childNodes){ if(!parentNode){ alert(JSON.stringify(parentNode)); }else{ parentNode.name="xxx"; for(var ii=0;ii22222>gis.script.cbdataInfostatistics:',gis.script.cbdataInfostatistics); //&&(node.treeNodeType=='GK_BASIC_JSJY_JYR'||node.treeNodeType=='GK_BASIC_JSJY_JYR_BW') /* if(parentNode&&parentNode.treeNodeType=="GK_BASIC_JSJY_GK_GQ"){ childNodes=gis.tree.addcbtotree(parentNode,childNodes,parentNode.treeNodeType,("V"+parentNode.code)); } */ return childNodes; } gis.tree.showIconForTree = function(treeId, treeNode) { if(treeNode){ //alert(treeNode.iconSkin); return !gis.script.isBlank(treeNode.iconSkin); } return false; //return !treeNode.isParent; } gis.tree.nodeClick = function(event, treeId, treeNode, clickFlag) { //map.setCenter(new SuperMap.LonLat(121.0701, 32.1734), 1); //alert(map.getScale()) //map.zoomToScale(1/1010000.3776); //$("#othen").html($("#othen").html()+","+map.getScale()); //alert(JSON.stringify(gis.script.gisLayerinfo)); if(gis.script.layerloadover){ if(typeof(treeNode.id)!="undefined"){ var issetCenter=false; if(treeNode.id==0){ map.setCenter(new SuperMap.LonLat(lon, lat), 0); issetCenter=true; } else if(treeNode.treeNodeType&&treeNode.treeNodeType=="HS_AIS"){ //alert(treeNode); //console.log("treeNode",treeNode); if(gis.script.isNum(treeNode.lon)&&gis.script.isNum(treeNode.lat)){ map.setCenter(new SuperMap.LonLat(treeNode.lon, treeNode.lat), 10); } //boatLayer gis.script.drawFillMarker(gis.script.boatonLayer["boatdanger"+obj.danger],obj); boatLayer.removeAllFeatures(); gis.script.drawFillMarker(boatLayer,treeNode); } else{ //alert(treeNode.gisinfo); //map.zoomToScale(0.000001180591620); if(treeNode.treeNodeType&&gis.script.gisLayerinfo[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=gis.script.gisLayerinfo[treeNode.treeNodeType][objdata.id]; if(info&&typeof(info.lon)!="undefined"&&typeof(info.lat)!="undefined"){ map.setCenter(new SuperMap.LonLat(info.lon, info.lat),objdata.zoomto||info.zoom||6); issetCenter=true; }else{ gis.tree.loadgisService(treeNode,objdata); } } } /* if(g){ var gobj=eval("("+g+")"); if(gobj&&gobj.smid){ if(treeNode.treeNodeType&&gis.script.gisLayerinfo[treeNode.treeNodeType]){ var info=gis.script.gisLayerinfo[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 gis.script.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.script.loadServicetreelocation(data); } break; } } } } gis.script.loadServicetreelocation = function(o){ var featureParam = new SuperMap.REST.FilterParameter({ //name: o.name, fields:o.fields, attributeFilter:o.attributeFilter }); var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({ //toIndex:65536, toIndex:-1, queryParameter:featureParam, datasetNames:o.datasetNames }); var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, { eventListeners: { "processCompleted":function(e){ var result=e.result; gis.script.consolelog('result>>',result); var features=result.features; if(features&&features.length){ //alert(features.length); var feature = features[0]; var centerLonLat = feature.geometry.getBounds().getCenterLonLat(); if(locationLayer){ locationLayer.removeAllFeatures(); if(o.treelocationHighlight&&o.treelocationHighlight=="true"){ feature.style = { strokeColor: "#304DBE", strokeWidth: 2, pointerEvents: "visiblePainted", fillColor: "#304DBE", fillOpacity: 0.9 }; //bwvectorLayer.addFeatures(feature); locationLayer.addFeatures(feature); try{ if(o.labelfield&&feature.attributes[o.labelfield]){ labelLayer.removeAllFeatures(); var geoText = new SuperMap.Geometry.GeoText(centerLonLat.lon, centerLonLat.lat,feature.attributes[o.labelfield]); var geotextFeature = new SuperMap.Feature.Vector(geoText); labelLayer.addFeatures([geotextFeature]); } }catch(e){ } } } //118.77022 32.12486 //alert(centerLonLat.lon+"*"+centerLonLat.lat); map.setCenter(new SuperMap.LonLat(centerLonLat.lon, centerLonLat.lat),o.zoom||6); } }, "processFailed": gis.script.sqlProcessFailed } }); featuresBySQLService.processAsync(featuresBySQLParams); } gis.tree.beforeAsync = function(treeId, treeNode){ if(treeNode){ //otherParam.ttt.xx='xxx'; //alert(); } } gis.tree.onAsyncSuccess = function(event, treeId, treeNode, msg){ var treeObj = $.fn.zTree.getZTreeObj(treeId); if(!treeNode){ if(treeObj){ var nodes = treeObj.getNodes(); /* for(var i in nodes){ var node=nodes[i]; alert(node.name); node.name="xxx"; treeObj.updateNode(node); } */ //debugger; gis.tree.updatecb(treeObj,nodes,null); } }else if(treeNode.treeNodeType&&treeNode.treeNodeType=="GK_BASIC_JSJY_GK_GQ"){ //gis.script.loadConfigXmlBWService("bwsjServices",{id:"759DF99526FD4F7F934EF2DEC3C6CFF3",code:'32100104'}); //alert(treeNode.name); //gis.tree.addcbtotree(treeNode,treeNode.treeNodeType,("V"+treeNode.code)); gis.script.loadConfigXmlBWService("bwsjServices",treeNode); } else{ gis.tree.updatecb(treeObj,treeNode.children,treeNode); } } gis.tree.getcbinfo=function(info,key,code){ var s1=0; if(info){ if(!code){ if(gis.script.cbdataInfostatistics[key]){ for(var kk in gis.script.cbdataInfostatistics[key]){ var v=gis.script.cbdataInfostatistics[key][kk]; if(v){ s1=s1+v.length; } } } }else{ if(info[key]){ var v=info[key][code]; if(v){ s1=v.length } } } } return s1; } gis.tree.updatecb = function(treeObj,nodes,pnode){ if(nodes&&nodes.length){ //debugger; //alert(nodes.length); for(var i in nodes){ var node=nodes[i]; //treeObj.showNode(node); if(node.treeNodeType&&node.treeNodeType=="HS_AIS"){ continue; } if(node.open){ gis.tree.updatecb(treeObj,node.children); } //进出港船舶总数:系泊总数:靠泊危化品船 var newName=[]; var s1=0,s2=0,s3=0; if(!node.treeNodeType){ s1=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,"GK_BASIC_JSJY_GK_GK",null); s2=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,"GK_BASIC_JSJY_GK_GK_STATUS",null); s3=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,"GK_BASIC_JSJY_GK_GK_DANGER",null); newName.push("进出港船:"); newName.push(s1); newName.push(",系泊:"); newName.push(s2); newName.push(",靠泊危化品船:"); newName.push(s3); }else{ //GK_BASIC_JSJY_GK_GK_320001 var vkey="V"+node.code; //console.log('>3>vkey:',vkey); s1=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,node.treeNodeType,vkey); s2=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,(node.treeNodeType+"_STATUS"),vkey); s3=gis.tree.getcbinfo(gis.script.cbdataInfostatistics,(node.treeNodeType+"_DANGER"),vkey); if(!node.oldname){ node.oldname=node.name; } var nodename=node.oldname; if(gis.script.isBlank(nodename)){ nodename=""; } newName.push(nodename); newName.push("("); newName.push(s1); newName.push(","); newName.push(s2); newName.push(","); newName.push(s3); newName.push(")"); } if(gis.tree.autohide0Node&&node.treeNodeType&&node.treeNodeType=='GK_BASIC_JSJY_GK_GQ'){ if(s1<=0){ node.isParent=false; } } if(node.treeNodeType&&node.treeNodeType=='GK_BASIC_JSJY_JYR_BW'){ //console.log("JYR_BW:",node); if(s1>0){ node.isParent=true; //node.children=gis.tree.addcbtotree(node,[],node.treeNodeType,("V"+node.code)); //alert(node.code) //node.children.push({"iconSkin":"","id":"01","isParent":false,"name":"行政单位","open":false,"pId":"","type":""}) //treeObj.addNodes(node, {id:(100), pId:pnode.id, name:"new node"}); gis.tree.addcbtotreeApi(treeObj,node,node.treeNodeType,("V"+node.code)); } } node.name=newName.join(""); if(gis.tree.autohide0Node){ if(node.treeNodeType&&(node.treeNodeType=='GK_BASIC_JSJY_JYR'||node.treeNodeType=='GK_BASIC_JSJY_JYR_BW')){ //alert(1); if(s1<=0){ treeObj.hideNode(node); continue; }else{ treeObj.showNode(node); } } } treeObj.updateNode(node); } } } gis.tree.addcbtotreeApi = function(treeObj,node,key,vkey){ if(gis.script.cbdataInfostatistics[key]){ var v=gis.script.cbdataInfostatistics[key][vkey]; if(v){ //var newnode={"iconSkin":"","id":"01","isParent":false,"name":"行政单位","open":false,"pId":"","type":""} //var newnode={isParent:false,open:false,treeNodeType:"HS_AIS",pId:"",type:""}; //console.log("vvv:",v); for(var ij=0;ij