| | |
| | | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
| | | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> |
| | | <%@page isELIgnored="false" %> |
| | | <% String version ="1.000003";%> |
| | | <% |
| | | String version ="1.000004"; |
| | | response.setHeader("Cache-Control","no-store"); |
| | | response.setHeader("Pragrma","no-cache"); |
| | | response.setDateHeader("Expires",0); |
| | | %> |
| | | <!DOCTYPE html> |
| | | <head> |
| | | <meta charset="utf-8" /> |
| | |
| | | padding:0; |
| | | list-style:none; |
| | | } |
| | | |
| | | a{ |
| | | color: #1900c6; |
| | | text-decoration: none; |
| | | cursor: pointer; |
| | | font-size: 14px; |
| | | font-weight: 300; |
| | | } |
| | | a:hover { |
| | | text-decoration: underline; |
| | | color: #e60012; |
| | | } |
| | | #popup_box { |
| | | top: 75px; |
| | | left: 20px; |
| | |
| | | float: right; |
| | | width: 70px; |
| | | height: 28px; |
| | | line-height: 28px |
| | | line-height: 28px; |
| | | cursor:pointer; |
| | | } |
| | | |
| | | .list { |
| | |
| | | clear: both; |
| | | zoom: 1 |
| | | } |
| | | |
| | | .list-chart-span { |
| | | cursor: pointer; |
| | | background-color: #4c9bf1 |
| | | } |
| | | .list li { |
| | | padding: 10px 0; |
| | | border-bottom: 1px dotted #eee; |
| | | line-height: 40px; |
| | | height: 40px; |
| | | font-size: 20px; |
| | | cursor: pointer; |
| | | /*cursor: pointer;*/ |
| | | } |
| | | |
| | | .list span{ |
| | | float: right; |
| | | position: relative; |
| | | right: 18px; |
| | | right: 5px; |
| | | border-radius:4px; |
| | | width: 70px; |
| | | width: 40px; |
| | | text-align: center; |
| | | height: 24px; |
| | | line-height: 24px; |
| | | font-size: 16px; |
| | | font-size: 14px; |
| | | font-weight: bolder; |
| | | color: white; |
| | | margin: 10px 0; |
| | | padding:2px 0; |
| | | margin-right: 8px; |
| | |
| | | |
| | | .list .state01 { |
| | | background-color: #FF9; |
| | | color: #ff7f00; |
| | | } |
| | | |
| | | .list .state02 { |
| | |
| | | } |
| | | |
| | | .list .state04 { |
| | | |
| | | background-color: #eee; |
| | | color: #777 |
| | | /*background-color: #eee;*/ |
| | | /*color: #777 ;*/ |
| | | background-color: #738d99 ; |
| | | } |
| | | /* |
| | | * 外面盒子样式---自己定义 |
| | |
| | | .equ-data-box .equ-data-list li .grade01{color:#282828;background:url(/img/list_num_yellow.png) left top no-repeat} |
| | | .equ-data-box .equ-data-list li .grade02{background:url(/img/list_num_orange.png) left top no-repeat} |
| | | .equ-data-box .equ-data-list li .grade03{background:url(/img/list_num_red.png) left top no-repeat} |
| | | .tools_box{ |
| | | position: absolute; |
| | | height: 120px; |
| | | width: 400px; |
| | | right: 1px; |
| | | top: 20px; |
| | | z-index: 1; |
| | | } |
| | | .tools_box .charts_btn { |
| | | position: relative; |
| | | float: right; |
| | | margin: 0; |
| | | border: 0; |
| | | height: 85px; |
| | | width: 85px; |
| | | background:url(/img/charts_btn_bg_1.png) left top no-repeat; |
| | | background-size: 70%; |
| | | } |
| | | .tools_box .charts_btn:hover { |
| | | cursor:pointer; |
| | | background:url(/img/charts_btn_bg_2.png) left top no-repeat; |
| | | background-size: 70%; |
| | | } |
| | | </style> |
| | | <body> |
| | | <div class="main_body"> |
| | | <div class="tools_box"> |
| | | <div class="charts_btn"> |
| | | </div> |
| | | </div> |
| | | <div class="search_box"> |
| | | <button id="searchBtn" type="button">搜索</button> |
| | | <input id="searchParam"/> |
| | |
| | | </div> |
| | | </div> |
| | | <div id="mapCanvas"></div> |
| | | <div id="map_params" style="display: none;"> |
| | | ${requestScope.map_params} |
| | | <div id="mapParams" style="display: none;"> |
| | | ${requestScope.mapParams} |
| | | </div> |
| | | </div> |
| | | </body> |
| | |
| | | //页面初始化 |
| | | (function($) { |
| | | var moralMap = window.moralMap; |
| | | var params = $.parseJSON($("#map_params").html()); |
| | | var params = $.parseJSON($("#mapParams").html()); |
| | | moralMap['params'] = params; |
| | | //通过地区名称加载地图 |
| | | moralMap.mapInit(params["area_name"]); |
| | | moralMap.mapInit(params["regionName"]); |
| | | //列表对象 |
| | | var listView =moralMap.initListView({id: "#equ_list",pageSize:12}); |
| | | window["listView"] = listView; |
| | | //展示设备列表,click事件触发 |
| | | function showEqus(obj) { |
| | | |
| | | var params = moralMap['params']; |
| | | var mpoint = obj.currentTarget.getOption(); |
| | | var url = 'equipment/findAllEqu?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; |
| | | $("#searchParam").val(mpoint['name']); |
| | | var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; |
| | | listView.load(url); |
| | | moralMap.showPopupbox("#popup_box"); |
| | | } |
| | |
| | | data:paramMap, |
| | | async:false, |
| | | cache: false, |
| | | success:function(jsonData){ |
| | | success:function(res){ |
| | | if(callBack!=null){ |
| | | if(jsonData!=null&&typeof jsonData["rows"] ==='object'&&lazyKeyer(key)){ |
| | | callBack(jsonData); |
| | | if(res.code==1&&lazyKeyer(key)){ |
| | | callBack(res.data); |
| | | } |
| | | } |
| | | } |
| | |
| | | var maxBounds = moralMap.getMaxBounds(); |
| | | var paramMap = {}; |
| | | paramMap["orgId"]= params['orgId']; |
| | | $.extend(paramMap,maxBounds); |
| | | // 为了适配旧接口 |
| | | paramMap["Fe"]= maxBounds.northeastLat;//东北角纬度,大一点 |
| | | paramMap["Ge"]= maxBounds.northeastLng;//东北角经度,大一点 |
| | | paramMap["Ke"]= maxBounds.southwestLat;//西北角纬度坐标,小一点 |
| | | paramMap["Le"]= maxBounds.southwestLng;//西北角经度坐标,小一点 |
| | | // $.extend(paramMap,maxBounds); |
| | | loadLazy(url,paramMap,callback); |
| | | } |
| | | } |
| | | function addOverEquipments(jsonData){ |
| | | if(moralMap.layer()=="equipments"){ |
| | | var objs = jsonData["rows"]==null?[]:jsonData["rows"]; |
| | | var objs = jsonData = null?[]:jsonData; |
| | | for(var i in objs) { |
| | | var obj = objs[i]; |
| | | if(moralMap.getEquipment(obj["mac"])==null){ |
| | | obj['mouseover'] = function (type) { |
| | | if(type.target.getData()==null){ |
| | | //当前设备数据为空时,设备悬停事件中 刷新一下数据 |
| | | refreshAllState(); |
| | | } |
| | | } |
| | | obj['click'] = function(){ |
| | | var _obj = this.getOption(); |
| | | var _obj = this.getOption(); |
| | | if(_obj['mac']==null){ |
| | | alert("mac项未配置,请联系管理员设置"); |
| | | return; |
| | | } |
| | | var equ = { |
| | | methodName : 'showDeviceMonitor', |
| | | name: _obj['name'], |
| | | mac: (_obj['mac']).toLowerCase(), |
| | | longitude: _obj['longitude'], |
| | | latitude: _obj['latitude'], |
| | | version:moralMap.getVersion(_obj['mac']) |
| | | monitorPointId: _obj['monitorPointId'], |
| | | version:_obj['deviceVersion']['version'] |
| | | } |
| | | var equStr = JSON.stringify(equ); |
| | | if(window["console"]!=undefined){ |
| | | console.log(equStr); |
| | | } |
| | | if(window['external']&&window['external']['showMonitorInfo']){ |
| | | if(!!window['external']&&window['external']['callWin']){ |
| | | window['external'].callWin(equStr); |
| | | }else |
| | | if(!!window['external']&&window['external']['showMonitorInfo']){ |
| | | window['external'].showMonitorInfo(equStr); |
| | | }else{ |
| | | alert(equStr); |
| | |
| | | } |
| | | } |
| | | } |
| | | function addOverMpoints(jsonData){ |
| | | function addOverMpoints(data){ |
| | | if(moralMap.layer()=="monitorpoints"){ |
| | | var mpoints = jsonData["rows"]==null?[]:jsonData["rows"]; |
| | | var mpoints = data = null?[]:data; |
| | | for(var i in mpoints) { |
| | | var mpParam = mpoints[i]; |
| | | if(moralMap.getMpoint(mpParam["id"])==null){ |
| | |
| | | var bounds = moralMap.getBounds(); |
| | | paramMap["areaCode"]= params['areaCode']; |
| | | paramMap["orgId"]= params['orgId']; |
| | | paramMap["Fe"]= bounds['Fe'];//东北角纬度,大一点 |
| | | paramMap["Ge"]= bounds['Ge'];//东北角经度,大一点 |
| | | paramMap["Ke"]= bounds['Ke'];//西北角纬度坐标,小一点 |
| | | paramMap["Le"]= bounds['Le'];//西北角经度坐标,小一点 |
| | | loadLazy("getmonitorpoints",paramMap,addOverMpoints); |
| | | // 为了适配旧接口 |
| | | paramMap["Fe"]= bounds.northeastLat;//东北角纬度,大一点 |
| | | paramMap["Ge"]= bounds.northeastLng;//东北角经度,大一点 |
| | | paramMap["Ke"]= bounds.southwestLat;//西北角纬度坐标,小一点 |
| | | paramMap["Le"]= bounds.southwestLng;//西北角经度坐标,小一点 |
| | | loadLazy("getMonitorpointList",paramMap,addOverMpoints); |
| | | startRefreshPage(); |
| | | }); |
| | | //地图加载完成后 加载监控点,速度慢 |
| | | moralMap.addEventListener("tilesloaded", function(type, target) { |
| | | // var endZoom = this.getZoom(); |
| | | // if(endZoom>=moralMap.getZooMConfine()){//超过界限加载设备 |
| | | // loadOverlays("getequipments",addOverEquipments); |
| | | // }else{ |
| | | // loadOverlays("getmonitorpoints",addOverMpoints); |
| | | // } |
| | | // moralMap.closePopupbox("#popup_box"); |
| | | }); |
| | | // 点击事件关闭 弹窗列表 |
| | | moralMap.addEventListener("click", function(type, target) { |
| | | moralMap.closePopupbox("#popup_box"); |
| | | }); |
| | | //地图放大缩小事件时,关闭弹窗 |
| | | moralMap.addEventListener('zoomstart', function(type) {}); |
| | | //地图放大缩小事件时,关闭弹窗 |
| | | moralMap.addEventListener('zoomend', function(type) { |
| | | var endZoom = this.getZoom(); |
| | | if(endZoom>=moralMap.getZooMConfine()){//超过界限加载设备 |
| | | loadOverlays("getequipments",addOverEquipments); |
| | | loadOverlays("get-devices",addOverEquipments); |
| | | }else{ |
| | | loadOverlays("getmonitorpoints",addOverMpoints); |
| | | loadOverlays("get-monitorpoints",addOverMpoints); |
| | | } |
| | | moralMap.closePopupbox("#popup_box"); |
| | | }); |
| | | moralMap.addEventListener('moveend', function(type) { |
| | | var endZoom = this.getZoom(); |
| | | if(endZoom>=moralMap.getZooMConfine()){//超过界限加载设备 |
| | | loadOverlays("getequipments",addOverEquipments); |
| | | loadOverlays("get-devices",addOverEquipments); |
| | | }else{ |
| | | loadOverlays("getmonitorpoints",addOverMpoints); |
| | | loadOverlays("get-monitorpoints",addOverMpoints); |
| | | } |
| | | moralMap.closePopupbox("#popup_box"); |
| | | }); |
| | |
| | | function(e) { |
| | | var param = encodeURI($("#searchParam").val()); |
| | | moralMap.showPopupbox("#popup_box"); |
| | | var url = 'equipment/findAllEqu?name=' + param + "&orgId=" + params['orgId']; |
| | | var url = 'get-devices-for-popup?name=' + param + "&orgId=" + params['orgId']; |
| | | listView.load(url); |
| | | } |
| | | ) |
| | | ); |
| | | $("#searchParam").keydown(function (event) { |
| | | if(event.keyCode ==13) { |
| | | $("#searchBtn").trigger("click"); |
| | | } |
| | | }) |
| | | //跳转表单页面按钮事件 |
| | | $(".charts_btn").click( |
| | | function (e) { |
| | | var obj = {}; |
| | | obj['methodName'] = 'showChart'; |
| | | var objStr = JSON.stringify(obj); |
| | | if(!!window['external']&&window['external']['callWin']){ |
| | | window['external'].callWin(objStr); |
| | | }else |
| | | if(!!window['external']&&window['external']['showChartInfo']){ |
| | | window['external'].showChartInfo(""); |
| | | }else{ |
| | | alert(objStr); |
| | | } |
| | | } |
| | | ); |
| | | //页面刷新 |
| | | |
| | | })(jQuery); |
| | |
| | | } |
| | | setTimeout(function(){ |
| | | refreshAllState(); |
| | | },2000); |
| | | },5000); |
| | | } |
| | | function stopRefreshPage(){ |
| | | window.clearInterval(_intervalNum); |
| | |
| | | parma["markerKeys"] = markerKeys; |
| | | parma["areaCode"] = moralMap['params']["areaCode"]; |
| | | parma["orgId"] = moralMap['params']["orgId"]; |
| | | $.ajax({ |
| | | type: "post", |
| | | url: "getstatesformap", |
| | | data:JSON.stringify(parma), |
| | | dataType:"json", |
| | | contentType:"application/json;charset=utf-8", |
| | | cache: false, |
| | | async: true, |
| | | success: function(data) { |
| | | if(data!=null&&typeof data === 'object') { |
| | | var resultMap = data["extData"]; |
| | | if(resultMap==null){ |
| | | return; |
| | | } |
| | | var markers = resultMap["markers"]; |
| | | var layer = resultMap["layer"]; |
| | | if(markers!=null&&markers.length>0){ |
| | | if(layer=="monitorpoints"){ |
| | | for(var a_i in markers){ |
| | | var marker = markers[a_i]; |
| | | var marker_id = marker["id"]; |
| | | var mpoint = moralMap.getMpoint(marker_id); |
| | | if(mpoint!=null){ |
| | | mpoint.refreshState(marker["state"]); |
| | | } |
| | | if((!!parma["popupEquMacs"]&&!!parma["popupEquMacs"].length) |
| | | ||(!!parma["markerKeys"]&&!!parma["markerKeys"].length)){ |
| | | $.ajax({ |
| | | type: "post", |
| | | url: "get-real-state-data", |
| | | data:JSON.stringify(parma), |
| | | dataType:"json", |
| | | contentType:"application/json;charset=utf-8", |
| | | cache: false, |
| | | async: true, |
| | | success: function(data) { |
| | | if(data!=null&&typeof data === 'object') { |
| | | var resultMap = data["extData"]; |
| | | if(resultMap==null){ |
| | | return; |
| | | } |
| | | var markers = resultMap["markers"]; |
| | | var layer = resultMap["layer"]; |
| | | if(markers!=null&&markers.length>0){ |
| | | if(layer=="monitorpoints"){ |
| | | for(var a_i in markers){ |
| | | var marker = markers[a_i]; |
| | | var marker_id = marker["id"]; |
| | | var mpoint = moralMap.getMpoint(marker_id); |
| | | if(mpoint!=null){ |
| | | mpoint.refreshState(marker["state"]); |
| | | } |
| | | // mpoint.refreshState(4); |
| | | } |
| | | }else{ |
| | | for(var b_i in markers){ |
| | | var marker = markers[b_i]; |
| | | var marker_mac = marker["mac"]; |
| | | var equipment = moralMap.getEquipment(marker_mac); |
| | | if(equipment!=null){ |
| | | equipment.refreshState(marker); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(resultMap["popupEquStates"]!=null){ |
| | | listView.refreshState(resultMap["popupEquStates"]); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }else{ |
| | | for(var b_i in markers){ |
| | | var marker = markers[b_i]; |
| | | var marker_mac = marker["mac"]; |
| | | var equipment = moralMap.getEquipment(marker_mac); |
| | | if(equipment!=null){ |
| | | equipment.refreshState(marker); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(resultMap["popupEquStates"]!=null){ |
| | | listView.refreshState(resultMap["popupEquStates"]); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | </script> |