|  |  | 
 |  |  | <%@ 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" /> | 
 |  |  | 
 |  |  |    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; | 
 |  |  | 
 |  |  |    function showEqus(obj) { | 
 |  |  |       var params = moralMap['params']; | 
 |  |  |       var mpoint = obj.currentTarget.getOption(); | 
 |  |  |       var url = 'equipment/findAllEqu?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; | 
 |  |  |       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); | 
 |  |  |                         } | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  | 
 |  |  |    } | 
 |  |  |    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 = { | 
 |  |  |                               name: _obj['name'], | 
 |  |  |                               mac: (_obj['mac']).toLowerCase(), | 
 |  |  |                               longitude: _obj['longitude'], | 
 |  |  |                               latitude: _obj['latitude'], | 
 |  |  |                                version:moralMap.getVersion(_obj['mac']) | 
 |  |  |                                version:_obj['deviceVersion']['version'] | 
 |  |  |                            } | 
 |  |  |                            var equStr = JSON.stringify(equ); | 
 |  |  |                            if(window["console"]!=undefined){ | 
 |  |  | 
 |  |  |        } | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |   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){ | 
 |  |  | 
 |  |  |            paramMap["Ge"]=  bounds['Ge'];//东北角经度,大一点 | 
 |  |  |            paramMap["Ke"]=  bounds['Ke'];//西北角纬度坐标,小一点 | 
 |  |  |            paramMap["Le"]=  bounds['Le'];//西北角经度坐标,小一点 | 
 |  |  |             loadLazy("getmonitorpoints",paramMap,addOverMpoints); | 
 |  |  |             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);  | 
 |  |  |       } | 
 |  |  |    ) | 
 |  |  |    //跳转表单页面按钮事件 | 
 |  |  |    $(".charts_btn").click( | 
 |  |  |        function (e) { | 
 |  |  |             if(window['external']&&window['external']['showChartInfo']){ | 
 |  |  |                 window['external'].showChartInfo(""); | 
 |  |  |             }else{ | 
 |  |  |                 alert(""); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |    ); | 
 |  |  |    //页面刷新 | 
 |  |  |  | 
 |  |  | })(jQuery); | 
 |  |  | 
 |  |  |          } | 
 |  |  |          setTimeout(function(){ | 
 |  |  |             refreshAllState(); | 
 |  |  |          },2000); | 
 |  |  |          },5000); | 
 |  |  |     } | 
 |  |  |     function stopRefreshPage(){ | 
 |  |  |         window.clearInterval(_intervalNum); | 
 |  |  | 
 |  |  |         parma["orgId"] = moralMap['params']["orgId"]; | 
 |  |  |         $.ajax({ | 
 |  |  |          type: "post", | 
 |  |  |          url: "getstatesformap", | 
 |  |  |          url: "get-real-state-data", | 
 |  |  |          data:JSON.stringify(parma), | 
 |  |  |          dataType:"json", | 
 |  |  |          contentType:"application/json;charset=utf-8", |