From a3b330e8997ccc9ed7475b5e30d28afcb0270914 Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期四, 15 十一月 2018 14:18:17 +0800 Subject: [PATCH] 显示基站机历卡 --- gx_tieta/WebRoot/index.jsp | 761 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 592 insertions(+), 169 deletions(-) diff --git a/gx_tieta/WebRoot/index.jsp b/gx_tieta/WebRoot/index.jsp index eb12531..ceae720 100644 --- a/gx_tieta/WebRoot/index.jsp +++ b/gx_tieta/WebRoot/index.jsp @@ -24,10 +24,12 @@ <title><s:text name="HomePage"></s:text></title> <meta name="renderer" content="webkit"> + <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <!-- 瀵煎叆鐧惧害鍦板浘API --> + <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" /> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=QAerSFEiGDCx1oHPB7Z5XYcBHI6R3qwx"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script> - <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" /> + <script type="text/javascript" src="js/AreaRestriction_min.js"></script> <link href="css/basic.css" type="text/css" rel="stylesheet" /> <link href="css/common.css" type="text/css" rel="stylesheet" /> <link href="css/index_layout.css" type="text/css" rel="stylesheet" /> @@ -37,7 +39,7 @@ <link rel="stylesheet" href="src/css/layui.css"> <link rel="stylesheet" href="pages/css/mylayui.css"> <style type="text/css"> - #map .explain-header:hover { + .explain-header:hover { cursor: pointer; background-color: #84ABFA !important; color: #D6D1D1 @@ -94,7 +96,6 @@ } </style> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> - <script type="text/javascript" src="js/echarts.js"></script> <script type="text/javascript" src="js/createTab.js"></script> @@ -108,21 +109,69 @@ <jsp:include page="nav.jsp" flush="true"/> <!--瀵艰埅缁撴潫--> <div id="content"> - <!-- <div id="mapStatusOpts" class="map-status-container"> - <div class="layui-form layui-form-pane"> - <label class="layui-form-label">鏈烘埧绫诲瀷</label> - <div class="layui-input-inline"> - <select name="warnType" id="warnType"> - <option value="0">鍏ㄩ儴</option> - <option value="1">钀藉悗</option> - <option value="2">鍛婅</option> - <option value="3">寤舵椂</option> - <option value="4">姝e父</option> - </select> + + <div class="nav-map small"> + <!-- 鍦板浘鍐呭绛涢�� --> + <div class="map-info-panel-left w300"> + <div class="map-info-panel-content"> + <div class="map-info" id="showMapInfoDetail"> + <span>鍦板浘宸ュ叿</span> + <span class="map-info-btn-icon" title="璇︽儏"><i class="fa fa-angle-double-down"></i></span> + </div> + <div class="map-info-detail"> + <div class="layui-collapse" lay-filter="test" lay-accordion=""> + <div class="layui-colla-item"> + <h2 class="layui-colla-title">瀹氫綅鏈烘埧</h2> + <div class="layui-colla-content layui-show"> + <table> + <tbody> + <tr> + <td class="w5em alg-c f-bold">鏈烘埧鍚嶇О:</td> + <td><input type="text" id="mapToolSearch"></td> + </tr> + <tr> + <td colspan="2" class="alg-r btn-container"> + <button type="button" value="鎼滅储" id="mapToolSearchBtn" class="mrr8">鎼滅储</button> + </td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="layui-colla-item" id="permitAddHome"> + <h2 class="layui-colla-title">娣诲姞鏈烘埧</h2> + <div class="layui-colla-content"> + <table id="mapToolAddHome"> + <tbody> + <tr> + <td class="w4em alg-c f-bold">缁忓害:</td> + <td><input type="text" class="lng"></td> + </tr> + <tr> + <td class="w4em alg-c f-bold">绾害:</td> + <td><input type="text" class="lat"></td> + </tr> + <tr> + <td class="w4em alg-c f-bold">绫诲瀷:</td> + <td> + <input type="radio" class="pointStyle" name="pointStyle" value="0" checked><span class="mrr8">GPS</span> + <input type="radio" class="pointStyle" name="pointStyle" value="1"><span class="mrr8">鐧惧害</span> + <input type="radio" class="pointStyle" name="pointStyle" value="2"><span class="mrr8">鑵捐/楂樺痉</span> + </td> + </tr> + <tr> + <td colspan="2" class="alg-r btn-container"> + <button type="button" value="娣诲姞" id="mapToolAddHomeBtn" class="mrr8">娣诲姞</button> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + </div> </div> </div> - </div> --> - <div class="nav-map small"> <!-- 鐢垫睜鍒嗗竷鍥� --> <div class="china-map" id="map"> <div class="img-change" style="display:none;"> @@ -338,12 +387,14 @@ </div> </div> <input type="hidden" id="user_logo" value="<%=user_logo %>"> + <div id="homeInfoIframeData"></div> <!--娓呴櫎娴姩--> <div class="clear"></div> <script type="text/javascript" src="pages/js/base.js"></script> <script type="text/javascript" src="pages/js/common.js"></script> <script type="text/javascript" src="pages/js/pages/siderbar.js"></script> <script type="text/javascript" src="pages/js/pages/index-common.js"></script> + <script type="text/javascript" src="pages/js/GPS.js"></script> <script type="text/javascript" src="js/panel.js"></script> <script type="text/javascript" src="js/search.js"></script> <script type="text/javascript" src="js/changePinYin.js"></script> @@ -351,6 +402,7 @@ <script type="text/javascript" src="js/myConfirm.js"></script> <script type="text/javascript" src="js/loading.js"></script> <script type="text/javascript" src="src/layui.js"></script> + <script type="text/javascript" src="src/layui.all.js"></script> <script type="text/javascript"> var permits; <% Object obj=session.getAttribute("permits"); @@ -370,6 +422,7 @@ var search; var warnOpts; //console.info(BMap); + var mapDefults = new Image().src = 'image/mapDefault.gif'; var mapImages = getMapImageUrl(); // 瀹氫箟鐪�-甯傝祫婧愬唴瀹� var area = [ @@ -510,12 +563,16 @@ }); $(function() { // 鏄剧ず鍜岄殣钘忓浘鏍囪鏄� - $('#map').on('click', '.explain-header', function() { - $('#map .explain-list').fadeToggle(); + $('.nav-map').on('click', '.explain-header', function() { + $('.explain-list').fadeToggle(); }); $('#map').on('dblclick', '.explain-header', function() { return false; + }); + + $('.nav-map').on('click', '.explain-list input', function() { + setMapImgStyles(); }); }); @@ -597,7 +654,7 @@ centerMapByPoint(map); // 鏍规嵁褰撳墠鐢ㄦ埛璁惧畾鐨勪綅缃樉绀轰腑蹇冪偣 map.enableScrollWheelZoom(); map.disableDoubleClickZoom(); - map.setMapStyle({style: 'grayscale'}); // 璁剧疆鍦板浘鐨勯鏍� + //map.setMapStyle({style: 'grayscale'}); // 璁剧疆鍦板浘鐨勯鏍� // 娣诲姞鍦板浘绫诲瀷鎺т欢 map.addControl(new BMap.MapTypeControl()); // 缁欏湴鍥炬坊鍔犲伐鍏锋潯(鍦板浘-鍗槦-涓夌淮)鍜屾瘮渚嬪昂鎺т欢 @@ -638,6 +695,17 @@ var menu = new BMap.ContextMenu(); var txtMenuItem = [ { + text: '璁剧疆涓績鐐�', + callback: function(e) { + myConfirm.show({ + title: '璁剧疆鍦板浘榛樿鏄剧ず浣嶇疆', + content: '鏄惁纭淇敼鍦板浘榛樿涓績鍧愭爣', + enfun:updateMapCenterPoint, + enparams:[e] + }); + } + }, + { text: '鎼滅储鍦板潃', callback: function(e) { search.showSearch(); @@ -658,15 +726,11 @@ smallMap(); } }, + { - text: '璁剧疆涓績鐐�', - callback: function(e) { - myConfirm.show({ - title: '璁剧疆鍦板浘榛樿鏄剧ず浣嶇疆', - content: '鏄惁纭淇敼鍦板浘榛樿涓績鍧愭爣', - enfun:updateMapCenterPoint, - enparams:[e] - }); + text: '杩斿洖涓績鐐�', + callback: function(e){ + centerMapByPoint(map); // 鏍规嵁褰撳墠鐢ㄦ埛璁惧畾鐨勪綅缃樉绀轰腑蹇冪偣 } } ]; @@ -1371,6 +1435,7 @@ }); $(window).resize(function() { + console.log(123); getMapHt(); }); // 鏀瑰彉div鐨勫ぇ灏� @@ -1474,9 +1539,11 @@ changeMapImgDesc(iconExplain, 'normal'); - mapEle.prepend(iconExplain); + mapEle.parent().append(iconExplain); + + // 璁剧疆鍦板浘鍥炬爣绉嶇被 + setMapImgStyles(); } - // 鍒囨崲鍦板浘鍥炬爣璇存槑 function changeMapImgDesc(iconExplain, type) { iconExplain.find('.explain-list').remove(); @@ -1494,35 +1561,55 @@ function mapImgDescNormal(iconExplain) { // 鏈烘埧钀藉悗 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); - var icon = $('<img src="'+mapImages.behind+'" style="float:left">'); - var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">鐢垫睜缁勮惤鍚庢満鎴�</span>'); - iconList.append(icon); + var input = $('<input type="checkbox" data-img="item-behind" checked="checked">'); + var icon = $('<img src="'+mapImages.behind+'">'); + var span = $('<span>鐢垫睜缁勮惤鍚庢満鎴�</span>'); + iconList.append(input); iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); // 鏈烘埧鍛婅 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); - var icon = $('<img src="'+mapImages.warn+'" style="float:left;">'); - var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">鐢垫睜缁勫憡璀︽満鎴�</span>'); - iconList.append(icon); + var input = $('<input type="checkbox" data-img="item-warn" checked="checked">'); + var icon = $('<img src="'+mapImages.warn+'">'); + var span = $('<span>鐢垫睜缁勫憡璀︽満鎴�</span>'); + iconList.append(input); iconList.append(span); + iconList.append(icon); iconList.append('<div class="clear"></div>'); iconExplain.append(iconList); + + // 鏈烘埧寤舵椂 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); - var icon = $('<img src="'+mapImages.timeout+'" style="float:left">'); - var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">鐢垫睜缁勬斁鐢靛欢鏃舵満鎴�</span>'); - iconList.append(icon); + var input = $('<input type="checkbox" data-img="item-timeout" checked="checked">'); + var icon = $('<img src="'+mapImages.timeout+'">'); + var span = $('<span>鐢垫睜缁勬斁鐢靛欢鏃舵満鎴�</span>'); + iconList.append(input); iconList.append(span); + iconList.append(icon); + iconExplain.append(iconList); + + // 鍋滅數鏈烘埧 + var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); + var input = $('<input type="checkbox" data-img="item-poff" checked="checked">'); + var icon = $('<img src="'+mapImages.powercut+'">'); + var span = $('<span>鍋滅數鏈烘埧</span>'); + iconList.append(input); + iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); // 姝e父鏈烘埧 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); - var icon = $('<img src="'+mapImages.normal+'" style="float:left">'); - var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">姝e父鏈烘埧</span>'); - iconList.append(icon); + var input = $('<input type="checkbox" data-img="item-normal" checked="checked">'); + var icon = $('<img src="'+mapImages.normal+'">'); + var span = $('<span>姝e父鏈烘埧</span>'); + iconList.append(input); iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); } @@ -1532,16 +1619,16 @@ var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); var icon = $('<img src="'+mapImages.nuclear+'" style="float:left">'); var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">鏍稿/鍋滅數鏀剧數</span>'); - iconList.append(icon); iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); // 鍛婅 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); var icon = $('<img src="'+mapImages.devalarm+'" style="float:left;">'); var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850璁惧鍛婅</span>'); - iconList.append(icon); iconList.append(span); + iconList.append(icon); iconList.append('<div class="clear"></div>'); iconExplain.append(iconList); @@ -1549,16 +1636,16 @@ var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); var icon = $('<img src="'+mapImages.precharge+'" style="float:left">'); var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850棰勫厖鐢�</span>'); - iconList.append(icon); iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); // 鍦ㄧ嚎娴厖 var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>'); var icon = $('<img src="'+mapImages.float+'" style="float:left">'); var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850鍦ㄧ嚎娴厖</span>'); - iconList.append(icon); iconList.append(span); + iconList.append(icon); iconExplain.append(iconList); } @@ -1608,17 +1695,16 @@ } // 鐢熸垚鍦板浘鍥炬爣 - function createMapDot(map, dotList) { + function createMapDot(map, dotList, isTop) { // 娓呯┖瑕嗙洊鐗╁拰瀵瑰簲鐨刴k鐐� mkList = []; - // 閬嶅巻鏌ヨ鍐呭鐢熸垚瀵瑰簲鐨勫浘鏍� - for(var i = 0; i < dotList.length; i++) { + for(var i = 0; i<dotList.length; i++) { + var isShow = checkMapImgStyle(dotList[i].msg); 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鐐� - // 鍒犻櫎鎸囧畾鐨勭偣(璇ョ偣浼氬湪鏈嚱鏁板悗闈㈤噸鏂板垱寤�) deletePoint(map, dotList[i].title); @@ -1643,16 +1729,65 @@ //showMapPanel(target, dotList); searchPanelInfo(target); }); + + if(isTop) { + mk.setTop(true); + } + mkList.push(mk); // 鍚戝湴鍥炬坊鍔犺鐩栫墿 - map.addOverlay(mk); + if(isShow) { + map.addOverlay(mk); + } } + } + + // 鏇存柊鍦板浘鍥炬爣 + function updateMapDotIcon(map, dotList, isTop) { + // 閬嶅巻鏌ヨ鍐呭鐢熸垚瀵瑰簲鐨勫浘鏍� + for(var i = 0; i<dotList.length; i++) { + var isShow = checkMapImgStyle(dotList[i].msg); + var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[i].msg), new BMap.Size(36, 30)); // 璁剧疆鍥剧墖 + var mk = getMapMarker(map, dotList[i].title); + if(mk) { + // 璁剧疆鍦板浘鍥炬爣 + mk.setIcon(dotIcon); + + // 灏嗗凡缁忓畨瑁呯殑鏄剧ず鍦ㄩ《閮� + if(isTop) { + mk.setTop(true); + } + + // 闅愯棌marker鐐� + isShow?mk.show():mk.hide(); + } + } + } + + // 鑾峰彇鍦板浘鍥炬爣 + function getMapMarker(map, msg) { + var rs = false; + var allOverlay = map.getOverlays(); + for (var i = 0; i < allOverlay.length; i++){ + try{ + if(allOverlay[i].getLabel().content == msg){ + rs = allOverlay[i]; + return rs; + } + }catch(e) { + + } + + } + + return rs; + } // 鍒犻櫎鍦板浘涓婄殑鎸囧畾鐐� function deletePoint(map, msg){ var allOverlay = map.getOverlays(); - for (var i = 0; i < allOverlay.length -1; i++){ + for (var i = 0; i < allOverlay.length; i++){ try{ if(allOverlay[i].getLabel().content == msg){ map.removeOverlay(allOverlay[i]); @@ -1665,6 +1800,35 @@ } } + // 鑾峰彇鍦板浘闇�瑕佹樉绀哄浘鏍囩殑绫诲瀷 + var magImgStyles = []; + + function setMapImgStyles() { + var ipts = $('#mapImgDesc .explain-list input'); + magImgStyles = []; + ipts.each(function(i) { + var imgStyle = $(this).data('img'); + if($(this).is(':checked')) { + magImgStyles.push(imgStyle); + } + }); + magImgStyles.push(''); + // 鏍规嵁褰撳墠鍐呭鏇存柊鍦板浘鍥炬爣 + //searchStation(); + } + + // 妫�娴嬪綋鍓嶅浘鏍囨槸鍚︾鍚� + function checkMapImgStyle(imgStyle) { + var isShow = false; + for(var i=0; i<magImgStyles.length; i++) { + if(magImgStyles[i] == imgStyle) { + isShow = true; + break; + } + } + + return isShow; + } // 鍒涘缓鍛婅鐐� function createWarnDot(map, warnDotList) { for(var i = 0; i < warnDotList.length; i++) { @@ -1903,6 +2067,8 @@ function getAddHomeInfo() { var lng = $('.add-panel .lng').text(); // 鑾峰彇缁忓害 var lat = $('.add-panel .lat').text(); // 鑾峰彇绾害 + var wgsPoint = GPS.bd2wgs(lat, lng); // 鐧惧害鍦板浘鍧愭爣杞寲涓篏PS + var addr = $('.add-panel .addr').text(); // 鑾峰彇鍦板潃 var homeName = $('.add-panel select option:selected').text(); // 鏈烘埧鍚嶇О var homeId = $('.add-panel select option:selected').val(); // 鏈烘埧ID @@ -1911,8 +2077,8 @@ StationId:homeId, //鏈烘埧缂栧彿 StationName:homeName, //鏈烘埧鍚嶇О Address:addr, //鏈烘埧鐗╃悊淇℃伅 - longitude:lng, // 缁忓害 - latitude:lat, // 绾害 + longitude: wgsPoint.lon, // 缁忓害 + latitude: wgsPoint.lat, // 绾害 information:"", //澶囨敞 }; var json = JSON.stringify(temp); @@ -1995,6 +2161,16 @@ // 鏍规嵁鍙鑼冨洿鏄剧ず鍧愭爣鐐� var dots = []; var currMarkers = {}; + + // 鍒濆鍖� + function init() { + dots = []; + currMarkers = {}; + } + // init鍑芥暟缁戝畾鍒癎LOBAL.BMap涓� + gl.BMap.init = init; + + // 鏌ヨ褰撳墠鑼冨洿鍐呭鐨勫浘鏍� function queryInRect(map, callback) { var cp = map.getBounds(); // 杩斿洖map鍙鍖哄煙锛屼互鍦扮悊鍧愭爣琛ㄧず @@ -2114,22 +2290,21 @@ var allStation = []; var mapPages = { - pageSize:1000, // 姣忛〉鐨勮鏁� + pageSize:50, // 姣忛〉鐨勮鏁� pageCurr:1, // 褰撳墠椤电爜鏁� pageAll:1, // 鏁扮洰 pageNum: 0, pageNew: true }; + //鏌ヨ鏈烘埧 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 = []; - behindCellList = []; + var init = bmap.init; + //init(); + // 鏌ヨ鍚庡彴 $.ajax({ type: "post", //url: "BattMap_informationAction!searchAll", @@ -2148,21 +2323,25 @@ // 璁剧疆鍒嗛〉淇℃伅 mapPages.pageAll = list.length; setMapPages(); - + //console.log(123); // 閬嶅巻鏌ヨ缁撴灉 for(var i=0;i<list.length;i++){ var _list = list[i]; allStation.push(formatAllStation(_list)); } - // 鏄剧ず鍖哄煙鐨勫浘鏍� bmap.setDots(allStation); bmap.queryInRect(map, createMapDot); + updateStation(); + + // 鏇存柊灏忓伐鍏锋悳绱㈡満鎴垮姛鑳� + updateSearchSource(allStation); + // 鏄惁绗竴娆℃墽琛� if(setRect) { map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot)); // 鎷栧姩 map.addEventListener("zoomend", bmap.queryInRect.bind({},map, createMapDot)); // 缂╂斁 - updateStation(); + } } } @@ -2172,9 +2351,11 @@ // 鏍煎紡鍖栨煡璇㈢粨鏋� function formatAllStation(list) { var obj = new Object(); + // GPS鍧愭爣杞寲涓虹櫨搴﹀潗鏍� + var point = GPS.wgs2bd(list.latitude, list.longitude); // 鏋勯�犵粨鏋滈泦 - obj.lng = list.longitude; - obj.lat = list.latitude; + obj.lng = point.lon; + obj.lat = point.lat; obj.title = list.StationName; obj.sId = list.StationId; obj.fbsId = list.FBSDeviceId; @@ -2203,7 +2384,7 @@ data: "json="+JSON.stringify(mapPages), success: function(result) { var data = JSON.parse(result.result); - console.log(data); + //console.log(data); for(var i=0; i<data.length; i++) { var _data = data[i]; var _list = formatUpdateStation(_data); @@ -2215,16 +2396,16 @@ } } - createMapDot(map, updateStationData); - + updateMapDotIcon(map, updateStationData, true); // 鏇存柊鍒嗛〉淇℃伅 mapPages.pageCurr++; - if(mapPages.pageCurr>mapPages.pageNum) { + if(mapPages.pageCurr>mapPages.pageNum || updateStationData.length<mapPages.pageSize) { mapPages.pageCurr=1; mapPages.pageNew=false; } setTimeout(updateStation, 4000); + } }); } @@ -2233,9 +2414,12 @@ function formatUpdateStation(list) { var obj = {}; var data = list.data; + //console.log(list); + // GPS鍧愭爣杞寲涓虹櫨搴﹀潗鏍� + var point = GPS.wgs2bd(data.latitude, data.longitude); // 鏋勯�犵粨鏋滈泦 - obj.lng = data.longitude; - obj.lat = data.latitude; + obj.lng = point.lon; + obj.lat = point.lat; obj.title = data.StationName; obj.sId = data.StationId; obj.fbsId = data.FBSDeviceId; @@ -2245,9 +2429,22 @@ return obj; } + // 鏍规嵁allStation鐨勫�煎幓鏇存柊鍐呭 + function updateMapByAllStation() { + var bmap = GLOBAL.BMap; // BMap鐨勫懡鍚嶇┖闂� + var init = bmap.init; // 鍒濆鍖栧唴瀹� + + // 鍒濆鍖栧湴鍥惧唴瀹� + init(); + + // 鏄剧ず鍖哄煙鐨勫浘鏍� + bmap.setDots(allStation); + bmap.queryInRect(map, createMapDot); + } + // 鏌ヨ鏈烘埧闈㈡澘淇℃伅 function searchPanelInfo(data) { - var point = data.point; + var point = new BMap.Point(data.point.lng, data.point.lat); var stationInfo = getStaionByPoint(point); if(!stationInfo) { alert('闈㈡澘淇℃伅鏌ヨ澶辫触锛�'); @@ -2267,14 +2464,16 @@ var rs = JSON.parse(result.result); if(rs.length != 0) { var data = rs[0]; - console.info(data); + //console.info(data); var content = '<div style="padding:6px;"><span>钃勭數姹犵粍鍛婅鏁扮洰锛�</span>'+data.code+'<a style="margin-left: 14px" href="javascript:loadToWarnPage();">璇︽儏>></a></div>'+ '<div style="padding:6px;"><span>钃勭數姹犵粍钀藉悗鏁扮洰锛�</span>'+data.sum+'<a style="margin-left: 14px" href="javascript:loadToBehindPage();">璇︽儏>></a></div>'+ '<div style="padding:6px;"><span>钃勭數姹犵粍寤舵椂鏁扮洰锛�</span>'+data.newsum+'<a style="margin-left: 14px" href="javascript:loadToDischargeDelay();">璇︽儏>></a></div>'+ - '<div style="padding:6px"><a href="javascript:loadToRealTime();">瀹炴椂鏁版嵁</a><a style="margin-left: 20px" href="javascript:loadToOldTime();">鍘嗗彶鏁版嵁</a></div>'+ + '<div style="padding:6px"><a href="javascript:loadToRealTime();">瀹炴椂鏁版嵁</a><a style="margin-left: 20px" href="javascript:loadToOldTime();">鍘嗗彶鏁版嵁</a><a style="margin-left: 20px" href="javascript:showHomeInfo();">鍩虹珯淇℃伅</a></div>'+ '<div style="padding:6px;"><span>鍦板潃锛�</span>'+data.data.Address+'</div>'+ '<input type="hidden" class="ipt-hide home" value="'+data.data.StationName+'">'+ '<input type="hidden" class="ipt-hide province" value="'+data.data.stationName1+'">'+ + '<input type="hidden" class="ipt-hide county" value="'+data.data.stationName5+'">'+ + '<input type="hidden" class="ipt-hide sid" value="'+data.data.StationId+'">'+ '<input type="hidden" class="ipt-hide city" value="'+data.data.stationName2+'">'; var list = { @@ -2416,7 +2615,10 @@ var home = $('.ipt-hide.home').val(); var province = $('.ipt-hide.province').val(); var city = $('.ipt-hide.city').val(); - window.open('control.jsp?province='+province+'&city='+city+'&home='+home); + var county = $('.ipt-hide.county').val(); + var url = skipUrl('control.jsp',province,city,county,home); + window.open(url); + //window.open('control.jsp?province='+province+'&city='+city+'&home='+home); } // 瀹氫綅鍒板巻鍙叉暟鎹〉闈� @@ -2424,33 +2626,220 @@ var home = $('.ipt-hide.home').val(); var province = $('.ipt-hide.province').val(); var city = $('.ipt-hide.city').val(); - window.open('charge-test.jsp?province='+province+'&city='+city+'&home='+home); + var county = $('.ipt-hide.county').val(); + var url = skipUrl('charge-test.jsp',province,city,county,home); + window.open(url); + //window.open('charge-test.jsp?province='+province+'&city='+city+'&home='+home); } //瀹氫綅鍒板憡璀﹂〉闈� function loadToWarnPage() { + var home = $('.ipt-hide.home').val(); + var province = $('.ipt-hide.province').val(); + var city = $('.ipt-hide.city').val(); + var county = $('.ipt-hide.county').val(); + var url = skipUrl('elewarn.jsp',province,city,county,home); + window.open(url); // console.info($('.ipt-hide').val()); - var stationId = $('.ipt-hide').eq(1).val(); - window.open('elewarn.jsp?stationId='+stationId); + //var stationId = $('.ipt-hide').eq(1).val(); + //window.open('elewarn.jsp?stationId='+stationId); } // 瀹氫綅鍒拌惤鍚庡崟浣撻〉闈� function loadToBehindPage() { + var home = $('.ipt-hide.home').val(); + var province = $('.ipt-hide.province').val(); + var city = $('.ipt-hide.city').val(); + var county = $('.ipt-hide.county').val(); + var url = skipUrl('taskplan.jsp',province,city,county,home); + window.open(url); // console.info($('.ipt-hide').val()); - var stationId = $('.ipt-hide').eq(1).val(); - window.open('taskplan.jsp?stationId='+stationId); + //var stationId = $('.ipt-hide').eq(1).val(); + //window.open('taskplan.jsp?stationId='+stationId); } // 瀹氫綅鍒版斁鐢靛欢鏃堕〉闈� function loadToDischargeDelay() { - var stationId = $('.ipt-hide').eq(1).val(); - window.open('dischargeplan.jsp?stationId='+stationId); + var home = $('.ipt-hide.home').val(); + var province = $('.ipt-hide.province').val(); + var city = $('.ipt-hide.city').val(); + var county = $('.ipt-hide.county').val(); + var url = skipUrl('dischargeplan.jsp',province,city,county,home); + window.open(url); + + //var stationId = $('.ipt-hide').eq(1).val(); + //window.open('dischargeplan.jsp?stationId='+stationId); } // 瀹氫綅鍒版満鎴胯缁嗕俊鎭〉闈� function loadToHomeInfo() { var stationId = $('.ipt-hide').eq(1).val(); //window.open('homeinfor.jsp?stationId='+stationId); + } + + // 鏄剧ず鏈烘埧淇℃伅 + function showHomeInfo() { + var sid = $('.ipt-hide.sid').val(); + var temp = { + StationId: sid + }; + + // 鏌ヨ鍩虹珯鐨勪俊鎭� + $.ajax({ + type: 'post', + async: true, + url: 'BattInfAction!serchBattAllInfoByStationId', + data: 'json='+JSON.stringify(temp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + if(rs.code == 1) { + var data = rs.data; + //console.log(data); + var rsData = formatHomeInfo(data); + $('#homeInfoIframeData').data('data', rsData); + // 鏄剧ず闈㈡澘 + layer.open({ + type: 2, + title: '<i class="fa fa-home"></i>鍩虹珯淇℃伅', + area: ['960px', '524px'], + fixed: false, //涓嶅浐瀹� + maxmin: true, + content: 'iframe/homeinfo.html' + }); + }else { + layer.msg('鏆傛棤鍩虹珯淇℃伅锛�'); + } + + } + }); + } + + // 鏍煎紡鍖栨満鎴夸俊鎭暟鎹� + function formatHomeInfo(data) { + var groupDefaults = { + homeid: '', + homename: '', + homeip: '', + groupid: '', + groupname: '', + ordernum: '', + brand: '', + model: '', + monproperty: '', + startusetime: '', + chargecurr: '', + chargevol: '', + equipeinfo: '', + person: '' + }; + + var homeDefaults = { + + }; + var rs = { + tabc:[] + }; + var tabc = rs.tabc; + // 閬嶅巻data鐢熸垚鏈烘埧鐨勫�� + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = {}; + tmp.title = '鐢垫睜缁�'+(i+1)+'淇℃伅'; + tmp.type = 'group'; + tmp.content = $.extend({}, groupDefaults); + tmp.tshow = ''; + tmp.cshow = ''; + if(i==0) { + tmp.tshow = 'layui-this'; + tmp.cshow = 'layui-show'; + } + // 璁剧疆content鐨勫�� + var content = tmp.content; + content.homeid = _data.StationId; // 鏈烘埧id + content.homename = _data.StationName; // 鏈烘埧鍚嶇О + content.homeip = _data.StationIp; // 鏈烘埧ip + content.groupid = _data.BattGroupId; // 鐢垫睜缁刬d + content.groupname = _data.BattGroupName; // 鐢垫睜缁勫悕绉� + content.ordernum = _data.GroupIndexInFBSDevice+1;// 鐢垫睜缁勭紪鍙� + content.brand = _data.BattProducer; // 鐢垫睜鍝佺墝 + content.model = _data.BattModel; + var monproperty = '鏍囩О瀹归噺锛�'+_data.MonCapStd+'AH'+'锛涙爣绉板崟浣撶數鍘嬶細'+_data.MonVolStd+'V'+'锛涙爣绉板唴闃伙細'+_data.MonResStd.toFixed(3)+'m惟' + +'锛涙爣绉版俯搴︼細'+_data.MonTmpStd+'鈩�'+'锛涘崟浣撴暟閲忥細'+_data.MonCount+'鑺�'; + content.monproperty = monproperty; + content.startusetime = new Date(_data.BattInUseDate).format('yyyy-MM-dd'); + content.chargecurr = _data.BattFloatCurrent; + content.chargevol = _data.FloatVolLevel; + var equipeinfo = '鍨嬪彿锛�'+_data.FBSDeviceName+'锛汭D锛�'+_data.FBSDeviceId + +'锛汭P锛�'+_data.FbsDeviceIp+'锛汢Index锛�'+_data.GroupIndexInFBSDevice; + content.equipeinfo = equipeinfo; + content.person = ''; + + tabc.push(tmp); + } + var StationId_ex = data[0].StationId_ex; + var homeData = data[0].binf_ex; + var tmp = {}; + tmp.title = '鍩虹珯淇℃伅'; + tmp.type = 'home'; + tmp.content = $.extend({}, homeDefaults); + tmp.tshow = ''; + tmp.cshow = ''; + // 璁剧疆content鐨勫�� + var content = tmp.content; + content.stationid = StationId_ex; + content.stationname = homeData.stationName; + content.homeid = homeData.stationId; + content.organize = homeData.affiliation; + content.datasource = homeData.dataSources; + content.addrstyle = homeData.stationType; + var position = '缁忓害锛�'+homeData.longitude+'锛涚含搴︼細'+homeData.latitude; + content.position = position; + content.addr = homeData.stationAddr; + var blockedState = homeData.blockedState?'鏄�': '鍚�'; + var stationstatus = '绔欏潃绛夌骇锛�'+homeData.stationLevel+'锛涚淮鎶ょ姸鎬侊細'+homeData.maintenanceState+'锛涘皝閿佺姸鎬侊細'+blockedState; + content.stationstatus = stationstatus; + content.maintain = homeData.maintenanceCompany; + var environment = '涓氬姟鍦烘櫙锛�'+homeData.businessScenario+'锛涜鐩栧満鏅細'+homeData.CoverScenario+'锛涚珯鍧�鍦板舰锛�'+homeData.siteTerrain; + content.environment = environment; + var isShare = homeData.isShare?'鏄�':'鍚�'; + var addrpower = '浜ф潈鎬ц川锛�'+homeData.propertyRights+'锛涳紙鍘燂級浜ф潈鍗曚綅锛�'+homeData.propertyUnit+'锛涙槸鍚﹀叡浜細'+isShare; + content.addrpower = addrpower; + content.usecompany = homeData.useUnit; + content.physicsaddrnum = homeData.siteCode; + content.hisphysicsaddrnum = homeData.historySiteCode; + content.addrinsidenum = homeData.siteInternalNumber; + content.addrpinyin = homeData.sitePinyinReferred; + content.chinesename = homeData.siteChineseReferred; // 涓枃绠�绉� + content.isopenbusiness = homeData.isOpenBusiness; + content.entryperson = homeData.schoolPersonnel; + content.entrytime = homeData.entryTime; + content.revisedperson = homeData.modifyPeople; + content.revisedtime = homeData.modifyTime; + content.remark = homeData.note; + var addrMark = homeData.siteReceivesMark?'鏄�':'鍚�'; + var isEffe = homeData.siteValidity?'鏄�':'鍚�'; + var isactive = '绔欏潃鎺ユ敹鏍囪锛�'+addrMark+'锛涙槸鍚︽湁鏁堬細'+isEffe; + content.isactive = isactive; + content.yidongaddrname = homeData.siteNameCMCC; + content.dianxinaddrname = homeData.siteNameCTC; + content.liantongaddrname = homeData.siteNameCUCC; + content.brand = homeData.producer; + content.endurtime = homeData.lastTimeLong; + content.endurstyle = homeData.lastTimeType; + content.endurstarttime = homeData.lastTimeDate; + content.shareinfo = homeData.shareInfo; + var buystauts = "绉诲姩璐拱:"+(homeData.electPowerCMCC==1?'鏄�':'鍚�')+";鐢典俊璐拱:"+(homeData.electPowerCTC==1?'鏄�':'鍚�')+";鑱旈�氳喘涔�:"+(homeData.electPowerCUCC==1?'鏄�':'鍚�'); + content.buystatus = buystauts; + var ischarge = homeData.isCanElectPower==1?'鏄�':'鍚�'; + content.ischarge = ischarge; + content.distance = homeData.upperStationRoute; + content.degree = homeData.upperStationDifficult; + content.repair = homeData.clienteleErrorService; + + tabc.push(tmp); + // 杩斿洖缁撴灉闆� + return rs; } // 鑾峰彇echarts瀵硅薄鐨刼pt @@ -2865,96 +3254,11 @@ rs.devalarm = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_dev_alarm}"; // 璁惧鍛婅 rs.precharge = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_pre_charge}"; // 棰勫厖鐢� rs.float = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_online_charge}"; // 娴厖 + rs.powercut = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_poff}"; + rs.defaults = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_install}"; return rs; } - /* $(function(){ - setTimeout(function(){ - var _script = document.createElement('script'); - _script.type = "text/javascript"; - _key = "55UbnVOR7XovezZC4jFvTqNDPAamsuoo";//鐧惧害鍦板浘鍙互鐢宠鍒� - _script.src = "http://api.map.baidu.com/location/ip?ak="+_key+"&coor=bd09ll&ip=&callback=f";//鎷兼帴URL - document.head.appendChild(_script); - - }, 2000); - - }); - var pointX; - var pointY; - function f(data){ - pointX = data.content.point.x; - pointY = data.content.point.y; - console.info("浣犳墍鍦ㄥ煄甯�:"+data.content.address); - console.info("浣犲煄甯傜粡搴�:"+pointX); - console.info("浣犵殑鍩庡競绾害:"+pointY); - var point = new BMap.Point(pointX, pointY); - map.centerAndZoom(point, 10); // 鐢ㄥ煄甯傚悕璁剧疆鍦板浘涓績鐐� - } */ - - - /* $(document).ready(function(){ - //椤甸潰鍔犺浇鏃舵煡璇㈢淮鎶ゅ尯涓殑鏋㈢航绫诲瀷 - $.post("User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup",null,function(data){ - data=data.result; - data=eval("("+data+")"); - //console.info(data); - if(data.code==1 && data.data.length>0){ - var $select = $("#station_name1"); - $select.text(''); - for(var i=0;i<=data.data.length;i++){ - $option=$("<option></option>"); - if(i==0){ - $option.html("<s:text name='All'/>(<s:text name='Common'/>"+data.data.length+"<s:text name='Species'/>)"); - $option.attr("value", ""); - }else{ - $option.text(data.data[i-1]); - $option.attr("value",data.data[i-1]); - } - $select.append($option); - } - }else{ - $("#station_name1").text('').html('<option>鏆傛棤鍙祴缁存姢鍖�</option>'); - } - findStationNamebyStationname1(); - }); - }); - //褰撶淮鎶ゅ尯鐨勫�煎彉鎹㈡椂鏇存柊鏈烘埧绔欑偣 - $('#station_name1').change(function(){ - findStationNamebyStationname1(); - }); - - //鏍规嵁缁存姢鍖烘煡璇㈢珯鐐� - function findStationNamebyStationname1(){ - var user = { - UNote:$("#station_name1 option:selected").val() - }; - //var selectvalue=$("#station_name1 option:selected").val(); - //alert(selectvalue); - $.post("User_battgroup_baojigroup_battgroupAction!serchStationNameInGroup","json="+JSON.stringify(user),function(data){ - //console.info(data); - data=data.result; - data=eval("("+data+")"); - if(data.code==1 && data.data.length>0){ - var $select = $("#station_name"); - $select.text(''); - for(var i=0;i<=data.data.length;i++){ - var $option=$("<option></option>"); - if(i==0){ - $option.html("<s:text name='All'/>(<s:text name='Common'/>"+data.data.length+"<s:text name='Species'/>)"); - $option.attr("value", ""); - }else{ - $option.text(data.data[i-1]); - $option.attr("value",data.data[i-1]); - } - $select.append($option); - } - }else{ - $("#station_name").text('').html('<option>鏆傛棤鍙祴鏈烘埧绔欑偣</option>'); - } - findserchByBattGroupNamebystationname(); - }); - } */ - //鏌ヨ鎵�鏈夌殑缁存姢鍖� function searchAllProvince(){ $.ajax({ @@ -3143,6 +3447,9 @@ function getMapStateImg(imgs, cla) { var rs = imgs.normal; switch(cla) { + case 'item-normal': + rs = imgs.normal; + break case 'item-warn': // 鍛婅 rs = imgs.warn; break; @@ -3151,6 +3458,9 @@ break; case 'item-timeout': // 寤舵椂 rs = imgs.timeout; + break; + case 'item-poff': // 鍋滅數 + rs = imgs.powercut; break; case 'item-dev_alarm': // 61850鍛婅 rs = imgs.devalarm; @@ -3163,6 +3473,9 @@ break; case 'item-pre_charge': // 61850棰勫厖鐢� rs = imgs.precharge; + break; + default: + rs = imgs.defaults; break; } @@ -3343,10 +3656,11 @@ }); }); - layui.use(['form', 'layer', 'laytpl'], function() { + layui.use(['form', 'layer', 'laytpl', 'element'], function() { var form = layui.form; var layer = layui.layer; var laytpl = layui.laytpl; + var element = layui.element; // 鐐瑰嚮楗肩姸鍥鹃厤缃� $('#faCog').click(function() { @@ -3485,6 +3799,115 @@ }); } + // 鏍规嵁鏉冮檺鏇存柊鍦板浘宸ュ叿鍐呭 + var permitAddHome = getPermit('batt_map_edit_permit', permits); // 娣诲姞鏈烘埧鐨勬潈闄� + // 娌℃湁娣诲姞鏈烘埧鐨勬潈闄� + if(!permitAddHome) { + $('#permitAddHome').remove(); + } + + // 鍦板浘宸︿笂鏂归潰鏉挎ā鍧�-鐐瑰嚮闈㈡澘涓婃柟鐨勫皬鍥炬爣鏄剧ず璁惧畾淇℃伅 + $('#showMapInfoDetail').click(function() { + $('.map-info-detail').slideToggle(); + }); + + // 鐐瑰嚮闅愯棌 + $('.map-info-detail .map-panel-hide').click(function() { + $('.map-info-detail').slideUp(); + }); + + // 鍐呭鏀瑰彉鍒濆璇�$('#mapToolSearchBtn').data('homeInfo')鐨勫�� + $( "#mapToolSearch" ).on('input propertychange', function(){ + $('#mapToolSearchBtn').data('homeInfo', 0); + }); + // 瀹氫箟鏈烘埧鏌ヨ淇℃伅 + $( "#mapToolSearch" ).autocomplete({ + source: [], + select: function(event, ui) { + $('#mapToolSearchBtn').data('homeInfo', ui.item); // 璁剧疆鏈烘埧淇℃伅鍐呭 + } + }); + + // 鐐瑰嚮鏌ョ湅homeInfo鐨勫�� + $('#mapToolSearchBtn').click(function() { + var homeInfo = $(this).data('homeInfo'); + if(homeInfo) { + searchPanelInfo(homeInfo); + $(this).data('homeInfo', 0); + $( "#mapToolSearch" ).val(''); + }else { + layer.msg('璇烽噸鏂拌緭鍏ユ満鎴夸俊鎭紒'); + $( "#mapToolSearch" ).val(""); + } + }); + + /* 鍦板浘宸ュ叿娣诲姞鍦板浘鍥炬爣 */ + var mapToolAddHome = $('#mapToolAddHome'); + var mapToolAddHomeBtn = $('#mapToolAddHomeBtn'); + + // 鐐瑰嚮鍦板浘宸ュ叿娣诲姞鍦板浘鎸夐挳 + mapToolAddHomeBtn.click(function() { + var lng = mapToolAddHome.find('.lng').val().trim(); + var lat = mapToolAddHome.find('.lat').val().trim(); + var pointStyles = mapToolAddHome.find('.pointStyle'); + var pointStyle = 0; + pointStyles.each(function() { + if($(this).is(':checked')) { + pointStyle = $(this).val(); + } + }); + if(lng && lat) { + var point = getBaiduPoint(lng, lat, pointStyle); + var pt = new BMap.Point(point.lon, point.lat); + addCommonDot(map, pt); + map.centerAndZoom(pt, 18); // 鐢ㄥ煄甯傚悕璁剧疆鍦板浘涓績鐐� + }else { + layer.msg('璇疯緭鍏ョ粡绾害'); + } + + }); + + // 鑾峰彇鐧惧害鍦板浘鐨勭粡绾害 + function getBaiduPoint(lng, lat, type) { + var point = {}; + lng = Number(lng); + lat = Number(lat); + var _type = Number(type); + switch(_type) { + case 0: // GPS鍘熷鍧愭爣 + point = GPS.wgs2bd(lat, lng); + break; + case 1: // 鐧惧害鍦板浘鍧愭爣 + point = { + lon: lng, + lat: lat + }; + break; + case 2: // 鑵捐/楂樺痉 + point = GPS.bd_encrypt(lat, lng); + break; + } + + return point; + } }); + + // 鏇存柊鍦板浘宸ュ叿鎼滅储鏈烘埧 + function updateSearchSource(data) { + var homeSource = []; + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = { + label: _data.title+'('+_data.sId+')', + point: { + lng: _data.lng, + lat: _data.lat + } + }; + homeSource.push(tmp); + } + + $( "#mapToolSearch" ).autocomplete('option', 'source', homeSource); + } </script> </html> -- Gitblit v1.9.1