hdw
2018-11-26 1a779120d9bcd4a50fe02ca792cb87c98ccf775b
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,72 @@
      <jsp:include page="nav.jsp" flush="true"/>
      <!--导航结束-->
      <div id="content">
         <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"><span class="mrl8">机房名称:</span></td>
                                           <td><input type="text" id="mapToolSearch"></td>
                                       <td class="w54 btn-container">
                                          <button type="button" value="搜索" id="mapToolSearchBtn" class="mrr8"><i class="fa fa-search page-link"></i></button>
                                       </td>
                                    </tr>
                                    <tr>
                                           <td colspan="3" class="btn-container">
                                              <span class="mrl8">已安装设备数/设备总数:<span id="installnum">12/600</span><i id="installnumbtn" class="fa fa-refresh mrl8 page-link" title="刷新"></i></span>
                                           </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 class="china-map" id="map">
               <div class="img-change" style="display:none;">
@@ -137,13 +214,17 @@
         
         <!-- 电池故障与电池告警饼状图 -->
         <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="repair-pie module"></div>
            <!-- 电池故障饼状图 -->
            <div class="brdn-pie module"></div>
            <!-- 电池告警饼状图 -->
            <div class="warn-pie module"></div>
            <!--电池故障修复图-->
            <div class="repair-pie module"></div>
            <!--电池健康饼状图-->
            <div class="health-pie module"></div>
            <!--清除浮动-->
@@ -309,17 +390,23 @@
      </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>
   <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" src="src/layui.all.js"></script>
   <script type="text/javascript" src="pages/js/pages/homeInfo.js"></script>
   <script type="text/javascript">
   var permits;
   <%   Object obj=session.getAttribute("permits");
@@ -339,6 +426,7 @@
   var search;
   var warnOpts;
   //console.info(BMap);
   var mapDefults = new Image().src = 'image/mapDefault.gif';
   var mapImages = getMapImageUrl();
   // 定义省-市资源内容
   var area = [
@@ -479,12 +567,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 +658,7 @@
            centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
            map.enableScrollWheelZoom();
            map.disableDoubleClickZoom();
            map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            //map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            // 添加地图类型控件
            map.addControl(new BMap.MapTypeControl());
            // 给地图添加工具条(地图-卫星-三维)和比例尺控件
@@ -607,6 +699,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();
@@ -621,21 +724,17 @@
                  }
               },
               {
                  text: '恢复正常',
                  text: '退出全屏显示',
                  callback: function(e) {
                     // console.info(e);
                     smallMap();
                  }
               },
               {
                  text: '设置中心点',
                  callback: function(e) {
                     myConfirm.show({
                        title: '设置地图默认显示位置',
                        content: '是否确认修改地图默认中心坐标',
                        enfun:updateMapCenterPoint,
                        enparams:[e]
                     });
                  text: '返回中心点',
                  callback: function(e){
                     centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
                  }
               }
            ];
@@ -860,6 +959,8 @@
                        Almarr.push(/*{
                        name:"<s:text name='Capacity'/><s:text name='Alarm'/><s:text name='Alarm'/>",val:parseInt(data.BattGroupId)         // 容量告警告警                            
                        } ,*/{
                           name:"<s:text name='On-line_voltage'/>",val:parseInt(data.Record_Id),            // 在线电压
                        },{
                           name:"<s:text name='Group_voltage'/>",val:parseInt(data.MonNum),               // 组端电压 
                        },{
                           name:"<s:text name='Charging_current'/>",val:parseInt(data.alm_id),               // 充电电流 
@@ -904,6 +1005,15 @@
               //创建电池告警饼状图
               var warnTle="<s:text name='Battery_alarm_rate'/>";      /* 电池告警率 */
               createPie(warnPie,warnTle,Almarr);
               warnPie.on('click', function(param) {
                  // 0:在线电压   1:组端电压   2:充电电流   3:放电电流  4:单体电压  5:容量告警
                  if(param.dataIndex == 5) {
                  }else {
                     window.open('elewarn.jsp?warntype='+param.dataIndex+'&warntxt='+param.name);
                  }
               });
               }
            });
      }      
@@ -983,7 +1093,8 @@
      }
      $.ajax({    
             type: "post",             
           url: "BattPower_offAction!serchPowerOff",
           //url: "BattPower_offAction!serchPowerOff",
           url: "Bts_station_stateAction_action_serchPowerOff",
           async:true,            
           dataType:'text',
           data:null,      
@@ -994,10 +1105,12 @@
              //console.info(model);
              if((model.sum>=0) && (model.newsum>=0) && (model.newsum>=model.sum)){
                 repairObj=[{name:"<s:text name='Computer_room'/><s:text name='Power_cut'/>",val:model.sum,color:'#FF0000'},                     /*已停电机房*/
                        {name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.newsum-model.sum,color:'#31CB36'}];         /* 未停电机房 */
                        {name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.newsum-model.sum,color:'#31CB36'},   /* 未停电机房 */
                        {name:"机房掉站", val: model.code}];
              }else{
                 repairObj=[{name:"<s:text name='Computer_room'/><s:text name='Power_cut'/>",val:0,color:'#FF0000'},                           /* 已停电机房 */
                        {name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.sum,color:'#31CB36'}];                  /* '未修复' */
                        {name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.sum,color:'#31CB36'},
                        {name:"机房掉站", val: model.code}];                  /* '未修复' */
              }
              var repairTle="<s:text name='Computer_room'/><s:text name='Power_cut'/>";      /* '机房停电' */
              if(powercut_isNew){
@@ -1005,7 +1118,7 @@
                 powercut_isNew = false;
                 createPie(repairPie,repairTle,repairObj);
                 repairPie.on('click', function() {
                  window.open('powercut.jsp?power_state=0');
                  window.open('batt-state-manage.jsp');
               });
              }else{
                 var opt = getOpt(repairTle, repairObj);
@@ -1053,6 +1166,11 @@
            }
            //创建电池故障饼状图
            createPie(healthPie,healthTle,healthObj);
            // 点击饼状图进行跳转
            healthPie.on('click', function(param) {
               window.open('taskplan.jsp');   // 跳转到落后单体查询
            });
         });         
      }      
   }
@@ -1340,6 +1458,7 @@
   });
   
   $(window).resize(function() {
      console.log(123);
      getMapHt();
   });
   // 改变div的大小
@@ -1443,9 +1562,11 @@
      
      changeMapImgDesc(iconExplain, 'normal');
      
      mapEle.prepend(iconExplain);
      mapEle.parent().append(iconExplain);
      // 设置地图图标种类
      setMapImgStyles();
   }
   // 切换地图图标说明
   function changeMapImgDesc(iconExplain, type) {
      iconExplain.find('.explain-list').remove();
@@ -1461,39 +1582,103 @@
   
   // 普通机房描述
   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 span = $('<span>电池落后机房</span>');
      var icon = $('<img src="'+mapImages.behind+'">');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-behind">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      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 span = $('<span>电池告警机房</span>');
      var icon = $('<img src="'+mapImages.warn+'">');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-warn">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      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 input = $('<input type="checkbox" data-img="item-down" checked="checked">');
      var icon = $('<img src="'+mapImages.timeout+'">');
      var span = $('<span>掉站机房</span>');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-down">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      //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>');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-powercut">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      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.normal+'" 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-normal" checked="checked">');
      var icon = $('<img src="'+mapImages.normal+'">');
      var span = $('<span>正常机房</span>');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-normal">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      iconExplain.append(iconList);
      // 续航不足3小时机房
      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-weak" checked="checked">');
      var icon = $('<img src="'+mapImages.normal+'">');
      var span = $('<span>续航不足3小时机房</span>');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-weak">0</a>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconList.append(badge);
      //iconExplain.append(iconList);
   }
   // 更新地图图标badge的值
   function updateMapIconBadge() {
      var mapImgDesc = $('#mapImgDesc');
      var behind = mapImgDesc.find('.badge-behind');      // 电池落后机房
      var warn = mapImgDesc.find('.badge-warn');         // 电池告警机房
      var down = mapImgDesc.find('.badge-down');         // 掉站机房
      var powercut = mapImgDesc.find('.badge-powercut');   // 停电机房
      var normal = mapImgDesc.find('.badge-normal');      // 正常机房
      var weak = mapImgDesc.find('.badge-weak');         // 续航不足3小时机房
   }
   
   // 61850描述
   function mapImgDesc61850(iconExplain) {
@@ -1501,16 +1686,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 +1703,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,17 +1762,16 @@
   }
   
   // 生成地图图标
   function createMapDot(map, dotList) {
   function createMapDot(map, dotList, isTop) {
      // 清空覆盖物和对应的mk点
      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);
         
@@ -1612,16 +1796,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]);
@@ -1634,6 +1867,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++) {
@@ -1738,7 +2000,7 @@
   
   function showMapPanel(target, warnList) {
      var point = target.point;
      console.log(target.getLabel());
      //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) {
@@ -1770,7 +2032,7 @@
      var opts = {
         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,
@@ -1872,6 +2134,8 @@
   function getAddHomeInfo() {
      var lng = $('.add-panel .lng').text();                        // 获取经度
      var lat = $('.add-panel .lat').text();                        // 获取纬度
      var wgsPoint = GPS.bd2wgs(lat, lng);                        // 百度地图坐标转化为GPS
      var addr = $('.add-panel .addr').text();                     // 获取地址
      var homeName = $('.add-panel select option:selected').text();      // 机房名称
      var homeId = $('.add-panel select option:selected').val();         // 机房ID
@@ -1880,8 +2144,8 @@
            StationId:homeId,         //机房编号
            StationName:homeName,      //机房名称
            Address:addr,            //机房物理信息
            longitude:lng,            // 经度
            latitude:lat,            // 纬度
            longitude: wgsPoint.lon,            // 经度
            latitude: wgsPoint.lat,            // 纬度
            information:"",            //备注
         };
         var json = JSON.stringify(temp);
@@ -1964,6 +2228,16 @@
      // 根据可视范围显示坐标点
      var dots = [];
      var currMarkers = {};
      // 初始化
      function init() {
         dots = [];
         currMarkers = {};
      }
      // init函数绑定到GLOBAL.BMap下
      gl.BMap.init = init;
      // 查询当前范围内容的图标
      function queryInRect(map, callback) {
         var cp = map.getBounds(); // 返回map可视区域,以地理坐标表示  
@@ -2083,22 +2357,21 @@
   
   var allStation = [];
   var mapPages = {
      pageSize:100,             // 每页的行数
      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",            
@@ -2117,21 +2390,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();
               }
            }
           }             
@@ -2141,9 +2418,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;
@@ -2172,6 +2451,7 @@
           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);
@@ -2183,16 +2463,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);
           }
      });
   }
@@ -2201,9 +2481,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;
@@ -2213,15 +2496,27 @@
      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('面板信息查询失败!');
         return;
      }
      var temp = {
         StationId: stationInfo.sId
      };
@@ -2236,14 +2531,17 @@
            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('+data.data.StationId+');">基站信息</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 = {
@@ -2385,7 +2683,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);
   }
   // 定位到历史数据页面
@@ -2393,27 +2694,49 @@
      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);
   }
   // 定位到机房详细信息页面
@@ -2834,96 +3157,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({    
@@ -3112,6 +3350,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;
@@ -3120,6 +3361,9 @@
             break;
          case 'item-timeout':   // 延时
             rs = imgs.timeout;
             break;
          case 'item-poff':   // 停电
             rs = imgs.powercut;
             break;
          case 'item-dev_alarm':   // 61850告警
             rs = imgs.devalarm;
@@ -3132,6 +3376,9 @@
             break;
          case 'item-pre_charge':   // 61850预充电
             rs = imgs.precharge;
             break;
          default:
             rs = imgs.defaults;
             break;
       }
       
@@ -3311,5 +3558,295 @@
         addrAnalyze(posTxt);
      });
   });
   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() {
         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给rs值重定义
         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 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;
      }
      // 点击设备安装状态的刷新按钮
      $('#installnumbtn').click(function() {
         getInstallNum(true);
      });
      // 统计设备安装情况
      getInstallNum();
      // 获取当前已经安装的设备数目
      function getInstallNum(isLoad) {
         var load;
         // 查询后台数据
         $.ajax({
            type: 'post',
            async:true,
            url: 'BattInfAction!serchDevice',
            data: null,
            dataType: 'json',
            beforeSend:  function(xhr) {
               if(isLoad) {
                  load = layer.load(1);
               }
            },
            complete: function(xhr) {
               layer.close(load);
            },
            success: function(result) {
               // 格式化数据
               var rs = JSON.parse(result.result);
               var txt = rs.newsum+'/'+rs.sum;
               // 更新文本值
               $('#installnum').text(txt);
            }
         });
      };
   });
   // 更新地图工具搜索机房
   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>