From d45d08d36896d96e12f3bd4fb283c523dff52eb5 Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期四, 01 十一月 2018 10:59:49 +0800 Subject: [PATCH] 添加自动下拉选择 --- gx_tieta/WebRoot/index.jsp | 676 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 592 insertions(+), 84 deletions(-) diff --git a/gx_tieta/WebRoot/index.jsp b/gx_tieta/WebRoot/index.jsp index 1adb3bf..0a5081b 100644 --- a/gx_tieta/WebRoot/index.jsp +++ b/gx_tieta/WebRoot/index.jsp @@ -24,18 +24,22 @@ <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" /> <link rel="stylesheet" href="css/img-change.css"> <link rel="stylesheet" href="css/confirm.css"> <link rel="stylesheet" href="css/loading.css"> + <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 @@ -81,9 +85,17 @@ overflow-y: auto; overflow-x: hidden; } + .BMapLib_bubble_content a { + color: #2A3AF0; + } + .BMapLib_bubble_content a:hover { + text-decoration: underline; + } + body .layui-layer-dialog { + min-width:400px; + } </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> @@ -97,7 +109,45 @@ <jsp:include page="nav.jsp" flush="true"/> <!--瀵艰埅缁撴潫--> <div id="content"> + <div class="nav-map small"> + <!-- 鍦板浘鍐呭绛涢�� --> + <div class="map-info-panel-left"> + <div class="map-info-panel-content"> + <div class="map-info"> + <span>闄愬埗鏄剧ず鍖哄煙: </span><span class="k-point red" id="mapVsArea">涓浗</span> + <span class="mr5">鏈烘埧鏄剧ず绫诲瀷:</span><span class="k-point red" id="mapIconStyle">鍏ㄩ儴</span> + <span class="map-info-btn-icon" id="showMapInfoDetail" title="璇︽儏"><i class="fa fa-angle-double-down"></i></span> + </div> + <div class="map-info-detail"> + <table> + <tbody> + <tr> + <td class="w8em alg-c">闄愬埗鏄剧ず鍖哄煙:</td> + <td> + <select name="mapVsAreaSel" id="mapVsAreaSel"> + <option>涓浗</option> + <option>涓浗-骞胯タ</option> + </select> + </td> + </tr> + <tr> + <td class="w8em alg-c">鏈烘埧鏄剧ず绫诲瀷:</td> + <td> + <select name="mapIconStyleSel" id="mapIconStyleSel"> + <option>鍏ㄩ儴</option> + </select> + </td> + </tr> + </tbody> + </table> + <div class="map-info-footer alg-r"> + <button type="button" class="mr10 map-panel-hide" value="纭畾" id="mapPanelEn">纭畾</button> + <button type="button" class="mr10 map-panel-hide" value="闅愯棌">闅愯棌</button> + </div> + </div> + </div> + </div> <!-- 鐢垫睜鍒嗗竷鍥� --> <div class="china-map" id="map"> <div class="img-change" style="display:none;"> @@ -137,7 +187,11 @@ <!-- 鐢垫睜鏁呴殰涓庣數姹犲憡璀﹂ゼ鐘跺浘 --> <div class="pie-con"> - + <div class="pie-conf"> + <a href="javascript:;" class="pie-btn" id="faCog" title="鍥捐〃閰嶇疆"> + <i class="fa fa-cog"></i> + </a> + </div> <!-- 鐢垫睜鏁呴殰楗肩姸鍥� --> <div class="brdn-pie module"></div> <!-- 鐢垫睜鍛婅楗肩姸鍥� --> @@ -314,12 +368,15 @@ <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> <script type="text/javascript" src="js/createMap.js"></script> <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"> var permits; <% Object obj=session.getAttribute("permits"); @@ -339,6 +396,7 @@ var search; var warnOpts; //console.info(BMap); + var mapDefults = new Image().src = 'image/mapDefault.gif'; var mapImages = getMapImageUrl(); // 瀹氫箟鐪�-甯傝祫婧愬唴瀹� var area = [ @@ -479,12 +537,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(); }); }); @@ -566,7 +628,7 @@ centerMapByPoint(map); // 鏍规嵁褰撳墠鐢ㄦ埛璁惧畾鐨勪綅缃樉绀轰腑蹇冪偣 map.enableScrollWheelZoom(); map.disableDoubleClickZoom(); - map.setMapStyle({style: 'grayscale'}); // 璁剧疆鍦板浘鐨勯鏍� + //map.setMapStyle({style: 'grayscale'}); // 璁剧疆鍦板浘鐨勯鏍� // 娣诲姞鍦板浘绫诲瀷鎺т欢 map.addControl(new BMap.MapTypeControl()); // 缁欏湴鍥炬坊鍔犲伐鍏锋潯(鍦板浘-鍗槦-涓夌淮)鍜屾瘮渚嬪昂鎺т欢 @@ -607,6 +669,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(); @@ -627,15 +700,11 @@ smallMap(); } }, + { - text: '璁剧疆涓績鐐�', - callback: function(e) { - myConfirm.show({ - title: '璁剧疆鍦板浘榛樿鏄剧ず浣嶇疆', - content: '鏄惁纭淇敼鍦板浘榛樿涓績鍧愭爣', - enfun:updateMapCenterPoint, - enparams:[e] - }); + text: '杩斿洖涓績鐐�', + callback: function(e){ + centerMapByPoint(map); // 鏍规嵁褰撳墠鐢ㄦ埛璁惧畾鐨勪綅缃樉绀轰腑蹇冪偣 } } ]; @@ -1340,6 +1409,7 @@ }); $(window).resize(function() { + console.log(123); getMapHt(); }); // 鏀瑰彉div鐨勫ぇ灏� @@ -1443,9 +1513,11 @@ changeMapImgDesc(iconExplain, 'normal'); - mapEle.prepend(iconExplain); + mapEle.parent().append(iconExplain); + + // 璁剧疆鍦板浘鍥炬爣绉嶇被 + setMapImgStyles(); } - // 鍒囨崲鍦板浘鍥炬爣璇存槑 function changeMapImgDesc(iconExplain, type) { iconExplain.find('.explain-list').remove(); @@ -1463,35 +1535,43 @@ 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); // 姝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); } @@ -1501,16 +1581,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); @@ -1518,16 +1598,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); } @@ -1577,18 +1657,22 @@ } // 鐢熸垚鍦板浘鍥炬爣 - function createMapDot(map, dotList) { + function createMapDot(map, dotList, isTop) { // 娓呯┖瑕嗙洊鐗╁拰瀵瑰簲鐨刴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)); // 璁剧疆鍥剧墖 + 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鐐� - addMenu(mk, mapDel); + // 鍒犻櫎鎸囧畾鐨勭偣(璇ョ偣浼氬湪鏈嚱鏁板悗闈㈤噸鏂板垱寤�) deletePoint(map, dotList[i].title); + + // 缁欑偣鍙抽敭鑿滃崟娣诲姞鍒犻櫎鎸夐挳 + addMenu(mk, mapDel); + // 鍚憁k鐐规坊鍔爈abel var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)}); home_name.setStyle({display: 'none', padding: '4px 2px'}); @@ -1604,23 +1688,26 @@ mk.addEventListener('click', function(e) { var target = e.target; - showMapPanel(target, dotList); + //showMapPanel(target, dotList); + searchPanelInfo(target); }); + + if(isTop) { + mk.setTop(true); + } + mkList.push(mk); // 鍚戝湴鍥炬坊鍔犺鐩栫墿 - map.addOverlay(mk); + if(isShow) { + map.addOverlay(mk); + } } } - - - - - // // 鍒犻櫎鍦板浘涓婄殑鎸囧畾鐐� 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]); @@ -1633,6 +1720,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++) { @@ -1737,6 +1853,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) { @@ -1766,10 +1883,9 @@ function showMapPanelByPoint(point, dataList) { var searchInforWin = null; var opts = { - //title : warnList[i].title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none">璇︽儏>></a>', //鏍囬 title : dataList.title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none;cursor:not-allowed">璇︽儏>></a>', //鏍囬鏈紑鍚� width : '290', //瀹藉害 - height : 140, //楂樺害 + height : 160, //楂樺害 panel : "panel", //妫�绱㈢粨鏋滈潰鏉� enableAutoPan : true, //鑷姩骞崇Щ enableSendToPhone:false, @@ -1871,6 +1987,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 @@ -1879,8 +1997,8 @@ StationId:homeId, //鏈烘埧缂栧彿 StationName:homeName, //鏈烘埧鍚嶇О Address:addr, //鏈烘埧鐗╃悊淇℃伅 - longitude:lng, // 缁忓害 - latitude:lat, // 绾害 + longitude: wgsPoint.lon, // 缁忓害 + latitude: wgsPoint.lat, // 绾害 information:"", //澶囨敞 }; var json = JSON.stringify(temp); @@ -1963,6 +2081,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鍙鍖哄煙锛屼互鍦扮悊鍧愭爣琛ㄧず @@ -1992,7 +2120,7 @@ var dot = dots[i]; var lat = dot.lat; var lng = dot.lng; - var sId = dot.binformation.StationId; + var sId = dot.sId; var isExist = checkMarker(sId); // 鏈娣诲姞杩� @@ -2025,8 +2153,22 @@ function setDots(data) { dots = data; } + // 灏嗗彉閲忕粦瀹氬埌鍛藉悕绌洪棿涓� gl.BMap.setDots = setDots; + + // 鏇存柊dots闆嗗悎鐨勬暟鎹� + function updateDots(data) { + for(var i=0; i<dots.length; i++) { + var _dots = dots[i]; + if(_dots.sId == data.sId) { + _dots.msg = data.msg; + } + } + } + + // 灏嗗彉閲忕粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.updateDots = updateDots; // 灏嗗嚱鏁扮粦瀹氬埌鍛藉悕绌洪棿涓� gl.BMap.queryInRect = queryInRect; @@ -2066,17 +2208,23 @@ }); - var allStation; + var allStation = []; + var mapPages = { + 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", @@ -2086,41 +2234,193 @@ 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){ + // 璁剧疆鍒嗛〉淇℃伅 + mapPages.pageAll = list.length; + setMapPages(); + //console.log(123); + // 閬嶅巻鏌ヨ缁撴灉 for(var i=0;i<list.length;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)); + var _list = list[i]; + allStation.push(formatAllStation(_list)); } // 鏄剧ず鍖哄煙鐨勫浘鏍� bmap.setDots(allStation); - bmap.queryInRect(map,createMapDot); - // 鏄惁璁剧疆鎷栧埌鍜岀缉鏀� + bmap.queryInRect(map, createMapDot); + updateStation(); + + // 鏄惁绗竴娆℃墽琛� if(setRect) { map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot)); // 鎷栧姩 map.addEventListener("zoomend", bmap.queryInRect.bind({},map, createMapDot)); // 缂╂斁 + } - - //createMapDot(map, allStation); - } } }); } + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatAllStation(list) { + var obj = new Object(); + // GPS鍧愭爣杞寲涓虹櫨搴﹀潗鏍� + var point = GPS.wgs2bd(list.latitude, list.longitude); + // 鏋勯�犵粨鏋滈泦 + obj.lng = point.lon; + obj.lat = point.lat; + obj.title = list.StationName; + obj.sId = list.StationId; + obj.fbsId = list.FBSDeviceId; + obj.addr = list.Address; + obj.msg = ""; + obj.num = list.num; + return obj; + } + + // 璁剧疆鍒嗛〉鐨勪俊鎭� + function setMapPages() { + var pageNum = Math.ceil(mapPages.pageAll/mapPages.pageSize); + mapPages.pageNum = pageNum; + mapPages.pageNew= true; + } + + // 杞鏇存柊鍦板浘鐨勭偣鏌ヨ + function updateStation() { + var bmap = GLOBAL.BMap; // BMap鐨勫懡鍚嶇┖闂� + 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); + //console.log(data); + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _list = formatUpdateStation(_data); + updateStationData.push(_list); + //_list.msg = 'item-nuclear_cap'; + // 鍒ゆ柇鏄惁鏇存柊 + if(mapPages.pageNew) { + bmap.updateDots(_list); + } + } + + createMapDot(map, updateStationData, true); + // 鏇存柊鍒嗛〉淇℃伅 + mapPages.pageCurr++; + if(mapPages.pageCurr>mapPages.pageNum || updateStationData.length<mapPages.pageSize) { + mapPages.pageCurr=1; + mapPages.pageNew=false; + } + + setTimeout(updateStation, 4000); + + } + }); + } + + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatUpdateStation(list) { + var obj = {}; + var data = list.data; + console.log(list); + // GPS鍧愭爣杞寲涓虹櫨搴﹀潗鏍� + var point = GPS.wgs2bd(data.latitude, data.longitude); + // 鏋勯�犵粨鏋滈泦 + obj.lng = point.lon; + obj.lat = point.lat; + obj.title = data.StationName; + obj.sId = data.StationId; + obj.fbsId = data.FBSDeviceId; + obj.addr = data.Address; + obj.msg = list.msg; + obj.num = list.num; + 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 stationInfo = getStaionByPoint(point); + if(!stationInfo) { + alert('闈㈡澘淇℃伅鏌ヨ澶辫触锛�'); + return; + } + var temp = { + StationId: stationInfo.sId + }; + // 鏌ヨ闈㈡澘淇℃伅 + $.ajax({ + type: 'post', + async: true, + url: 'BattMap_informationAction!searchUserManageStation3', + data: 'json='+JSON.stringify(temp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + if(rs.length != 0) { + var data = rs[0]; + //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;"><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 city" value="'+data.data.stationName2+'">'; + + var list = { + title: data.data.StationName, + content: content + }; + + showMapPanelByPoint(point, list); + } + + } + }); + } + + + // 鏍规嵁缁忕含搴﹁幏鍙栨満鎴跨殑淇℃伅 + function getStaionByPoint(point) { + var stationInfo = false; + // 閬嶅巻鎵�鏈夋満鎴� + for(var i=0; i<allStation.length; i++) { + var info = allStation[i]; + if(info.lng == point.lng && info.lat == point.lat) { + stationInfo = info; + } + } + return stationInfo; + } function setAllStation(obj,allstation){ //console.info(allstation); var flag = false; var index = 0; - for(var i = 0;i < allstation.length;i++){ + for(var i = 0;i < allStation.length;i++){ //console.info(obj.binformation.num + "==" + allstation[i].binformation.num); if(obj.binformation.num == allstation[i].binformation.num){ flag = true; @@ -2227,16 +2527,18 @@ } // 瀹氫綅鍒板疄鏃舵暟鎹〉闈� function loadToRealTime() { - var battgroupId = $('.ipt-hide').eq(0).val(); - var homeId = $('.ipt-hide').eq(1).val(); - window.open('control.jsp?battgroupId='+battgroupId+'&stationId='+homeId); + 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); } // 瀹氫綅鍒板巻鍙叉暟鎹〉闈� function loadToOldTime() { - var battgroupId = $('.ipt-hide').eq(0).val(); - var homeId = $('.ipt-hide').eq(1).val(); - window.open('charge-test.jsp?battgroupId='+battgroupId+'&stationId='+homeId); + 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); } //瀹氫綅鍒板憡璀﹂〉闈� @@ -2370,11 +2672,10 @@ text: '鍒犻櫎', callback: function(e) { //console.info(allStation); - console.info(mk); + console.info(allStation); var temp = getStationMap(allStation, mk.point); - if(confirm("纭浠庡湴鍥句笂鍒犻櫎'"+temp.StationName+"'鐨勪綅缃俊鎭悧锛�")){ + if(confirm("纭浠庡湴鍥句笂鍒犻櫎'"+temp.title+"'鐨勪綅缃俊鎭悧锛�")){ if(temp != undefined){ - //console.info(temp); var json = JSON.stringify(temp); $.ajax({ type: "post", @@ -2416,8 +2717,8 @@ function getStationMap(list,localposi){ if(list != undefined){ for(var i = 0 ; i < list.length ; i++){ - if(list[i].binformation.latitude == localposi.lat && list[i].binformation.longitude == localposi.lng){ - return list[i].binformation; + if(list[i].lat == localposi.lat && list[i].lng == localposi.lng){ + return list[i]; } } } @@ -2678,6 +2979,7 @@ 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.defaults = mapDefults; return rs; } /* $(function(){ @@ -2956,6 +3258,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; @@ -2976,6 +3281,9 @@ break; case 'item-pre_charge': // 61850棰勫厖鐢� rs = imgs.precharge; + break; + default: + rs = imgs.defaults; break; } @@ -3155,5 +3463,205 @@ addrAnalyze(posTxt); }); }); + + layui.use(['form', 'layer', 'laytpl'], function() { + var form = layui.form; + var layer = layui.layer; + var laytpl = layui.laytpl; + + // 鐐瑰嚮楗肩姸鍥鹃厤缃� + $('#faCog').click(function() { + searchUserBieState(); // 鏌ヨ褰撳墠楗肩姸鍥剧殑閰嶇疆鐘舵�� + }); + + var layerMsg; + + // 鐐瑰嚮閰嶇疆椤瑰閫夋 + $('body').on('click', '#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]', function(event) { + layer.close(layerMsg); + var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]'); + var num = 0; + iptList.each(function() { + if($(this).is(':checked')) { + num++; + } + }); + if(num>4) { + layerMsg = layer.msg("鏈�澶氶�夋嫨鍥涗釜锛�", { + type: 1 + }); + $(this).prop('checked', false); + } + + }); + + + var pie = GLOBAL.Index.Pie; + var pieType = pie.pieType; + var pieConfTpl = getTpl('iframe/pie-config.html'); + //鏌ヨ褰撳墠鐢ㄦ埛璁剧疆楗肩姸鍥剧殑浣胯兘鐘舵�� + function searchUserBieState(){ + $.ajax({ + type:"post", + url: "Echarts_usrAction!serchByCondition", + async:true, + dataType:'json', + data:null, + success: function(data){ + var model = eval('('+data.result+')'); + if(model.code == 1) { + var result = model.data; + var formatData = formatPieRsData(result[0]); + laytpl(pieConfTpl).render(formatData, function(html) { + layer.open({ + id: 'pie', + title: '楗肩姸鍥鹃厤缃�', + maxHeight: 450, + content: html, + yes: function(index) { + var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]'); + var iptArr = []; + iptList.each(function() { + if($(this).is(':checked')) { + iptArr.push(1); + }else { + iptArr.push(0); + } + }); + + var temp = structUpdatePie(iptArr); + layer.load(); + updateUserBieState(temp); + } + }); + }); + } + + } + }); + } + + // 鏍煎紡鍖栨煡璇㈢粨鏋� + function formatPieRsData(result) { + var data={}; + data.tblData=[]; + // 閬嶅巻pieType鐨勭被鍨� + for(var i=0; i<pieType.length; i++) { + var tmp = {}; + var num = i+1; + var key = 'echarts'+num+'_enable'; + tmp.name = pieType[i].name; + tmp.status = result[key]; + data.tblData.push(tmp); + } + + return data; + } + + + // 鏋勯�犳洿鏂伴ゼ鐘跺浘鍙傛暟 + function structUpdatePie(arr) { + var rs = { + echarts1_enable:0, + echarts2_enable:0, + echarts3_enable:0, + echarts4_enable:0, + echarts5_enable:0, + echarts6_enable:0, + echarts7_enable:0, + echarts8_enable:0, + echarts9_enable:0, + echarts10_enable:0 + }; + + // 閬嶅巻arr缁檙s鍊奸噸瀹氫箟 + for(var i=0; i<arr.length; i++) { + var num = i+1; + var key = 'echarts'+num+'_enable'; + rs[key] = arr[i]; + } + + return rs; + } + + // 鏇存柊褰撳墠鐢ㄦ埛璁剧疆楗肩姸鍥剧殑浣胯兘鐘舵�� + function updateUserBieState(temp, dialog, load){ + // 鏇存柊鍚庡彴鏁版嵁 + $.ajax({ + type:"post", + url: "Echarts_usrAction!add", + async:true, + dataType:'json', + data:'json='+JSON.stringify(temp), + success: function(data){ + layer.closeAll(); + + var model = eval('('+data.result+')'); + if(model.code == 1) { + layer.msg('閰嶇疆鎴愬姛锛侊紒锛�'); + }else { + layer.msg('閰嶇疆澶辫触锛侊紒锛�'); + } + } + }); + } + + // 鍦板浘宸︿笂鏂归潰鏉挎ā鍧� + var mapViewArea = GLOBAL.BMap.mapViewArea; // 鍦板浘鏄剧ず鍖哄煙鐨勪俊鎭� + // 鐐瑰嚮闈㈡澘涓婃柟鐨勫皬鍥炬爣鏄剧ず璁惧畾淇℃伅 + $('#showMapInfoDetail').click(function() { + $('.map-info-detail').slideToggle(); + }); + + // 鐐瑰嚮闅愯棌 + $('.map-info-detail .map-panel-hide').click(function() { + $('.map-info-detail').slideUp(); + }); + + // 閬嶅巻mapViewArea鑾峰彇mapVsAreaSel涓嬫媺妗嗙殑鍊� + var mapVsAreaSel = $('#mapVsAreaSel'); + var mapVsAreaSelOpts = []; + for(var i=0; i<mapViewArea.length; i++) { + var _data = mapViewArea[i]; + var tmp = getOptionsData(_data.name, _data.area, _data); + mapVsAreaSelOpts.push(tmp); + } + // 鐢熸垚闈㈡澘涓殑mapVsAreaSel + createOptions(mapVsAreaSel, mapVsAreaSelOpts); + // 鏄剧ず榛樿鍖哄煙-涓浗 + setMapViewArea(mapViewArea[0]); + centerMapByPoint(map); // 鏍规嵁褰撳墠鐢ㄦ埛璁惧畾鐨勪綅缃樉绀轰腑蹇冪偣 + // 鐐瑰嚮闈㈡澘纭畾鎸夐挳 + $('#mapPanelEn').click(function() { + var areaData = mapVsAreaSel.find('option:selected').data('attr'); + + // 璁剧疆澶撮儴鍙鍖哄煙鐨勬枃鏈� + $('#mapVsArea').text(areaData.name); + + // 璁剧疆鍙鍖哄煙 + setMapViewArea(areaData); + }); + + // 璁剧疆鍦板浘鐨勫彲瑙嗗尯鍩� + function setMapViewArea(data) { + var left = new BMap.Point(data.left.lng, data.left.lat); + var right = new BMap.Point(data.right.lng, data.right.lat); + var b = new BMap.Bounds(left, right); + + var cLng = (data.left.lng+data.right.lng)/2; + var cLat = (data.left.lat+data.right.lat)/2; + var f = new BMap.Point(cLng, cLat); + map.panTo(f, { + noAnimation: "no" + }); + + + try { + BMapLib.AreaRestriction.setBounds(map, b); + } catch (e) { + alert(e); + } + } + }); </script> </html> -- Gitblit v1.9.1