admin:huo123456@qq
2019-01-21 d42cb45f8fc0932e9a0766f98c445635a85b22d3
gx_tieta/WebRoot/index.jsp
@@ -94,6 +94,11 @@
       body .layui-layer-dialog {
          min-width:400px;
       }
       .add-panel .addr {
          width: 210px;
          height: 22px;
          border: 1px solid #ccc;
       }
   </style>
   <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
   <script type="text/javascript" src="js/echarts.js"></script>
@@ -112,40 +117,72 @@
         
         <div class="nav-map small">
            <!-- 地图内容筛选  -->
            <div class="map-info-panel-left">
            <div class="map-info-panel-left w300">
               <div class="map-info-panel-content">
                  <div class="map-info">
                     <span>限制显示区域: </span><span class="k-point red" id="mapVsArea">中国</span>
                     <span class="mr5">机房显示类型:</span><span class="k-point red" id="mapIconStyle">全部</span>
                     <span class="map-info-btn-icon" id="showMapInfoDetail" title="详情"><i class="fa fa-angle-double-down"></i></span>
                  <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">
                     <table>
                        <tbody>
                           <tr>
                              <td class="w8em alg-c">限制显示区域:</td>
                              <td>
                                 <select name="mapVsAreaSel" id="mapVsAreaSel">
                                    <option>中国</option>
                                    <option>中国-广西</option>
                                 </select>
                              </td>
                           </tr>
                           <tr>
                              <td class="w8em alg-c">机房显示类型:</td>
                              <td>
                                 <select name="mapIconStyleSel" id="mapIconStyleSel">
                                    <option>全部</option>
                                    <option>已安装</option>
                                    <option>未安装</option>
                                 </select>
                              </td>
                           </tr>
                        </tbody>
                     </table>
                     <div class="map-info-footer alg-r">
                        <button type="button" class="mr10 map-panel-hide" value="确定" id="mapPanelEn">确定</button>
                        <button type="button" class="mr10 map-panel-hide" value="隐藏">隐藏</button>
                     <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="alg-c f-bold"><span class="mrl8">机房类型:</span></td>
                                       <td colspan="2" id="homeType">
                                          <span class="mrl8 mrr8"><input type="checkbox" value="2"  checked="checked">2V</span>
                                          <span><input type="checkbox" checked="checked" value="12">12V</span>
                                       </td>
                                    </tr>
                                    <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>
@@ -194,16 +231,21 @@
                  <i class="fa fa-cog"></i>
               </a>
            </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>
            <!--清除浮动-->
            <div class="clear"></div>
            <div class="pie-item-con">
               <!-- 机房停电 -->
               <div class="repair-pie module"></div>
               <!-- 电池状态饼状图 -->
               <div class="brdn-pie module"></div>
               <!-- 电池告警饼状图 -->
               <div class="warn-pie module"></div>
               <!--电池容量饼状图-->
               <div class="health-pie module"></div>
               <!-- 机房续航能力饼状图 -->
               <div class="endur-pie module"></div>
               <!--清除浮动-->
               <div class="clear"></div>
            </div>
         </div>
         <c:forEach var="cust" items="${sessionScope.custompages}">
         <c:if test="${cust.submenu eq 'My_work' && cust.subflag eq 1}">
@@ -365,12 +407,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>
@@ -378,6 +422,8 @@
   <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");
@@ -424,6 +470,15 @@
      
   ];
   
   // 设置页面中pie的模块
   ;(function() {
      var pieStatus = GLOBAL.Index.Pie.pieStatus;      // 查询饼状图显示的状态
      var pieItemCon = $('.pie-con .pie-item-con');
      pieItemCon.text('');
      var pieItems = pieStatus();
      pieItemCon.html(pieItems);
   })();
   
   
   var locationcity;
@@ -545,6 +600,11 @@
      $('#map').on('dblclick', '.explain-header', function() {
         return false;
      });
      $('.nav-map').on('click', '.explain-list input', function() {
         setMapImgStyles();
         updateStation(true);
      });
   });
   
   //创建指定元素下克隆表格头部
@@ -628,6 +688,7 @@
            //map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            // 添加地图类型控件
            map.addControl(new BMap.MapTypeControl());
            add_control();
            // 给地图添加工具条(地图-卫星-三维)和比例尺控件
            var bottom_left_control = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
            map.addControl(bottom_left_control);   // 添加比例尺到地图
@@ -691,7 +752,7 @@
                  }
               },
               {
                  text: '恢复正常',
                  text: '退出全屏显示',
                  callback: function(e) {
                     // console.info(e);
                     smallMap();
@@ -740,46 +801,35 @@
   }
   
   //需要实时查询的方法
   function Repeatoperation(){
      searchBattmaintrecords();
      searchUserTask();
      searchAnnounceall();
      searchTestsCale();
   function Repeatoperation(){
      // 判断页面是否正在被访问
      if(pageIsVisit) {
         searchBattmaintrecords();
         searchUserTask();
         searchAnnounceall();
         searchTestsCale();
      }
      setTimeout(Repeatoperation,10000);
   }
   
   $(function() {
      flushFourPie();
      if($('#content .brdn-pie').length>0){
         //生成电池状态饼状图
         var $brdn=$('#content .pie-con .brdn-pie');      //获取故障容器的jquery对象
         var brdn=$brdn.get(0);                     //将容器的jquery对象转化为dom对象
         brdnPie=echarts.init(brdn);                  //初始化表格容器
         brdnPie.showLoading();
      }
      if($('#content .repair-pie').length>0){
         var $repair=$('#content .pie-con .repair-pie');   //获取机房停电图容器的jquery对象
         var repair=$repair.get(0);   //将故障容器的jquery对象转化为dom对象
         repairPie=echarts.init(repair);   //初始化表格容器
         repairPie.showLoading();
      }
      flushFourPie(true);
   });
   
   //更新四种饼状图
   function flushFourPie(){
   function flushFourPie(create){
      var cityname = $('#panelCity').val();
      locationcity = getCityByName(cityname);
      if(create) {
         initPieObj();
      }
      searchalarm_data();         //查询告警率
      searchGood();            //查询健康率
      searchmaintByMap();         //查询电池状态
      searchBatt_maint_inf();      //查询机房停电比例
      searchEndurHome();         //查询续航饼状图
   }
   
   //查询最近的故障维护记录
@@ -886,20 +936,29 @@
      });
      
   }
   var warnPie;
   //查询告警信息并显示告警率
   function searchalarm_data(){
      if($('#content .warn-pie').length==0){
         return;
      }
      
      // 判断页面是否被访问
      if(!pageIsVisit) {
         setTimeout(searchalarm_data, 10000);
         return;
      }
      //生成电池告警率饼状图
      var $warn=$('#content .pie-con .warn-pie');   //获取告警容器的jquery对象
      if($warn.length!=0){
         var warn=$warn.get(0);   //将告警容器的jquery对象转化为dom对象
         var warnPie=echarts.init(warn);   //初始化图表容器
         window.warnPie = warnPie;
         warnPie.showLoading();
         var isEcharts = isObject(warnPie)?true:false;
         if(!isEcharts) {
            var warn=$warn.get(0);   //将告警容器的jquery对象转化为dom对象
            warnPie=echarts.init(warn);   //初始化图表容器
            warnPie.showLoading();
         }
         
         var cityname='';
         //console.info("="+locationcity.pinyin+"=");
@@ -926,6 +985,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),               // 充电电流 
@@ -969,38 +1030,69 @@
                  }
               //创建电池告警饼状图
               var warnTle="<s:text name='Battery_alarm_rate'/>";      /* 电池告警率 */
               createPie(warnPie,warnTle,Almarr);
               if(!isEcharts) {
                  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);
                     }
                  });
               }else {
                  var opts = getOpt(warnTle, Almarr);
                  warnPie.setOption(opts);
               }
               setTimeout(searchalarm_data, 10000)
               }
            });
      }      
   }
   
   var battstate_isExist = true;
   var brdnPie;
   //查询各个机房的电池状态
   function searchmaintByMap(){
      if($('#content .brdn-pie').length==0){
         return;
      }
      // 判断页面是否被访问
      if(!pageIsVisit) {
         setTimeout(searchmaintByMap, 10000);
         return;
      }
      // 判断是否为Echarts对象
      var isEcharts = isObject(brdnPie)?true:false;
      if(!isEcharts) {
         //生成电池状态饼状图
         var $brdn=$('#content .pie-con .brdn-pie');      //获取故障容器的jquery对象
         var brdn=$brdn.get(0);                     //将容器的jquery对象转化为dom对象
         brdnPie=echarts.init(brdn);                  //初始化表格容器
      }
      var brdnTle="<s:text name='Batte_state'/>";                  /* 电池状态 */
      $.post("Batt_rtstateAction!serchBattStateRate",null,function(data){
         var model=eval("("+data.result+")");
         //console.info(model);
         var maintarr = new Array();
         setBatt_list(maintarr,model.data);
         if(battstate_isExist){
         if(!isEcharts){
            //创建电池故障率状图
            createPie(brdnPie,brdnTle,maintarr);
            battstate_isExist = false;
            brdnPie.on('click', function(param) {
               console.info(param);
               window.open('elestatus.jsp?battstate='+param.dataIndex);
            });
         }else{
            brdnPie.setOption(getOpt(brdnTle, maintarr));
            //console.info("更新成功");
         }                  
         setTimeout("searchmaintByMap()",10000);
         setTimeout(searchmaintByMap, 10000);
      });
   }
   
@@ -1040,16 +1132,32 @@
      {state:4,value:"<s:text name='Average_charge'/>",color:'#800080'},               //均充
   ];
   
   var repairPie;
   var powercut_isNew = true;
   var repairPie;
   //查询机房停电状态
   function searchBatt_maint_inf(){
      if($('#content .repair-pie').length==0){
         return;
      }
      // 判断页面是否被访问
      if(!pageIsVisit) {
         setTimeout(searchBatt_maint_inf, 10000);
         return;
      }
      // 判断是否为Echarts对象
      var isEcharts = isObject(repairPie)?true:false;
      if(!isEcharts) {
         var $repair=$('#content .pie-con .repair-pie');   //获取机房停电图容器的jquery对象
         var repair=$repair.get(0);   //将故障容器的jquery对象转化为dom对象
         repairPie=echarts.init(repair);   //初始化表格容器
      }
      // 请求后台
      $.ajax({    
             type: "post",             
           url: "BattPower_offAction!serchPowerOff",
           //url: "BattPower_offAction!serchPowerOff",
           url: "Bts_station_stateAction_action_serchPowerOff",
           async:true,            
           dataType:'text',
           data:null,      
@@ -1060,25 +1168,25 @@
              //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){
                 //创建机房停电饼状图
                 powercut_isNew = false;
              if(!isEcharts){
                 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);
                 repairPie.setOption(opt);
              }              
              //console.info(repairPie);
              setTimeout("searchBatt_maint_inf()", 10000);
              setTimeout(searchBatt_maint_inf, 10000);
           },                 
           error:function(){
              //setTimeout("searchBatt_maint_inf()", 10000);
@@ -1087,23 +1195,33 @@
   }
   
   //查询健康率
   var healthPie;
   function searchGood(){
      if($('#content .health-pie').length==0){      
         return;
      }
      // 判断页面是否被访问
      if(!pageIsVisit) {
         setTimeout(searchGood, 10000);
         return;
      }
      //生成电池健康率
      var $health=$('#content .pie-con .health-pie');   //获取故障容器的jquery对象
      if($health.length!=0){
         var health=$health.get(0);   //将故障容器的jquery对象转化为dom对象
         var healthPie=echarts.init(health);   //初始化表格容器
         window.healthPie = healthPie;
         // 是否echarts对象
         var isEcharts = isObject(healthPie)?true:false;
         if(!isEcharts) {
            var health=$health.get(0);   //将故障容器的jquery对象转化为dom对象
            healthPie=echarts.init(health);   //初始化表格容器
            healthPie.showLoading();
         }
         var healthTle="<s:text name='Monomer_cap_health_rate'/>";         /* '电池健康率' */
         healthPie.showLoading();
         $.post("Battalarm_dataAction!serchGood",null,function(data){
            var model=eval("("+data.result+")");
            //console.info(model);
            var healthObj;
            //console.info(model);
            if(model.code==1){
               healthObj=[
                     {name:"单体容量健康",val:model.sum-model.data[0]-model.data[1],color:'#31CB36'},      /* '健康电池' */
@@ -1117,11 +1235,134 @@
                     {name:"单体容量更换",val:0,color:'#FF0000'}
                  ];
            }
            //创建电池故障饼状图
            createPie(healthPie,healthTle,healthObj);
            if(!isEcharts) {
               //创建电池故障饼状图
               createPie(healthPie,healthTle,healthObj);
               // 点击饼状图进行跳转
               healthPie.on('click', function(param) {
                  window.open('taskplan.jsp');   // 跳转到落后单体查询
               });
            }else {
               var opt = getOpt(healthTle, healthObj);
               healthPie.setOption(opt);
            }
            setTimeout(searchGood, 10000);
         });         
      }      
   }
   // 查询续航不足的机房数
   var endurPie;
   function searchEndurHome() {
      if($('#content .endur-pie').length==0){
         return;
      }
      // 判断页面是否被访问
      if(!pageIsVisit) {
         setTimeout(searchEndurHome, 10000);
         return;
      }
      //生成电池告警率饼状图
      var $endur=$('#content .pie-con .endur-pie');   //获取告警容器的jquery对象
      if($endur.length!=0){
         var isEcharts = endurPie?true:false;
         if(!isEcharts) {
            var endur=$endur.get(0);   //将故障容器的jquery对象转化为dom对象
            endurPie=echarts.init(endur);   //初始化表格容器
         }
         var endurTle="机房续航能力";         /* 机房续航能力 */
         // 查询后台内容
         $.ajax({
            type: 'post'
            ,async: true
            ,url: 'Batt_enduranceAction!serchByState_xuhang'
            ,data: null
            ,dataType: 'json'
            ,success: function(res) {
               var rs = JSON.parse(res.result);
               if(rs.code == 1) {
                  var data = rs.data;
                  var endurObj =[
                     {name:"续航不足1小时",val:data[0],color:'#FF0000'}
                     ,{name:"续航1~2小时",val:data[1],color:'#D1D105'}
                     ,{name:"续航2~3小时",val:data[2],color:'#31CB36'}
                     ,{name:"续航3小时以上",val:data[3],color:'#619FA7'}
                  ];
                  if(!isEcharts) {
                     //创建电池故障饼状图
                     createPie(endurPie,endurTle,endurObj);
                     // 点击饼状图进行跳转
                     endurPie.on('click', function(param) {
                        var str = '';
                        switch(param.dataIndex) {
                           case 0:
                              str = 'timelong=60';
                           break;
                           case 1:
                              str = 'timelong=120';
                           break;
                           case 2:
                              str = 'timelong=180';
                           break;
                           case 3:
                              str = 'is_stand=0';
                           break;
                        }
                        window.open('batt-life-manage.jsp?'+str);   // 跳转到落后单体查询
                     });
                  }else {
                     var opts = getOpt(endurTle, endurObj);
                     endurPie.setOption(opts);
                  }
               }
               setTimeout(searchEndurHome, 10000);
            }
         });
      }
   }
   // 初始化饼状图容器对象
   function initPieObj() {
      warnPie = false;
      brdnPie = false;
      repairPie = false;
      healthPie = false;
      endurPie = false;
   }
   //让地图和饼状图随浏览器窗口的改变而改变
   $(window).resize(function(){
      getMapHt();
      if(isObject(warnPie))
      {
         warnPie.resize();
      }
      if(isObject(brdnPie))
      {
         brdnPie.resize();
      }
      if(isObject(repairPie))
      {
         repairPie.resize();
      }
      if(isObject(healthPie)) {
         healthPie.resize();
      }
      if(isObject(endurPie)) {
         endurPie.resize();
      }
   });
   
   //查询所有的公告信息
   function searchAnnounceall(){
@@ -1150,15 +1391,12 @@
   //查询放电测试的比例
   function searchTestsCale(){
      if($('#content .discharge-test').length==0){
         //alert();
         return;
      }   
      //生成电池未放电比例图
      var $health=$('#content .discharge-test .test-pie');   //获取故障容器的jquery对象
      if($health.length!=0){
         var health=$health.get(0);   //将故障容器的jquery对象转化为dom对象
         //console.info(health);
         //healthPie.showLoading();
         var healthTle="<s:text name='Battery_discharge_scale_map'/>";         /* '电池放电比例图' */
         Batttest_Td=new Array();
         $.post("Batttestdata_infAction!searchTestsCale",$('#batttest_form').serialize(),function(data){
@@ -1405,10 +1643,7 @@
      });
   });
   
   $(window).resize(function() {
      console.log(123);
      getMapHt();
   });
   // 改变div的大小
   function changeDivBig(ele) {
      // 隐藏面板
@@ -1505,14 +1740,18 @@
   // 生成图标的说明
   function createIconExplain(mapEle) {
      var iconExplain = $('<div id="mapImgDesc" style="position:absolute;background-color: #fff; border: 1px solid #ccc; right: 10px; bottom: 10px; z-index: 99999"></div>');   // 地图图标说明容器
      var iconExplainHt = $('<div class="explain-header" style="padding:4px 8px; border-bottom:1px solid #ccc; background-color: #CDDCFA">地图图标说明<img src="image/explain-down.gif" style="float:right;"/></div>');
      var iconExplainHt = $('<div class="explain-header" style="padding:4px 8px; border-bottom:1px solid #ccc; background-color: #CDDCFA">图标显示与选择<img src="image/explain-down.gif" style="float:right;"/></div>');
      iconExplain.append(iconExplainHt);
      
      changeMapImgDesc(iconExplain, 'normal');
      
      mapEle.parent().append(iconExplain);
      
      // 统计机房状态个数
      updateMapIconBadge();
      
      // 设置地图图标种类
      setMapImgStyles();
   }
   // 切换地图图标说明
   function changeMapImgDesc(iconExplain, type) {
@@ -1529,47 +1768,136 @@
   
   // 普通机房描述
   function mapImgDescNormal(iconExplain) {
      // 机房落后
      // 掉站机房
      var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
      var input = $('<input type="checkbox" checked="checked">');
      var icon = $('<img src="'+mapImages.behind+'">');
      var span = $('<span>电池组落后机房</span>');
      var input = $('<input type="checkbox" data-img="item-timeout" 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 input = $('<input type="checkbox" checked="checked">');
      var icon = $('<img src="'+mapImages.warn+'">');
      var span = $('<span>电池组告警机房</span>');
      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 input = $('<input type="checkbox" data-img="item-xuhang" checked="checked">');
      var icon = $('<img src="'+mapImages.xuhang+'">');
      var span = $('<span>续航不足机房</span>');
      var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-xuhang">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 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 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" checked="checked">');
      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);
      //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" checked="checked">');
      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-xuhang');         // 续航不足3小时机房
      // console.log(warn.length);
      //  请求后台数据
      $.ajax({
         type: 'post'
         ,async: true
         ,url: 'Bts_station_stateAction_action_serchStationState'
         ,data: null
         ,dataType: 'json'
         ,success:function(res) {
            var rs = JSON.parse(res.result);
            console.log(rs);
            powercut.text(rs.sum);      // 停电数
            down.text(rs.code);      // 掉站数
            behind.text(rs.msgN);   // 落后机房
            warn.text(rs.msg);      // 告警机房
            weak.text(rs.msgT);      // 续航不足3小时
            /* var normalNum = Number(rs.newsum) - (Number(rs.sum)+Number(rs.code)+Number(rs.msgN)+Number(rs.msg));
            normal.text(normalNum); */   // 正常机房
         }
      });
   }
   
   // 61850描述
   function mapImgDesc61850(iconExplain) {
@@ -1656,14 +1984,13 @@
   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);
         
@@ -1695,14 +2022,60 @@
         
         mkList.push(mk);
         // 向地图添加覆盖物
         map.addOverlay(mk);
         if(isShow) {
            map.addOverlay(mk);
         }
      }
   }
   // 更新地图图标
   function updateMapDotIcon(map, dotList, isTop) {
      var homeType = getHomeType();
      // 遍历查询内容生成对应的图标
      for(var i = 0; i<dotList.length; i++) {
         var isAcType = checkHomeType(dotList[i].type, homeType);
         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&&isAcType?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]);
@@ -1715,6 +2088,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++) {
@@ -1934,10 +2336,10 @@
         var content = '<div class="add-panel">'+
            '<div style="padding: 6px 4px"><span>地址:</span>'+
            '<span class="addr">'+addComp.province+'-'+addComp.city+'-'+addComp.district+'-'+addComp.street+'</span></div>'+
            '<input type="text" class="addr" value="'+addComp.province+'-'+addComp.city+'-'+addComp.district+'-'+addComp.street+'"></div>'+
            '<div style="padding: 6px 4px">经度:<span class="lng">'+rs.point.lng+'</span>,纬度:<span class="lat">'+rs.point.lat+'</span></div>'+
            '<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<select style="border: 1px solid #ccc; width: 180px">'+options+'</select></div>'+
            '<div style="padding: 6px 4px; margin-top: 20px">'+
            '<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<select style="border: 1px solid #ccc; width: 180px;height: 22px;">'+options+'</select></div>'+
            '<div style="padding: 6px 4px; margin-top: 15px">'+
            '<a href="javascript:getAddHomeInfo();" class="map-panel-btn">确定</a></div>'
         +'</div>';
@@ -1953,7 +2355,9 @@
   function getAddHomeInfo() {
      var lng = $('.add-panel .lng').text();                        // 获取经度
      var lat = $('.add-panel .lat').text();                        // 获取纬度
      var addr = $('.add-panel .addr').text();                     // 获取地址
      var wgsPoint = GPS.bd2wgs(lat, lng);                        // 百度地图坐标转化为GPS
      var addr = $('.add-panel .addr').val();                     // 获取地址
      var homeName = $('.add-panel select option:selected').text();      // 机房名称
      var homeId = $('.add-panel select option:selected').val();         // 机房ID
      if(homeId !=0 && confirm("确认将"+homeName+"机房设置到该位置吗?")){
@@ -1961,8 +2365,8 @@
            StationId:homeId,         //机房编号
            StationName:homeName,      //机房名称
            Address:addr,            //机房物理信息
            longitude:lng,            // 经度
            latitude:lat,            // 纬度
            longitude: wgsPoint.lon,            // 经度
            latitude: wgsPoint.lat,            // 纬度
            information:"",            //备注
         };
         var json = JSON.stringify(temp);
@@ -2045,6 +2449,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可视区域,以地理坐标表示  
@@ -2170,16 +2584,15 @@
      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",            
@@ -2192,27 +2605,31 @@
            // 获取结果集
            var rs = JSON.parse(data.result);
            var list = rs.data;
            // console.log(list);
            //console.log(list);
            allStation = new Array();
            if(list!=undefined && list.length>0){
               // 设置分页信息
               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();
               }
            }
           }             
@@ -2222,9 +2639,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;
@@ -2242,9 +2661,23 @@
   }
   
   // 轮询更新地图的点查询
   function updateStation() {
   var updateTimeout;
   var updateLoad;
   function updateStation(isLoad) {
      var bmap = GLOBAL.BMap;      // BMap的命名空间
      var updateStationData = [];
      // 判断是否被访问
      if(!pageIsVisit) {
         // 关闭并添加延时执行
           clearInterval(updateTimeout);
           updateTimeout = setTimeout(updateStation, 4000);
      }
      if(isLoad) {
         updateLoad = layer.load(1);
      }
      $.ajax({
         type: "post",
         url: "BattMap_informationAction!searchUserManageStation2",            
@@ -2252,30 +2685,30 @@
           dataType:'json',
           data: "json="+JSON.stringify(mapPages),
           success: function(result) {
              layer.close(updateLoad);
              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);
                 updateStationData.push(_list);
                 //_list.msg = 'item-nuclear_cap';
                 // 判断是否更新
                 if(mapPages.pageNew) {
                    bmap.updateDots(_list);
                 }
              }
              //console.log(updateStationData);
              createMapDot(map, updateStationData, true);
              updateMapDotIcon(map, updateStationData, true);
              // 更新分页信息
              mapPages.pageCurr++;
              if(mapPages.pageCurr>mapPages.pageNum || updateStationData.length<mapPages.pageSize) {
                 mapPages.pageCurr=1;
                 mapPages.pageNew=false;
              }
              // 关闭并添加延时执行
              clearInterval(updateTimeout);
              updateTimeout = setTimeout(updateStation, 4000);
              
              setTimeout(updateStation, 4000);
           }
      });
   }
@@ -2284,21 +2717,40 @@
   function formatUpdateStation(list) {
      var obj = {};
      var data = list.data;
      // 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;
      obj.addr = data.Address;
      obj.msg = list.msg;
      obj.num = list.num;
      obj.num = data.num;
      obj.type = data.monvolstd;
      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('面板信息查询失败!');
@@ -2318,14 +2770,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 = {
@@ -2467,7 +2922,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);
   }
   // 定位到历史数据页面
@@ -2475,27 +2933,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);
   }
   // 定位到机房详细信息页面
@@ -2611,6 +3091,8 @@
                  //console.info(allStation);
                  console.info(allStation);
                  var temp = getStationMap(allStation, mk.point);
                  console.info(temp);
                  temp.StationName = temp.title;
                  if(confirm("确认从地图上删除'"+temp.title+"'的位置信息吗?")){
                     if(temp != undefined){
                        var json = JSON.stringify(temp);
@@ -2829,25 +3311,6 @@
   
   $(function() {
      searchProvince();
   });
   //让地图和饼状图随浏览器窗口的改变而改变
   $(window).resize(function(){
      if(warnPie != undefined)
      {
         warnPie.resize();
      }
      if(brdnPie != undefined)
      {
         brdnPie.resize();
      }
      if(repairPie != undefined)
      {
         repairPie.resize();
      }
      if(healthPie != undefined) {
         healthPie.resize();
      }
   });
   
   // 点击切换内容
@@ -2910,103 +3373,19 @@
      var rs = new Object();
      rs.normal = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_normal}";   // 普通机房图标
      rs.behind = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_behind}";   // 落后图标
      //rs.diaozhan = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_diaozhan}";   // 延时机房图标
      rs.timeout = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_timeout}";   // 延时机房图标
      rs.warn = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_warn}";   // 告警机房图标
      rs.nuclear = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_nuclear_cap}";   // 核容放电
      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.defaults = mapDefults;
      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}";
      rs.xuhang = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:Chart_xuhang}";
      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({    
@@ -3204,8 +3583,14 @@
          case 'item-behind':    // 落后
             rs = imgs.behind;
             break;
          case 'item-diaozhan':
             rs = imgs.timeout;  // 掉站
             break;
          case 'item-timeout':   // 延时
             rs = imgs.timeout;
             break;
          case 'item-poff':   // 停电
             rs = imgs.powercut;
             break;
          case 'item-dev_alarm':   // 61850告警
             rs = imgs.devalarm;
@@ -3218,6 +3603,9 @@
             break;
          case 'item-pre_charge':   // 61850预充电
             rs = imgs.precharge;
             break;
          case 'item-xuhang':      // 续航不足
             rs = imgs.xuhang;
             break;
          default:
             rs = imgs.defaults;
@@ -3401,10 +3789,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() {
@@ -3428,6 +3817,11 @@
               type: 1
            });
            $(this).prop('checked', false);
         }else if(num == 0) {
            layerMsg = layer.msg("至少选择一个!", {
               type: 1
            });
            $(this).prop('checked', true);
         }
         
      });
@@ -3446,34 +3840,43 @@
              data:null,      
              success: function(data){ 
               var model = eval('('+data.result+')');
               var resData;
               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);
                        }
                     });
                  });
                  resData = result[0];
               }else {
                  resData = {
                     echarts1_enable:1,
                     echarts2_enable:1,
                     echarts3_enable:1,
                     echarts4_enable:1
                  };
               }
               
               // 格式获取到的数据
               var formatData = formatPieRsData(resData);
               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);
                     }
                  });
               });
                }             
         });
      }
@@ -3523,6 +3926,7 @@
      
      // 更新当前用户设置饼状图的使能状态
      function updateUserBieState(temp, dialog, load){
         var pieItemCon = $('.pie-con .pie-item-con');
         // 更新后台数据
         $.ajax({    
              type:"post",                         
@@ -3532,9 +3936,22 @@
              data:'json='+JSON.stringify(temp),      
              success: function(data){ 
                 layer.closeAll();
               var model = eval('('+data.result+')');
               if(model.code == 1) {
                  // 更具temp的值设置饼状图的内容
                    var formaterTmp = GLOBAL.Index.Pie.formaterPieStauts(temp);
                    //console.log(formaterTmp);
                    var pieItems = GLOBAL.Index.Pie.getPieList(formaterTmp);
                    //console.log(pieItems);
                    pieItemCon.text('');
                    pieItemCon.append(pieItems);
                    // 设置高度
                    getMapHt();
                    // 更新饼状图
                    flushFourPie(true);
                  layer.msg('配置成功!!!');
               }else {
                  layer.msg('配置失败!!!');
@@ -3543,9 +3960,14 @@
         });
      }
      
      // 地图左上方面板模块
      var mapViewArea = GLOBAL.BMap.mapViewArea;   // 地图显示区域的信息
      // 点击面板上方的小图标显示设定信息
      // 根据权限更新地图工具内容
      var permitAddHome = getPermit('batt_map_edit_permit', permits);   // 添加机房的权限
      // 没有添加机房的权限
      if(!permitAddHome) {
         $('#permitAddHome').remove();
      }
      // 地图左上方面板模块-点击面板上方的小图标显示设定信息
      $('#showMapInfoDetail').click(function() {
         $('.map-info-detail').slideToggle();
      });
@@ -3555,50 +3977,200 @@
         $('.map-info-detail').slideUp();
      });
      
      // 遍历mapViewArea获取mapVsAreaSel下拉框的值
      var mapVsAreaSel = $('#mapVsAreaSel');
      var mapVsAreaSelOpts = [];
      for(var i=0; i<mapViewArea.length; i++) {
         var _data = mapViewArea[i];
         var tmp = getOptionsData(_data.name, _data.area, _data);
         mapVsAreaSelOpts.push(tmp);
      }
      // 生成面板中的mapVsAreaSel
      createOptions(mapVsAreaSel, mapVsAreaSelOpts);
      // 显示默认区域-中国
      setMapViewArea(mapViewArea[0]);
      centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
      // 点击面板确定按钮
      $('#mapPanelEn').click(function() {
         var areaData = mapVsAreaSel.find('option:selected').data('attr');
         // 设置头部可视区域的文本
         $('#mapVsArea').text(areaData.name);
         // 设置可视区域
         setMapViewArea(areaData);
      // 内容改变初始话$('#mapToolSearchBtn').data('homeInfo')的值
      $( "#mapToolSearch" ).on('input propertychange', function(){
         $('#mapToolSearchBtn').data('homeInfo', 0);
      });
      
      // 设置地图的可视区域
      function setMapViewArea(data) {
         var left = new BMap.Point(data.left.lng, data.left.lat);
         var right = new BMap.Point(data.right.lng, data.right.lat);
         var b = new BMap.Bounds(left, right);
         var cLng = (data.left.lng+data.right.lng)/2;
         var cLat = (data.left.lat+data.right.lat)/2;
         var f = new BMap.Point(cLng, cLat);
         map.panTo(f, {
                noAnimation: "no"
            });
         try {
            BMapLib.AreaRestriction.setBounds(map, b);
         } catch (e) {
            alert(e);
      // 定义机房查询信息
      $( "#mapToolSearch" ).autocomplete({
         source: [],
         select: function(event, ui) {
            $('#mapToolSearchBtn').data('homeInfo', ui.item);   // 设置机房信息内容
         }
      });
      // 点击机房类型复选框
      $('#homeType input[type=checkbox]').click(function() {
         var homeType = getHomeType();
         getInstallNum();
         updateStation(true);
      });
      // 点击查看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);
               //console.log(rs);
               if(rs.code == 1) {
                  var txt = getInstallNumByType(rs.data,getHomeType());
                  // 更新文本值
                  $('#installnum').text(txt);
               }
            }
         });
      }
      // 更具选择机房的类型返回文本
      function getInstallNumByType(data,type) {
         var rs = '未知/未知';
         switch(type) {
            case 0:
               rs = '0/0';
            break;
            case 2:
               rs = data[0]+'/'+data[1];
            break;
            case 12:
               rs = data[2]+'/'+data[3];
            break;
            case 14:
               rs = data[4]+'/'+data[5];
            break;
         }
         return rs;
      }
   });
   // 0=全部不选 14=全部选中 2=选中2V 12=选中12V
   function getHomeType() {
      var boxList = $('#homeType input[type=checkbox]')
      var rs = 0;      // 全部
      boxList.each(function() {
         if($(this).is(':checked')) {
            rs += Number($(this).val());
         }
      });
      return rs;
   }
   // 检测当前机房是否符合2V或12V
   function checkHomeType(homeType, type) {
      var rs = false;
      var _homeType = Number(homeType);
      if(type == 14 || homeType == type) {
         rs = true;
      }
      return rs;
   }
   // 更新地图工具搜索机房
   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);
   }
   // 添加地图控件
   function add_control(){
      var bottom_left_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT});
      map.addControl(bottom_left_navigation);
   }
   </script> 
</html>