| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546 | 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;ii<childNodes.length;ii++){				childNodes[ii].name="xxx"			}		}			}*/	//console.log('>22222>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<v.length;ij++){				var vo=v[ij];				if(vo.arrt&&(!vo.arrt.cbshowinjyr||key!="GK_BASIC_JSJY_GK_GQ"||gis.tree.gqshowcbinbw)){					//alert(vo.arrt.cbshowinjyr);					var newnode=jQuery.extend(true, {isParent:false,open:false,treeNodeType:"HS_AIS",pId:"",type:""}, vo.arrt);					newnode.id="mmsi"+(ij+(vo.arrt.mmsi));					if(gis.script.isBlank(newnode.name)){						newnode.name="";						if(!gis.script.isBlank(vo.arrt.mmsi)){							newnode.name="("+vo.arrt.mmsi+")";						}					}					//console.log("newnode:",newnode);					newnode.iconSkin="";					if(newnode.danger&&newnode.danger==1							&&newnode.status&&newnode.status==5){						newnode.iconSkin="icon001"					}else if(newnode.status&&newnode.status==5){								newnode.iconSkin="icon002";					}else if(newnode.danger&&newnode.danger==1){								newnode.iconSkin="icon003";					}					//console.log("vvv:",newnode);										treeObj.addNodes(node, newnode);				}			}							}	}}gis.tree.addcbtotree = function(node,carray,key,vkey){	var children=carray||[];	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<v.length;ij++){				var vo=v[ij];								if(vo.arrt){										var newnode=jQuery.extend(true, {isParent:false,open:false,treeNodeType:"HS_AIS",pId:"",type:""}, vo.arrt);					if(gis.script.isBlank(newnode.name)){						newnode.name="";					}					//console.log("newnode:",newnode);					newnode.iconSkin="";					if(newnode.danger&&newnode.danger==1							&&newnode.status&&newnode.status==5){						newnode.iconSkin="icon001"					}else if(newnode.status&&newnode.status==5){								newnode.iconSkin="icon002";					}else if(newnode.danger&&newnode.danger==1){								newnode.iconSkin="icon003";					}					/*					if(newnode.status&&newnode.status==5){								newnode.iconSkin="icon03";					}					if(newnode.danger&&newnode.danger==1){												newnode.iconSkin="icon01";					}					*/					children.push(newnode);				}			}		}	}	return children;}gis.tree.updatenodecb = function(treeObj,nodes){	}gis.tree.initcbtree = function(){		var setting = {			view: {				selectedMulti: false,				showIcon: gis.tree.showIconForTree			},			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:(gis.tree.autohide0Node?1:0) },				dataFilter: gis.tree.filter			},			callback: {				onDblClick: gis.tree.nodeClick,				beforeAsync: gis.tree.beforeAsync,				onAsyncSuccess: gis.tree.onAsyncSuccess			}		};		$.fn.zTree.init($("#tree"), setting);	}$(document).ready(function() {	var treediv=$("#treediv");	var tree=$("#tree");	//alert($.support.leadingWhitespace)	if($.support&&$.support.leadingWhitespace){		tree.css("width",treediv.width()-10);		tree.css("height",treediv.height()-12);	}	//$("#othen").css("display","none");	//tree.css("height",treediv.height()-$("#othen").height());	//tree.css("height",treediv.height());	//gis.tree.initcbtree();});
 |