From 757b5f5e674abd212586a0af94577dec4cc46c2d Mon Sep 17 00:00:00 2001
From: hdw <496960745@qq.com>
Date: 星期四, 25 十月 2018 11:57:16 +0800
Subject: [PATCH] 导航定位

---
 gx_tieta/WebRoot/pages/js/pages/siderbar.js |  214 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 210 insertions(+), 4 deletions(-)

diff --git a/gx_tieta/WebRoot/pages/js/pages/siderbar.js b/gx_tieta/WebRoot/pages/js/pages/siderbar.js
index 6cab98b..6d51ccf 100644
--- a/gx_tieta/WebRoot/pages/js/pages/siderbar.js
+++ b/gx_tieta/WebRoot/pages/js/pages/siderbar.js
@@ -88,7 +88,7 @@
 			var _data = $.extend({}, defaults, data[i]);
 			// 璁剧疆鍐呭瀹瑰櫒
 			var _li = $('<li></li>');
-			var _a = $('<a href="javascript:;" class="sider-menu-folder"></a>');
+			var _a = $('<a href="javascript:;" id="'+_data.txt+'" class="sider-menu-folder"></a>');
 			var _i = $('<i class="fa fa fa-caret-right"></i>');
 			var _span = $('<span class="treeview-txt">'+_data.txt+'</span>');
 			if(_data.file) {
@@ -184,14 +184,25 @@
 		
 	};
 	
-	_prop.activeFile = function(cla, txt, callback) {
+	_prop.activeFile = function(container, cla, id, callback) {
 		var rsCla = '.sider-menu-file'+'.'+cla;
-		var aFiles = this.ele.find(rsCla);
+		var aFiles = container.find(rsCla);
+		console.log(aFiles.length);
 		// 娌℃湁鑾峰彇鍒板唴瀹瑰氨杩斿洖false
 		if(aFiles.length == 0) {
 			return false;
 		}
 		var tgt = aFiles.eq(0);
+		
+		// 閬嶅巻鍒楄〃
+		aFiles.each(function() {
+			var _id = $(this).attr('id');
+			// id鍖归厤
+			if(_id == id) {
+				tgt = $(this);
+			}
+		});
+		
 		tgt.click();
 	}; 
 	
@@ -405,7 +416,7 @@
 	        		treeView.treeView(container, formatData);
 	        		//console.info(formatData);
 	        		if(active) {
-	        			treeView.activeFile('eleGroup', '');
+	        			treeView.activeFile(container,'eleGroup', '');
 	        			var battId = formatData[0].id;
 	        			location.hash="#"+battId;
 	        			location.hash = "";
@@ -419,4 +430,199 @@
 	
 	// 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅
 	gl.pages.siderbar.fourth = fourth;
+	
+})(jQuery, window, document, GLOBAL);
+
+
+// 璁剧疆鏍规嵁鐪佸競鏈烘埧鍜岀數姹犺繘琛屽畾浣�
+;(function($, window, document, gl, undefined) {
+	gl.namespace('pages.siderbar');
+	
+	var homeInfo = {
+		StationName1: '',
+		StationName2: '',
+		StationName: '',
+		StationId: ''
+	};
+	
+	var battId=undefined;
+	
+	// 瀹氫綅鏈烘埧
+	function localSideBar(treeView, container, data) {
+		// 鍏抽棴鎵�鏈夌殑
+		treeView.ele.find('li').removeClass('sider-menu-open');
+		
+		
+		first(treeView, container);
+		homeInfo.StationName1 = data.province;
+		homeInfo.StationName2 = data.city;
+		homeInfo.StationName = data.home;
+		homeInfo.StationId = data.homeid;
+		battId = data.battid;
+	}
+	
+	// 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅
+	gl.pages.siderbar.localSideBar = localSideBar;
+	
+	// 鐢熸垚涓�绾у鑸�-鐪�
+	function first(treeView, container) {
+		//treeView.addProgress(container);
+		$.ajax({ 	
+	        type: "post", 				
+	        url: "BattInfAction!serchAllStation",				
+	        async:true,				
+	        dataType:'json',
+	        data:null,	
+	        success: function(data){
+	        	var rs = JSON.parse(data.result);
+	        	if(rs.code == 1) {
+	        		var _data= rs.data;
+	        		var formatData = [];
+	        		for(var i=0; i<_data.length;i++) {
+	        			var __data = _data[i];
+	        			var tmp = treeView.getFolder(__data.StationName1, 'province', __data);
+	        			formatData.push(tmp);
+	        		}
+	        		treeView.treeView(container, formatData);
+	        		treeView.spreadFolder('province', homeInfo.StationName1, firstSpread);
+	        	}else {
+	        		
+	        	}
+	        }
+		});
+	}
+	
+	// 灞曞紑涓�绾у鑸�
+	function firstSpread(treeView, container) {
+		second(treeView, container, homeInfo, true);
+	}
+	
+	
+	// 鐢熸垚浜岀骇瀵艰埅-甯�
+	function second(treeView, container, data, spread) {
+		// 宸茬粡瀛樺湪
+		if(container.find('ul').length !=0) {
+			treeView.spreadFolder('city', homeInfo.StationName2, secondSpread, true);
+			return;
+		}
+		treeView.addProgress(container);
+		$.ajax({ 	
+	        type: "post", 				
+	        url: "BattInfAction!serchStationName2",				
+	        async:true,				
+	        dataType:'json',
+	        data:"json = "+JSON.stringify(data),	
+	        success: function(data){
+	        	var rs = JSON.parse(data.result);
+	        	treeView.delProgress(container);
+	        	if(rs.code == 1) {
+	        		var _data= rs.data;
+	        		var formatData = [];
+	        		for(var i=0; i<_data.length;i++) {
+	        			var __data = _data[i];
+	        			var tmp = treeView.getFolder(__data.StationName2, 'city', __data);
+	        			formatData.push(tmp);
+	        		}
+	        		treeView.treeView(container, formatData);
+	        		
+	        		if(spread) {
+	        			treeView.spreadFolder('city', homeInfo.StationName2, secondSpread);
+	        		}
+	        	}
+	        }
+		});
+	}
+	
+	// 灞曞紑浜岀骇瀵艰埅
+	function secondSpread(treeView, container) {
+		third(treeView, container, homeInfo, true);
+	}
+	
+	
+	// 鐢熸垚 涓夌骇瀵艰埅-鏈烘埧
+	function third(treeView, container, data, spread) {
+		// 宸茬粡瀛樺湪
+		if(container.find('ul').length !=0) {
+			location.hash="#"+homeInfo.StationName;
+    		location.hash="";
+    		treeView.spreadFolder('home', homeInfo.StationName, thirdSpread, true);
+			return;
+		}
+		treeView.addProgress(container);
+		$.ajax({ 	
+	        type: "post", 				
+	        url: "BattInfAction!serchStationName3",				
+	        async:true,				
+	        dataType:'json',
+	        data:"json = "+JSON.stringify(data),	
+	        success: function(data){
+	        	var rs = JSON.parse(data.result);
+	        	treeView.delProgress(container);
+	        	if(rs.code == 1) {
+	        		var _data= rs.data;
+	        		var formatData = [];
+	        		for(var i=0; i<_data.length;i++) {
+	        			var __data = _data[i];
+	        			var tmp = treeView.getFolder(__data.StationName, 'home', __data);
+	        			formatData.push(tmp);
+	        		}
+	        		treeView.treeView(container, formatData);
+	        		if(spread) {
+	        			treeView.spreadFolder('home', homeInfo.StationName, thirdSpread, true);
+	        		}
+	        	}
+	        }
+		});
+	}
+	
+	// 灞曞紑涓夌骇瀵艰埅
+	function thirdSpread(treeView, container, data) {
+		fourth(treeView, container, homeInfo, true);
+	}
+	
+	// 鐢熸垚 涓夌骇瀵艰埅-鐢垫睜缁�
+	function fourth(treeView, container, data, active) {
+		// 宸茬粡瀛樺湪
+		if(container.find('ul').length !=0) {
+			container.addClass('sider-menu-open');
+			if(battId) {
+				treeView.activeFile(container,'eleGroup', battId);
+			}else {
+				treeView.activeFile(container,'eleGroup', '');
+			}
+			return;
+		}
+		treeView.addProgress(container);
+		$.ajax({ 	
+	        type: "post", 				
+	        url: "BattInfAction!serchBattByStation",				
+	        async:true,				
+	        dataType:'json',
+	        data:"json = "+JSON.stringify(data),	
+	        success: function(data){
+	        	var rs = JSON.parse(data.result);
+	        	treeView.delProgress(container);
+	        	if(rs.code == 1) {
+	        		var _data= rs.data;
+	        		//console.log(_data);
+	        		var formatData = [];
+	        		for(var i=0; i<_data.length;i++) {
+	        			var __data = _data[i];
+	        			var tmp = treeView.getFile(__data.BattGroupName, 'eleGroup', __data.BattGroupId, __data);
+	        			formatData.push(tmp);
+	        		}
+	        		treeView.treeView(container, formatData);
+	        		if(active) {
+	        			if(battId) {
+	        				treeView.activeFile(container,'eleGroup', battId);
+	        				location.hash="#"+battId;
+	    	        		location.hash="";
+	        			}else {
+	        				treeView.activeFile(container,'eleGroup', '');
+	        			}
+	        		}
+	        	}
+	        }
+		});
+	}
 })(jQuery, window, document, GLOBAL);
\ No newline at end of file

--
Gitblit v1.9.1