hdw
2018-11-15 a3b330e8997ccc9ed7475b5e30d28afcb0270914
gx_tieta/WebRoot/index.jsp
@@ -24,10 +24,12 @@
    
    <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" />
@@ -37,7 +39,7 @@
   <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
@@ -94,7 +96,6 @@
       }
   </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>
   
@@ -108,21 +109,69 @@
      <jsp:include page="nav.jsp" flush="true"/>
      <!--导航结束-->
      <div id="content">
         <!-- <div id="mapStatusOpts" class="map-status-container">
            <div class="layui-form layui-form-pane">
               <label class="layui-form-label">机房类型</label>
               <div class="layui-input-inline">
                  <select name="warnType" id="warnType">
                      <option value="0">全部</option>
                      <option value="1">落后</option>
                      <option value="2">告警</option>
                      <option value="3">延时</option>
                      <option value="4">正常</option>
                  </select>
         <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">机房名称:</td>
                                           <td><input type="text" id="mapToolSearch"></td>
                                    </tr>
                                    <tr>
                                           <td colspan="2" class="alg-r btn-container">
                                              <button type="button" value="搜索" id="mapToolSearchBtn" class="mrr8">搜索</button>
                                           </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> -->
         <div class="nav-map small">
            <!-- 电池分布图 -->
            <div class="china-map" id="map">
               <div class="img-change" style="display:none;">
@@ -338,12 +387,14 @@
      </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>
@@ -351,6 +402,7 @@
   <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">
   var permits;
   <%   Object obj=session.getAttribute("permits");
@@ -370,6 +422,7 @@
   var search;
   var warnOpts;
   //console.info(BMap);
   var mapDefults = new Image().src = 'image/mapDefault.gif';
   var mapImages = getMapImageUrl();
   // 定义省-市资源内容
   var area = [
@@ -510,12 +563,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();
      });
   });
   
@@ -597,7 +654,7 @@
            centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
            map.enableScrollWheelZoom();
            map.disableDoubleClickZoom();
            map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            //map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            // 添加地图类型控件
            map.addControl(new BMap.MapTypeControl());
            // 给地图添加工具条(地图-卫星-三维)和比例尺控件
@@ -638,6 +695,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();
@@ -658,15 +726,11 @@
                     smallMap();
                  }
               },
               {
                  text: '设置中心点',
                  callback: function(e) {
                     myConfirm.show({
                        title: '设置地图默认显示位置',
                        content: '是否确认修改地图默认中心坐标',
                        enfun:updateMapCenterPoint,
                        enparams:[e]
                     });
                  text: '返回中心点',
                  callback: function(e){
                     centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
                  }
               }
            ];
@@ -1371,6 +1435,7 @@
   });
   
   $(window).resize(function() {
      console.log(123);
      getMapHt();
   });
   // 改变div的大小
@@ -1474,9 +1539,11 @@
      
      changeMapImgDesc(iconExplain, 'normal');
      
      mapEle.prepend(iconExplain);
      mapEle.parent().append(iconExplain);
      // 设置地图图标种类
      setMapImgStyles();
   }
   // 切换地图图标说明
   function changeMapImgDesc(iconExplain, type) {
      iconExplain.find('.explain-list').remove();
@@ -1494,35 +1561,55 @@
   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);
      // 停电机房
      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>');
      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.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>');
      iconList.append(input);
      iconList.append(span);
      iconList.append(icon);
      iconExplain.append(iconList);
   }
   
@@ -1532,16 +1619,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);
      
@@ -1549,16 +1636,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);
   }
   
@@ -1608,17 +1695,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);
         
@@ -1643,16 +1729,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]);
@@ -1665,6 +1800,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++) {
@@ -1903,6 +2067,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
@@ -1911,8 +2077,8 @@
            StationId:homeId,         //机房编号
            StationName:homeName,      //机房名称
            Address:addr,            //机房物理信息
            longitude:lng,            // 经度
            latitude:lat,            // 纬度
            longitude: wgsPoint.lon,            // 经度
            latitude: wgsPoint.lat,            // 纬度
            information:"",            //备注
         };
         var json = JSON.stringify(temp);
@@ -1995,6 +2161,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可视区域,以地理坐标表示  
@@ -2114,22 +2290,21 @@
   
   var allStation = [];
   var mapPages = {
      pageSize:1000,             // 每页的行数
      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",            
@@ -2148,21 +2323,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();
               }
            }
           }             
@@ -2172,9 +2351,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;
@@ -2203,7 +2384,7 @@
           data: "json="+JSON.stringify(mapPages),
           success: function(result) {
              var data = JSON.parse(result.result);
              console.log(data);
              //console.log(data);
              for(var i=0; i<data.length; i++) {
                 var _data = data[i];
                 var _list =  formatUpdateStation(_data);
@@ -2215,16 +2396,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);
           }
      });
   }
@@ -2233,9 +2414,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;
@@ -2245,9 +2429,22 @@
      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('面板信息查询失败!');
@@ -2267,14 +2464,16 @@
            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();">基站信息</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 = {
@@ -2416,7 +2615,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);
   }
   // 定位到历史数据页面
@@ -2424,33 +2626,220 @@
      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);
   }
   // 定位到机房详细信息页面
   function loadToHomeInfo() {
      var stationId = $('.ipt-hide').eq(1).val();
      //window.open('homeinfor.jsp?stationId='+stationId);
   }
   // 显示机房信息
   function showHomeInfo() {
      var sid = $('.ipt-hide.sid').val();
      var temp = {
         StationId: sid
      };
      // 查询基站的信息
      $.ajax({
         type: 'post',
         async: true,
         url: 'BattInfAction!serchBattAllInfoByStationId',
         data: 'json='+JSON.stringify(temp),
         dataType: 'json',
         success: function(result) {
            var rs = JSON.parse(result.result);
            if(rs.code == 1) {
               var data = rs.data;
               //console.log(data);
               var rsData = formatHomeInfo(data);
               $('#homeInfoIframeData').data('data', rsData);
               // 显示面板
               layer.open({
                  type: 2,
                  title: '<i class="fa fa-home"></i>基站信息',
                  area: ['960px', '524px'],
                  fixed: false, //不固定
                  maxmin: true,
                  content: 'iframe/homeinfo.html'
               });
            }else {
               layer.msg('暂无基站信息!');
            }
         }
      });
   }
   // 格式化机房信息数据
   function formatHomeInfo(data) {
      var groupDefaults = {
         homeid: '',
         homename: '',
         homeip: '',
         groupid: '',
         groupname: '',
         ordernum: '',
         brand: '',
         model: '',
         monproperty: '',
         startusetime: '',
         chargecurr: '',
         chargevol: '',
         equipeinfo: '',
         person: ''
      };
      var homeDefaults = {
      };
      var rs = {
         tabc:[]
      };
      var tabc = rs.tabc;
      // 遍历data生成机房的值
      for(var i=0; i<data.length; i++) {
         var _data = data[i];
         var tmp = {};
         tmp.title = '电池组'+(i+1)+'信息';
         tmp.type = 'group';
         tmp.content = $.extend({}, groupDefaults);
         tmp.tshow = '';
            tmp.cshow = '';
         if(i==0) {
            tmp.tshow = 'layui-this';
               tmp.cshow = 'layui-show';
         }
         // 设置content的值
         var content = tmp.content;
         content.homeid = _data.StationId;             // 机房id
         content.homename = _data.StationName;         // 机房名称
         content.homeip = _data.StationIp;            // 机房ip
         content.groupid = _data.BattGroupId;         // 电池组id
         content.groupname = _data.BattGroupName;      // 电池组名称
         content.ordernum = _data.GroupIndexInFBSDevice+1;// 电池组编号
         content.brand = _data.BattProducer;            // 电池品牌
         content.model = _data.BattModel;
         var monproperty = '标称容量:'+_data.MonCapStd+'AH'+';标称单体电压:'+_data.MonVolStd+'V'+';标称内阻:'+_data.MonResStd.toFixed(3)+'mΩ'
                     +';标称温度:'+_data.MonTmpStd+'℃'+';单体数量:'+_data.MonCount+'节';
         content.monproperty = monproperty;
         content.startusetime = new Date(_data.BattInUseDate).format('yyyy-MM-dd');
         content.chargecurr = _data.BattFloatCurrent;
         content.chargevol = _data.FloatVolLevel;
         var equipeinfo = '型号:'+_data.FBSDeviceName+';ID:'+_data.FBSDeviceId
                     +';IP:'+_data.FbsDeviceIp+';BIndex:'+_data.GroupIndexInFBSDevice;
         content.equipeinfo = equipeinfo;
         content.person = '';
         tabc.push(tmp);
      }
      var StationId_ex = data[0].StationId_ex;
      var homeData = data[0].binf_ex;
      var tmp = {};
      tmp.title = '基站信息';
      tmp.type = 'home';
      tmp.content = $.extend({}, homeDefaults);
      tmp.tshow = '';
        tmp.cshow = '';
        // 设置content的值
      var content = tmp.content;
      content.stationid = StationId_ex;
      content.stationname = homeData.stationName;
      content.homeid = homeData.stationId;
      content.organize = homeData.affiliation;
      content.datasource = homeData.dataSources;
      content.addrstyle = homeData.stationType;
      var position = '经度:'+homeData.longitude+';纬度:'+homeData.latitude;
      content.position = position;
      content.addr = homeData.stationAddr;
      var blockedState = homeData.blockedState?'是': '否';
      var stationstatus = '站址等级:'+homeData.stationLevel+';维护状态:'+homeData.maintenanceState+';封锁状态:'+blockedState;
      content.stationstatus = stationstatus;
      content.maintain = homeData.maintenanceCompany;
      var environment = '业务场景:'+homeData.businessScenario+';覆盖场景:'+homeData.CoverScenario+';站址地形:'+homeData.siteTerrain;
      content.environment = environment;
      var isShare = homeData.isShare?'是':'否';
      var addrpower = '产权性质:'+homeData.propertyRights+';(原)产权单位:'+homeData.propertyUnit+';是否共享:'+isShare;
      content.addrpower = addrpower;
      content.usecompany = homeData.useUnit;
      content.physicsaddrnum = homeData.siteCode;
      content.hisphysicsaddrnum = homeData.historySiteCode;
      content.addrinsidenum = homeData.siteInternalNumber;
      content.addrpinyin = homeData.sitePinyinReferred;
      content.chinesename = homeData.siteChineseReferred;               // 中文简称
      content.isopenbusiness = homeData.isOpenBusiness;
      content.entryperson = homeData.schoolPersonnel;
      content.entrytime = homeData.entryTime;
      content.revisedperson = homeData.modifyPeople;
      content.revisedtime = homeData.modifyTime;
      content.remark = homeData.note;
      var addrMark = homeData.siteReceivesMark?'是':'否';
      var isEffe = homeData.siteValidity?'是':'否';
      var isactive = '站址接收标记:'+addrMark+';是否有效:'+isEffe;
      content.isactive = isactive;
      content.yidongaddrname = homeData.siteNameCMCC;
      content.dianxinaddrname = homeData.siteNameCTC;
      content.liantongaddrname = homeData.siteNameCUCC;
      content.brand = homeData.producer;
      content.endurtime = homeData.lastTimeLong;
      content.endurstyle = homeData.lastTimeType;
      content.endurstarttime = homeData.lastTimeDate;
      content.shareinfo = homeData.shareInfo;
      var buystauts = "移动购买:"+(homeData.electPowerCMCC==1?'是':'否')+";电信购买:"+(homeData.electPowerCTC==1?'是':'否')+";联通购买:"+(homeData.electPowerCUCC==1?'是':'否');
      content.buystatus = buystauts;
      var ischarge = homeData.isCanElectPower==1?'是':'否';
      content.ischarge = ischarge;
      content.distance = homeData.upperStationRoute;
      content.degree = homeData.upperStationDifficult;
      content.repair = homeData.clienteleErrorService;
      tabc.push(tmp);
      // 返回结果集
      return rs;
   }
   
   // 获取echarts对象的opt 
@@ -2865,96 +3254,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({    
@@ -3143,6 +3447,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;
@@ -3151,6 +3458,9 @@
             break;
          case 'item-timeout':   // 延时
             rs = imgs.timeout;
             break;
          case 'item-poff':   // 停电
             rs = imgs.powercut;
             break;
          case 'item-dev_alarm':   // 61850告警
             rs = imgs.devalarm;
@@ -3163,6 +3473,9 @@
             break;
          case 'item-pre_charge':   // 61850预充电
             rs = imgs.precharge;
             break;
          default:
             rs = imgs.defaults;
             break;
       }
       
@@ -3343,10 +3656,11 @@
      });
   });
   
   layui.use(['form', 'layer', 'laytpl'], function() {
   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() {
@@ -3485,6 +3799,115 @@
         });
      }
      
      // 根据权限更新地图工具内容
      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;
      }
   });
   // 更新地图工具搜索机房
   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>