fengxiang
2018-03-15 59efc00b3c872c76f50317513ddd4a1574844960
src/main/webapp/js/moralmap.js
@@ -26,20 +26,20 @@
   /*
    * 根据mac地址获取version
    */
   moralMap.getVersion = function(mac){
      var version = null;
      $.ajax({
         type:"get",
         url:"getversion?mac="+mac,
         async:false,
         success:function(jsonData){
            if(jsonData!=null&&typeof jsonData=='object'){
               version = jsonData['version'];
            }
         }
      });
      return version;
   }
   // moralMap.getVersion = function(mac){
   //    var version = null;
   //    $.ajax({
   //       type:"get",
   //       url:"getversion?mac="+mac,
   //       async:false,
   //       success:function(jsonData){
   //          if(jsonData!=null&&typeof jsonData=='object'){
   //             version = jsonData['version'];
   //          }
   //       }
   //    });
   //    return version;
   // }
   /*
    * 百度地图初始化
    */
@@ -253,24 +253,38 @@
   moralMap.isPopupBoxShow = function(id) {
      return $(id).css('display') == 'block';
   }
   moralMap.onItermClick = function(index) {
   moralMap.onItermClick = function(index,select) {
      var row = moralMap.getPopupEqu(index);
        if(row['mac']==null){
            alert("mac项未配置,请联系管理员设置");
            return;
        }
      var equ = {
         name: row['name'],
         mac: (row['mac']).toLowerCase(),
         longitude: row['longitude'],
         latitude: row['latitude'],
         version:moralMap.getVersion(row['mac'])
      }
            version:row['deviceVersion']['version']
      };
      !!select?equ['monitorPointId'] = row["monitorPointId"]:null;
      var equStr = JSON.stringify(equ);
      if(window["console"]!=undefined){
         console.log(equStr);
        if(!!select&&select==='chart'){
            if(window['external']&&window['external']['showChartInfo']){
                window['external'].showChartInfo(equStr);
            }else{
                alert(equStr);
            }
      }
        if(window['external']&&window['external']['showMonitorInfo']){
           window['external'].showMonitorInfo(equStr);
        }else{
           alert(equStr);
        }
      else{
            if(window["console"]!=undefined){
                console.log(equStr);
            }
            if(window['external']&&window['external']['showMonitorInfo']){
                window['external'].showMonitorInfo(equStr);
            }else{
                alert(equStr);
            }
      }
   }
   moralMap.setPopupEqus = function(arr) {
      moralMap["_equs"] = arr;
@@ -346,7 +360,7 @@
               break;
            case 4:
               state = 'state04';
               stateName = '离线';
               stateName = '维保';
               break;
         }
         return {
@@ -402,7 +416,9 @@
                           }
                           name = name.substring(0, stop1) + "..." + name.substring(stop2, name.length);
                        }
                        var li = "<li id='listview_item_" + e['mac'] + "' onclick=moralMap.onItermClick(" + i + ")><span id='listview_state_" + e['mac'] + "' class='" + state + "'>" + stateName + "</span>" + name + "</li>";
                        var li = "<li id='listview_item_" + e['mac'] + "'><span class='list-chart-span' onclick=moralMap.onItermClick(\"" + i + "\",'chart')><img src='/img/chart.png'></span>"
                           +"<span id='listview_state_" + e['mac'] + "'class='" + state + "'>" + stateName + "</span>" +
                           "<div style='cursor: pointer;'  onclick=moralMap.onItermClick(\"" + i + "\")>" + name + "</div></li>";
                        outHtml += li;
                     }
                     outHtml += "</ul>";
@@ -452,7 +468,7 @@
         enableMassClear: true
      })
      //事件注册
      var eventType = ['click', 'mouseover', 'mouseout'];
      var eventType = ['click'];
      for(var index in eventType) {
         var eventName = eventType[index];
         if(_option[eventName] != undefined && typeof _option[eventName] == "function") {
@@ -466,9 +482,12 @@
      }
      return $.extend(this, {
         refreshState: function(state) {
            _option['state'] = state;
            var iconObj = _getMapIcon(state);
            this.setIcon(iconObj);
            //状态发生变化的时候刷新 图标
            if(_option['state'] != state){
                    _option['state'] = state;
                    var iconObj = _getMapIcon(state);
                    this.setIcon(iconObj);
            }
         },
         getOption: function() {
            return _option;
@@ -479,7 +498,7 @@
      })
   }
   //new BMap.Marker()这种写法IE7会报错,很奇葩
   moralMap.MoralMarker.prototype = BMap.Marker.prototype;
   moralMap.MoralMarker.prototype = new BMap.Marker();
   //监控点对象 包装Mark对象
   moralMap.Monitorpoint = function(option) {
      var icon = {};
@@ -605,7 +624,7 @@
      var dataHandle = {
         _getDataOutHtml: function(data) {
             if(data==null||data["state"]==4){
               return "<br/><h3>设备处于离线状态,暂时没有数据!</h3>";
               return "<br/><h3>设备正在维护升级,暂时没有数据!</h3>";
            }
            var mac = data['mac'];
            var itme_mac_key = "item-" + mac + "-" + key;
@@ -658,8 +677,14 @@
      if(moralMask["infoWindow"] == undefined) {
         moralMask["infoWindow"] = infoWindow;
      }
        var  mouseOverHandle = option['mouseover'];
      //弹窗打开和关闭
      moralMask.addEventListener("mouseover", function() {
         if(mouseOverHandle!=null&&mouseOverHandle instanceof  Function){
                //将arguments转换成数组
                var args = Array.prototype.slice.call(arguments);
                mouseOverHandle.apply(this, args);
         }
         moralMap.closeSearchBox();
         baiduMap.openInfoWindow(infoWindow, this._point); //开启信息窗口
         if(infoWindow.getContent() == "") {
@@ -736,11 +761,13 @@
   }
   //储存MonitorPoint对象
   moralMap.putEquipment = function(key, obj) {
      key = String.prototype.toLowerCase.call(key);
      if(moralMap['_equipments'] == undefined) {
         moralMap['_equipments'] = {};
      if(key!=null&&key!=""){
            key = String.prototype.toLowerCase.call(key);
            if(moralMap['_equipments'] == undefined) {
                moralMap['_equipments'] = {};
            }
            moralMap['_equipments'][key] = obj;
      }
      moralMap['_equipments'][key] = obj;
   }
   moralMap.getEquipment = function(key) {
      if(key == null){