From 2421e7a75751f1f8e0fc58811a7abcfd8420c13d Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期一, 29 十月 2018 10:48:49 +0800 Subject: [PATCH] 修复bug --- gx_tieta/WebRoot/pages/js/pages/siderbar.js | 393 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 372 insertions(+), 21 deletions(-) diff --git a/gx_tieta/WebRoot/pages/js/pages/siderbar.js b/gx_tieta/WebRoot/pages/js/pages/siderbar.js index 5c809fb..3b56f4d 100644 --- a/gx_tieta/WebRoot/pages/js/pages/siderbar.js +++ b/gx_tieta/WebRoot/pages/js/pages/siderbar.js @@ -65,7 +65,7 @@ // 璁剧疆瀹瑰櫒鐨勫搴� _prop.setContainer = function() { var eleWidth = this.ele.width(); - this.container.width(eleWidth+20); + //this.container.width(eleWidth+20); }; // 鐢熸垚鍒楄〃 @@ -88,15 +88,15 @@ var _data = $.extend({}, defaults, data[i]); // 璁剧疆鍐呭瀹瑰櫒 var _li = $('<li></li>'); - var _a = $('<a href="javascript:;" class="sider-menu-folder"></a>'); - _a.addClass(_data.cla); + var _a = $('<a href="javascript:;" id="'+_data.id+'" class="sider-menu-folder"></a>'); var _i = $('<i class="fa fa fa-caret-right"></i>'); - var _span = $('<span>'+_data.txt+'</span>'); + var _span = $('<span class="treeview-txt">'+_data.txt+'</span>'); if(_data.file) { - _a = $('<a href="javascript:;" class="sider-menu-file"></a>'); + _a = $('<a href="javascript:;" id="'+_data.id+'" class="sider-menu-file"></a>'); _i = $('<i class="fa"></i>'); } - + _a.addClass(_data.cla); + _a.append(_i); _a.append(_span); _li.append(_a); @@ -111,19 +111,21 @@ }; // 鑾峰彇folder鐨勪竴鏉℃暟鎹� - _prop.getFolder = function (txt, cla, attr) { + _prop.getFolder = function (txt, cla, id,attr) { var tmp = {}; tmp.txt = txt; tmp.cla = cla; + tmp.id = id; tmp.attr = attr; return tmp; }; // 鑾峰彇file鐨勪竴鏉℃暟鎹� - _prop.getFile =function(txt, cla, attr) { + _prop.getFile =function(txt, cla, id, attr) { var tmp = {}; tmp.txt = txt; tmp.cla = cla; + tmp.id = id; tmp.file = true; tmp.attr = attr; return tmp; @@ -159,7 +161,52 @@ _prop.delProgress = function(container) { container.find('.treeView-progressBar-container').remove(); }; - + + // 灞曞紑鎸囧畾鐨� + _prop.spreadFolder = function(cla, txt, callback) { + var rsCla = '.sider-menu-folder'+'.'+cla; + var aFolders = this.ele.find(rsCla); + // 娌℃湁鑾峰彇鍒板唴瀹瑰氨杩斿洖false + if(aFolders.length == 0) { + return false; + } + var tgt = aFolders.eq(0); + aFolders.each(function() { + var _txt = $(this).find('.treeview-txt').text(); + if(txt == _txt) { + tgt = $(this); + } + }); + tgt.parent().addClass('sider-menu-open'); + // 璁剧疆鍥炶皟鍑芥暟骞朵笖璁剧疆榛樿鐨勫�� + if(callback) { + callback(this, tgt.parent(), tgt.data('attr')); + } + + }; + + _prop.activeFile = function(container, cla, id, callback) { + var rsCla = '.sider-menu-file'+'.'+cla; + 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(); + }; + // 娣诲姞鍒癵l.pages.TreeView鐨勫懡鍚嶇┖闂翠笅 gl.pages.TreeView = TreeView; })(jQuery, window, document, GLOBAL); @@ -167,6 +214,14 @@ // 瀹氫箟椤甸潰涓殑siderbar缁勪欢 ;(function($, window, document, gl, undefined) { gl.namespace('pages.siderbar'); + + // 鑾峰彇褰撳墠閫変腑鍐呭锛堢渷-甯�-鏈烘埧-鐢垫睜缁勶級 + var province = getQueryString('province'); // 鐪� + var city = getQueryString('city'); // 甯� + var home = getQueryString('home'); // 鏈烘埧 + + //console.log(province); + // 鐢熸垚涓�绾у鑸�-鐪� function first(treeView, container) { //treeView.addProgress(container); @@ -183,10 +238,11 @@ var formatData = []; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName1, 'province', __data); + var tmp = treeView.getFolder(__data.StationName1, 'province', __data.StationName1,__data); formatData.push(tmp); } treeView.treeView(container, formatData); + treeView.spreadFolder('province', province, firstSpread); }else { } @@ -197,8 +253,14 @@ // 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅 gl.pages.siderbar.first = first; + // 灞曞紑涓�绾у鑸� + function firstSpread(treeView, container, data) { + second(treeView, container, data, true); + } + + // 鐢熸垚浜岀骇瀵艰埅-甯� - function second(treeView, container, data) { + function second(treeView, container, data, spread) { // 宸茬粡瀛樺湪 if(container.find('ul').length !=0) { return; @@ -212,15 +274,20 @@ 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); + var tmp = treeView.getFolder(__data.StationName2, 'city', __data.StationName2, __data); formatData.push(tmp); } treeView.treeView(container, formatData); + + if(spread) { + treeView.spreadFolder('city', city, secondSpread, true); + } }else { } @@ -231,8 +298,14 @@ // 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅 gl.pages.siderbar.second = second; + // 灞曞紑浜岀骇瀵艰埅 + function secondSpread(treeView, container, data) { + third(treeView, container, data, true); + } + + // 鐢熸垚 涓夌骇瀵艰埅-鏈烘埧 - function third(treeView, container, data) { + function third(treeView, container, data, spread) { // 宸茬粡瀛樺湪 if(container.find('ul').length !=0) { return; @@ -246,12 +319,63 @@ 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.StationName3, 'home', __data); + var tmp = treeView.getFolder(__data.StationName, 'home', __data.StationName,__data); + formatData.push(tmp); + } + treeView.treeView(container, formatData); + if(spread) { + treeView.spreadFolder('home', home, thirdSpread, true); + } + }else { + + } + } + }); + } + + // 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅 + gl.pages.siderbar.third = third; + + // 灞曞紑涓夌骇瀵艰埅 + function thirdSpread(treeView, container, data) { + var tmp = { + StationName1: data.StationName1, + StationName2: data.StationName2, + StationName: data.StationName, + StationId: data.StationId + }; + fourth(treeView, container, tmp, true); + } + + + // 鐢熸垚 涓夌骇瀵艰埅-鏈烘埧 + function thirdFile(treeView, container, data) { + // 宸茬粡瀛樺湪 + if(container.find('ul').length !=0) { + 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.getFile(__data.StationName, 'home', '',__data); formatData.push(tmp); } treeView.treeView(container, formatData); @@ -263,10 +387,10 @@ } // 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅 - gl.pages.siderbar.third = third; + gl.pages.siderbar.thirdFile = thirdFile; // 鐢熸垚 涓夌骇瀵艰埅-鐢垫睜缁� - function fourth(treeView, container, data) { + function fourth(treeView, container, data, active) { // 宸茬粡瀛樺湪 if(container.find('ul').length !=0) { return; @@ -280,18 +404,24 @@ data:"json = "+JSON.stringify(data), success: function(data){ var rs = JSON.parse(data.result); - console.info(rs); + treeView.delProgress(container); if(rs.code == 1) { var _data= rs.data; + //console.log(_data); var formatData = []; - console.log(_data); - return; for(var i=0; i<_data.length;i++) { var __data = _data[i]; - var tmp = treeView.getFolder(__data.StationName3, 'eleGroup', __data); + var tmp = treeView.getFile(__data.BattGroupName, 'eleGroup', __data.BattGroupId, __data); formatData.push(tmp); } treeView.treeView(container, formatData); + //console.info(formatData); + if(active) { + treeView.activeFile(container,'eleGroup', ''); + var battId = formatData[0].id; + location.hash="#"+battId; + location.hash = ""; + } }else { } @@ -301,4 +431,225 @@ // 灏嗗嚱鏁扮粦瀹氬埌GLOBAL.pages.siderbar鐨勫懡鍚嶇┖闂翠笅 gl.pages.siderbar.fourth = fourth; -})(jQuery, window, document, GLOBAL); \ No newline at end of file + +})(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.StationName1,__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.StationName2, __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.StationName, __data); + formatData.push(tmp); + } + treeView.treeView(container, formatData); + if(spread) { + location.hash="#"+homeInfo.StationName; + location.hash=""; + 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); + +//鐢熸垚鍏呮斁鐢电洃娴嬫ā鍧楀唴瀹� +function createBattListen(ele, list) { + ele.text(""); + var discharge_num = 0; + var charge_num = 0; + var ul = $('<ul></ul>'); + for(var i = 0; i < list.length; i++) { + var li = ""; + if(list[i].isCharge) { + li = $('<li><a href="javascript:;" class="batt-charge" value="'+list[i].val+'" note="'+list[i].note+'">'+list[i].val+'鐢垫睜缁勫厖鐢垫祴璇�!</a></li>'); + charge_num++; + }else { + li = $('<li><a href="javascript:;" class="batt-discharge" value="'+list[i].val+'" note="'+list[i].note+'">'+list[i].val+'鐢垫睜缁勬斁鐢垫祴璇�!</a></li>'); + discharge_num++; + } + + li.data('attr', list[i]); + ul.append(li); + } + $('#ele_content .batt-listen .count-num').find('span').eq(0).text(discharge_num); + $('#ele_content .batt-listen .count-num').find('span').eq(1).text(charge_num); + ele.append(ul); +} \ No newline at end of file -- Gitblit v1.9.1