From c09814ee3fa3dbd47d221d229fcdfc796314f7e8 Mon Sep 17 00:00:00 2001 From: LiJun <LiJun@192.168.10.10> Date: 星期一, 22 十月 2018 14:32:22 +0800 Subject: [PATCH] 机房停电数显示基站状态中处于停电状态的机房数目,并且点击之后进入到所有基站状态查询页面 --- gx_tieta/WebRoot/index.jsp | 279 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 234 insertions(+), 45 deletions(-) diff --git a/gx_tieta/WebRoot/index.jsp b/gx_tieta/WebRoot/index.jsp index 99c41b4..2ed62dc 100644 --- a/gx_tieta/WebRoot/index.jsp +++ b/gx_tieta/WebRoot/index.jsp @@ -75,6 +75,12 @@ .ui-resizable-s, .ui-resizable-se { display: none !important; } + + .ui-autocomplete { + height: 200px; + overflow-y: auto; + overflow-x: hidden; + } </style> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> @@ -597,7 +603,6 @@ flushFourPie(); //鏇存柊鍥涚楗肩姸鍥� }); - // 璁剧疆鍙抽敭鑿滃崟 var menu = new BMap.ContextMenu(); var txtMenuItem = [ @@ -632,17 +637,7 @@ enparams:[e] }); } - }, - /* { - text: '鏈烘埧瀹氫綅', - callback: function(e) { - panel.setPanelLayout(); - panel.showPanel(); - $('#map .panel-mask').bind('click', function() { - panel.hidePanel(); - }); - } - } */ + } ]; //console.info(getPermit('taskchange_edit_permit', permits)+"*******"); if(getPermit('batt_map_edit_permit', permits)) { @@ -1344,15 +1339,6 @@ }); }); - // 鐐瑰嚮鍦板浘鐨勬悳绱㈡寜閽畾浣嶅湴鍧� - $(function() { - $('#map').on('click', '.search .search-btn', function() { - var posTxt = $('#map .search .pos-txt').val(); - addrAnalyze(posTxt); - }); - }); - - $(window).resize(function() { getMapHt(); }); @@ -1594,13 +1580,14 @@ function createMapDot(map, dotList) { // 娓呯┖瑕嗙洊鐗╁拰瀵瑰簲鐨刴k鐐� mkList = []; + // 閬嶅巻鏌ヨ鍐呭鐢熸垚瀵瑰簲鐨勫浘鏍� for(var i = 0; i < dotList.length; i++) { - var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[0].msg), new BMap.Size(36, 30)); // 璁剧疆鍥剧墖 + var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[i].msg), new BMap.Size(36, 30)); // 璁剧疆鍥剧墖 var pt = new BMap.Point(dotList[i].lng, dotList[i].lat); var mk = new BMap.Marker(pt, {icon: dotIcon}); // 瀹氫箟marker鐐� - addMenu(mk, mapDel); + // addMenu(mk, mapDel); deletePoint(map, dotList[i].title); // 鍚憁k鐐规坊鍔爈abel var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)}); @@ -1615,17 +1602,15 @@ this.getLabel().setStyle({display: 'none'}); }); - mk.addEventListener('click', function(e) { + /* mk.addEventListener('click', function(e) { var target = e.target; showMapPanel(target, dotList); - }); + }); */ mkList.push(mk); // 鍚戝湴鍥炬坊鍔犺鐩栫墿 map.addOverlay(mk); } } - - // // 鍒犻櫎鍦板浘涓婄殑鎸囧畾鐐� function deletePoint(map, msg){ @@ -1747,6 +1732,7 @@ function showMapPanel(target, warnList) { var point = target.point; + console.log(target.getLabel()); var searchInforWin = null; for(var i = 0; i < warnList.length; i++) { if(warnList[i].lng == point.lng && warnList[i].lat == point.lat) { @@ -1966,12 +1952,130 @@ } } - searchStation(); - var allStation; + // 璁剧疆椤甸潰涓殑鍙鍖哄煙鍥炬爣 + ;(function($, window, document, gl, undefined) { + // 璁剧疆鍛藉悕绌洪棿 + gl.namespace('BMap'); + // 鏍规嵁鍙鑼冨洿鏄剧ず鍧愭爣鐐� + var dots = []; + var currMarkers = {}; + // 鏌ヨ褰撳墠鑼冨洿鍐呭鐨勫浘鏍� + function queryInRect(map, callback) { + var cp = map.getBounds(); // 杩斿洖map鍙鍖哄煙锛屼互鍦扮悊鍧愭爣琛ㄧず + var sw = cp.getSouthWest(); // 杩斿洖鐭╁舰鍖哄煙鐨勮タ鍗楄 + var ne = cp.getNorthEast(); // 杩斿洖鐭╁舰鍖哄煙鐨勪笢鍖楄 + //var zoom = map.getZoom(); //褰撳墠缂╂斁绾у埆 + //console.log(dots); + var mapDots = getDotsList(sw, ne); + callback(map, mapDots); + } + + // 鑾峰彇dots鐨勯泦鍚� + function getDotsList(sw, ne) { + var rs = []; + swlng=sw.lng, + swlat=sw.lat, + nelng=ne.lng, + nelat=ne.lat; + + var maxLng = sw.lng>ne.lng?sw.lng:ne.lng; + var minLng = sw.lng<ne.lng?sw.lng:ne.lng; + + var maxLat = sw.lat>ne.lat?sw.lat:ne.lat; + var minLat = sw.lat<ne.lat?sw.lat:ne.lat; + + for(var i=0; i<dots.length; i++) { + var dot = dots[i]; + var lat = dot.lat; + var lng = dot.lng; + var sId = dot.sId; + var isExist = checkMarker(sId); + + // 鏈娣诲姞杩� + if(!isExist) { + // 鍒ゆ柇缁忕含搴︽槸鍚﹀瓨鍦ㄨ鍖哄煙 + if(lng<maxLng && lng>minLng && lat<maxLat && lat>minLat) { + currMarkers['markers'+sId] = sId; + rs.push(dot); + } + } + } + return rs; + } + + + // 妫�娴嬪綋鍓嶇偣鏄惁宸茬粡琚坊鍔犺繃 + function checkMarker(id) { + var flag = false; + // 閬嶅巻宸茬粡娣诲姞鐨勭偣杩斿洖鏄惁宸茬粡琚坊鍔犺繃 + Object.keys(currMarkers).forEach(function(key) { + if(currMarkers[key] == id) { + flag = true; + } + }); + + return flag; + } + + // 璁剧疆dots闆嗗悎鐨勫�� + function setDots(data) { + dots = data; + } + // 灏嗗彉閲忕粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.setDots = setDots; + + // 灏嗗嚱鏁扮粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.queryInRect = queryInRect; + })(jQuery, window, document, GLOBAL); + + + // 鍦板浘鏈烘埧鎼滅储妯″潡 + ;(function($, window, document, gl, undefined) { + // 璁剧疆鍛藉悕绌洪棿BMap.Search妯″潡 + gl.namespace('BMap.Search'); + + var homeInfor = []; + + // 璁剧疆homeInfor鐨勫�� + function setHomeInfor(data) { + homeInfor = data; + } + // 灏嗗嚱鏁扮粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.Search.setHomeInfor = setHomeInfor; + + // 鏍规嵁homeInfor鐨勫�艰繑鍥瀐ome鍒楄〃 + function getHomeList() { + var rs = []; + // 閬嶅巻homeInfor鐨勫�� + for(var i=0; i<homeInfor.length; i++) { + rs.push(homeInfor[i].title); + } + return rs; + } + // 灏嗗嚱鏁扮粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.Search.getHomeList = getHomeList; + })(jQuery, window, document, GLOBAL); + + // 鏌ヨ骞惰缃満鎴跨殑鍥炬爣 + $(function () { + searchStation(true); + }); + + + var allStation = []; + var mapPages = { + pageSize:2, // 姣忛〉鐨勮鏁� + pageCurr:1, // 褰撳墠椤电爜鏁� + pageAll:1, // 鏁扮洰 + pageNum: 0, + pageNew: true + }; //鏌ヨ鏈烘埧 - function searchStation(){ + function searchStation(setRect){ var temp = createSearchParam(); var json = JSON.stringify(temp); + var bmap = GLOBAL.BMap; // BMap鐨勫懡鍚嶇┖闂� + var bmap_s = bmap.Search; // Search鐨勫懡鍚嶇┖闂� commonDot = new Array(); warnDotList = new Array(); dischargeDotList = []; @@ -1980,33 +2084,110 @@ type: "post", //url: "BattMap_informationAction!searchAll", url: "BattMap_informationAction!searchUserManageStation", - async:true, + async: true, dataType:'text', data:"json="+json, success: function(data){ data = eval('('+data+')'); - var list = eval('('+data.result+')'); - console.log(list.length); + // 鑾峰彇缁撴灉闆� + var rs = JSON.parse(data.result); + var list = rs.data; + // console.log(list); allStation = new Array(); if(list!=undefined && list.length>0){ - for(var i=0;i<10;i++){ - var tmp = { - binformation:list[i].data, - alarm_num:list[i].code, //鍛婅鏁扮洰 - low_num:list[i].sum, //钀藉悗鏁扮洰 - delay_num:list[i].newsum, //寤舵椂鏁扮洰 - msg: list[i].msg - }; - allStation.push(analyzeData(tmp)); + // 璁剧疆鍒嗛〉淇℃伅 + mapPages.pageAll = list.length; + setMapPages(); + console.info(mapPages); + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0;i<list.length;i++){ + var _list = list[i]; + allStation.push(formatAllStation(_list)); } - //console.info(allStation); - createMapDot(map, allStation); - //setTimeout(searchStation, 4000); + // 鏄剧ず鍖哄煙鐨勫浘鏍� + bmap.setDots(allStation); + bmap.queryInRect(map,createMapDot); + // 鏄惁绗竴娆℃墽琛� + if(setRect) { + map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot)); // 鎷栧姩 + map.addEventListener("zoomend", bmap.queryInRect.bind({},map, createMapDot)); // 缂╂斁 + updateStation(); + } } } }); } + + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatAllStation(list) { + var obj = new Object(); + // 鏋勯�犵粨鏋滈泦 + obj.lng = list.longitude; + obj.lat = list.latitude; + obj.title = list.StationName; + obj.sId = list.StationId; + obj.fbsId = list.FBSDeviceId; + obj.addr = list.Address; + obj.msg = ""; + return obj; + } + + // 璁剧疆鍒嗛〉鐨勪俊鎭� + function setMapPages() { + var pageNum = Math.ceil(mapPages.pageAll/mapPages.pageSize); + mapPages.pageNum = pageNum; + } + + // 杞鏇存柊鍦板浘鐨勭偣鏌ヨ + function updateStation() { + var updateStationData = []; + $.ajax({ + type: "post", + url: "BattMap_informationAction!searchUserManageStation2", + async: true, + dataType:'json', + data: "json="+JSON.stringify(mapPages), + success: function(result) { + var data = JSON.parse(result.result); + for(var i=0; i<data.length; i++) { + var _data = data[i]; + updateStationData.push(formatUpdateStation(_data)); + + // 鍒ゆ柇鏄惁鏇存柊 + } + + createMapDot(map, updateStationData); + + // 鏇存柊鍒嗛〉淇℃伅 + mapPages.pageCurr++; + if(mapPages.pageCurr>mapPages.pageNum) { + mapPages.pageCurr=1; + mapPages.pageNew=false; + } + + setTimeout(updateStation, 4000); + } + }); + } + + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatUpdateStation(list) { + var obj = {}; + var data = list.data; + // 鏋勯�犵粨鏋滈泦 + obj.lng = data.longitude; + obj.lat = data.latitude; + obj.title = data.StationName; + obj.sId = data.StationId; + obj.fbsId = data.FBSDeviceId; + obj.addr = data.Address; + obj.msg = list.msg; + return obj; + } + + // 鏇存柊鎵�鏈夋満鎴� + function setAllStation(obj,allstation){ //console.info(allstation); @@ -3039,5 +3220,13 @@ img.attr('src', navImg); } } + + // 鐐瑰嚮鍦板浘鐨勬悳绱㈡寜閽畾浣嶅湴鍧� + $(function() { + $('#map').on('click', '.search .search-btn', function() { + var posTxt = $('#map .search .pos-txt').val(); + addrAnalyze(posTxt); + }); + }); </script> </html> -- Gitblit v1.9.1