hdw
2018-10-29 a66640923f167432ee85c672cdf175e5a0bb7eba
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" />
@@ -83,9 +85,17 @@
         overflow-y: auto; 
         overflow-x: hidden;
       }
       .BMapLib_bubble_content a {
          color: #2A3AF0;
       }
       .BMapLib_bubble_content a:hover {
          text-decoration: underline;
       }
       body .layui-layer-dialog {
          min-width:400px;
       }
   </style>
   <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
   <script type="text/javascript" src="js/echarts.js"></script>
   <script type="text/javascript" src="js/createTab.js"></script>
   
@@ -99,20 +109,35 @@
      <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="map-info-panel-left">
            <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>
               </div>
               <div class="map-info-detail">
                  <table>
                     <tbody>
                        <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>
               </div>
            </div>
         </div> -->
         </div>
         <div class="nav-map small">
            <!-- 电池分布图 -->
            <div class="china-map" id="map">
@@ -153,7 +178,11 @@
         
         <!-- 电池故障与电池告警饼状图 -->
         <div class="pie-con">
            <div class="pie-conf">
               <a href="javascript:;" class="pie-btn" id="faCog"  title="图表配置">
                  <i class="fa fa-cog"></i>
               </a>
            </div>
            <!-- 电池故障饼状图 -->
            <div class="brdn-pie module"></div>
            <!-- 电池告警饼状图 -->
@@ -330,6 +359,7 @@
   <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="js/panel.js"></script>
   <script type="text/javascript" src="js/search.js"></script>
   <script type="text/javascript" src="js/changePinYin.js"></script>
@@ -356,6 +386,7 @@
   var search;
   var warnOpts;
   //console.info(BMap);
   var mapDefults = new Image().src = 'image/mapDefault.gif';
   var mapImages = getMapImageUrl();
   // 定义省-市资源内容
   var area = [
@@ -583,7 +614,7 @@
            centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
            map.enableScrollWheelZoom();
            map.disableDoubleClickZoom();
            map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            //map.setMapStyle({style: 'grayscale'});   //  设置地图的风格
            // 添加地图类型控件
            map.addControl(new BMap.MapTypeControl());
            // 给地图添加工具条(地图-卫星-三维)和比例尺控件
@@ -624,6 +655,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();
@@ -644,17 +686,13 @@
                     smallMap();
                  }
               },
               {
                  text: '设置中心点',
                  text: '返回中心点',
                  callback: function(e) {
                     myConfirm.show({
                        title: '设置地图默认显示位置',
                        content: '是否确认修改地图默认中心坐标',
                        enfun:updateMapCenterPoint,
                        enparams:[e]
                     });
                     centerMapByPoint(map);
                  }
               }
               },
            ];
            //console.info(getPermit('taskchange_edit_permit', permits)+"*******");
            if(getPermit('batt_map_edit_permit', permits)) {
@@ -1357,6 +1395,7 @@
   });
   
   $(window).resize(function() {
      console.log(123);
      getMapHt();
   });
   // 改变div的大小
@@ -1594,7 +1633,7 @@
   }
   
   // 生成地图图标
   function createMapDot(map, dotList) {
   function createMapDot(map, dotList, isTop) {
      // 清空覆盖物和对应的mk点
      mkList = [];
      
@@ -1629,6 +1668,11 @@
            //showMapPanel(target, dotList);
            searchPanelInfo(target);
         });
         if(isTop) {
            mk.setTop(true);
         }
         mkList.push(mk);
         // 向地图添加覆盖物
         map.addOverlay(mk);
@@ -1755,7 +1799,7 @@
   
   function showMapPanel(target, warnList) {
      var point = target.point;
      console.log(target.getLabel());
      //console.log(target.getLabel());
      var searchInforWin = null;
      for(var i = 0; i < warnList.length; i++) {
         if(warnList[i].lng == point.lng && warnList[i].lat == point.lat) {
@@ -2100,7 +2144,7 @@
   
   var allStation = [];
   var mapPages = {
      pageSize:100,             // 每页的行数
      pageSize:50,             // 每页的行数
      pageCurr:1,              // 当前页码数
      pageAll:1,               // 数目
      pageNum: 0,
@@ -2189,6 +2233,7 @@
           data: "json="+JSON.stringify(mapPages),
           success: function(result) {
              var data = JSON.parse(result.result);
              //console.log(data);
              for(var i=0; i<data.length; i++) {
                 var _data = data[i];
                 var _list =  formatUpdateStation(_data);
@@ -2200,11 +2245,12 @@
                 }
              }
              
              createMapDot(map, updateStationData);
              //console.log(updateStationData);
              createMapDot(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;
              }
@@ -2238,7 +2284,6 @@
         alert('面板信息查询失败!');
         return;
      }
      var temp = {
         StationId: stationInfo.sId
      };
@@ -2851,6 +2896,7 @@
      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;
      return rs;
   }
   /* $(function(){
@@ -3129,6 +3175,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;
@@ -3149,6 +3198,9 @@
             break;
          case 'item-pre_charge':   // 61850预充电
             rs = imgs.precharge;
             break;
          default:
             rs = imgs.defaults;
             break;
       }
       
@@ -3329,8 +3381,161 @@
      });
   });
   
   layui.use(['form'],function() {
      var form = layui.form();
   layui.use(['form', 'layer', 'laytpl'], function() {
      var form = layui.form;
      var layer = layui.layer;
      var laytpl = layui.laytpl;
      // 点击饼状图配置
      $('#faCog').click(function() {
         searchUserBieState();   // 查询当前饼状图的配置状态
      });
      var layerMsg;
      // 点击配置项复选框
      $('body').on('click', '#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]', function(event) {
         layer.close(layerMsg);
         var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]');
         var num = 0;
         iptList.each(function() {
            if($(this).is(':checked')) {
               num++;
            }
         });
         if(num>4) {
            layerMsg = layer.msg("最多选择四个!", {
               type: 1
            });
            $(this).prop('checked', false);
         }
      });
      var pie = GLOBAL.Index.Pie;
      var pieType = pie.pieType;
      var pieConfTpl =  getTpl('iframe/pie-config.html');
      //查询当前用户设置饼状图的使能状态
      function searchUserBieState(){
         $.ajax({
              type:"post",
              url: "Echarts_usrAction!serchByCondition",
              async:true,
              dataType:'json',
              data:null,
              success: function(data){
               var model = eval('('+data.result+')');
               if(model.code == 1) {
                  var result = model.data;
                  var formatData = formatPieRsData(result[0]);
                  laytpl(pieConfTpl).render(formatData, function(html) {
                     layer.open({
                        id: 'pie',
                        title: '饼状图配置',
                        maxHeight: 450,
                        content: html,
                        yes: function(index) {
                           var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]');
                           var iptArr = [];
                           iptList.each(function() {
                              if($(this).is(':checked')) {
                                 iptArr.push(1);
                              }else {
                                 iptArr.push(0);
                              }
                           });
                           var temp = structUpdatePie(iptArr);
                           layer.load();
                           updateUserBieState(temp);
                        }
                     });
                  });
               }
                }
         });
      }
      // 格式化查询结果
      function formatPieRsData(result) {
         var data={};
         data.tblData=[];
         // 遍历pieType的类型
         for(var i=0; i<pieType.length; i++) {
            var tmp = {};
            var num = i+1;
            var key = 'echarts'+num+'_enable';
            tmp.name = pieType[i].name;
            tmp.status = result[key];
            data.tblData.push(tmp);
         }
         return data;
      }
      // 构造更新饼状图参数
      function structUpdatePie(arr) {
         var rs = {
            echarts1_enable:0,
            echarts2_enable:0,
            echarts3_enable:0,
            echarts4_enable:0,
            echarts5_enable:0,
            echarts6_enable:0,
            echarts7_enable:0,
            echarts8_enable:0,
            echarts9_enable:0,
            echarts10_enable:0
         };
         // 遍历arr给rs值重定义
         for(var i=0; i<arr.length; i++) {
            var num = i+1;
            var key = 'echarts'+num+'_enable';
            rs[key] = arr[i];
         }
         return rs;
      }
      // 更新当前用户设置饼状图的使能状态
      function updateUserBieState(temp, dialog, load){
         // 更新后台数据
         $.ajax({
              type:"post",
              url: "Echarts_usrAction!add",
              async:true,
              dataType:'json',
              data:'json='+JSON.stringify(temp),
              success: function(data){
                 layer.closeAll();
               var model = eval('('+data.result+')');
               if(model.code == 1) {
                  layer.msg('配置成功!!!');
               }else {
                  layer.msg('配置失败!!!');
               }
              }
         });
      }
      var mapViewArea = GLOBAL.BMap.mapViewArea;
      // 显示默认区域-中国
      setMapViewArea(mapViewArea[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);
         try {
            BMapLib.AreaRestriction.setBounds(map, b);
         } catch (e) {
            alert(e);
         }
      }
   });
   </script> 
</html>