hdw
2018-09-28 dd3b23f7dd793c2eb1aa971aac76d3740bac7565
地图设置 历史数据管理 电池组全部时为0
2个文件已修改
115 ■■■■ 已修改文件
gx_tieta/WebRoot/dataManage.jsp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/index.jsp 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/dataManage.jsp
@@ -742,6 +742,7 @@
                
                // 根据数据生成下拉列表
                createOptions($select, optsList, true);
                $select.find('option:selected').eq(0).val(0);
            }else{
                $("#battgroup_name").text('').html('<option>暂无可测蓄电池组</option>');
            }
gx_tieta/WebRoot/index.jsp
@@ -597,7 +597,6 @@
                    
                    flushFourPie();        //更新四种饼状图
                });
                // 设置右键菜单
                var menu = new BMap.ContextMenu();
                var txtMenuItem = [
@@ -632,17 +631,7 @@
                                enparams:[e]
                            });
                        }
                    },
                    /* {
                        text: '机房定位',
                        callback: function(e) {
                            panel.setPanelLayout();
                            panel.showPanel();
                            $('#map .panel-mask').bind('click', function() {
                                panel.hidePanel();
                            });
                        }
                    } */
                    }
                ];
                //console.info(getPermit('taskchange_edit_permit', permits)+"*******");
                if(getPermit('batt_map_edit_permit', permits)) {
@@ -1594,6 +1583,7 @@
    function createMapDot(map, dotList) {
        // 清空覆盖物和对应的mk点
        mkList = [];
        // 遍历查询内容生成对应的图标
        for(var i = 0; i < dotList.length; i++) {
            var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[0].msg), new BMap.Size(36, 30));    // 设置图片
@@ -1624,6 +1614,9 @@
            map.addOverlay(mk);
        }
    }
    
    // 
    
@@ -1966,10 +1959,86 @@
        }
    }
    
    searchStation();
    // 设置页面中的可视区域图标
    ;(function($, window, document, gl, undefined) {
        // 设置命名空间
        gl.namespace('BMap');
        // 根据可视范围显示坐标点
        var dots = [];
        var currMarkers = {};
        // 查询当前范围内容的图标
        function queryInRect(map, callback) {
            var cp = map.getBounds(); // 返回map可视区域,以地理坐标表示
            var sw = cp.getSouthWest(); // 返回矩形区域的西南角
            var ne = cp.getNorthEast(); // 返回矩形区域的东北角
            //var zoom = map.getZoom(); //当前缩放级别
            //console.log(dots);
            var mapDots = getDotsList(sw, ne);
            callback(map, mapDots);
        }
        // 获取dots的集合
        function getDotsList(sw, ne) {
            var rs = [];
                swlng=sw.lng,
                swlat=sw.lat,
                nelng=ne.lng,
                nelat=ne.lat;
                var maxLng = sw.lng>ne.lng?sw.lng:ne.lng;
                var minLng = sw.lng<ne.lng?sw.lng:ne.lng;
                var maxLat = sw.lat>ne.lat?sw.lat:ne.lat;
                var minLat = sw.lat<ne.lat?sw.lat:ne.lat;
                for(var i=0; i<dots.length; i++) {
                    var dot = dots[i];
                    var lat = dot.lat;
                    var lng = dot.lng;
                    var sId = dot.binformation.StationId;
                    var isExist = checkMarker(sId);
                    // 未被添加过
                    if(!isExist) {
                        // 判断经纬度是否存在该区域
                        if(lng<maxLng && lng>minLng && lat<maxLat && lat>minLat) {
                            currMarkers['markers'+sId] = sId;
                            rs.push(dot);
                        }
                    }
                }
                return rs;
        }
        // 检测当前点是否已经被添加过
        function checkMarker(id) {
            var flag = false;
            // 遍历已经添加的点返回是否已经被添加过
            Object.keys(currMarkers).forEach(function(key) {
                if(currMarkers[key] == id) {
                    flag = true;
                }
            });
            return flag;
        }
        // 设置dots集合的值
        function setDots(data) {
            dots = data;
        }
        // 将变量绑定到命名空间下
        gl.BMap.setDots = setDots;
        // 将函数绑定到命名空间下
        gl.BMap.queryInRect = queryInRect;
    })(jQuery, window, document, GLOBAL);
    searchStation(true);
    var allStation;
    //查询机房
    function searchStation(){
    function searchStation(setRect){
        var temp = createSearchParam();
        var json = JSON.stringify(temp);
        commonDot = new Array();
@@ -1980,7 +2049,7 @@
            type: "post",                 
            //url: "BattMap_informationAction!searchAll",                
            url: "BattMap_informationAction!searchUserManageStation",                
            async:true,
            async: true,
            dataType:'text',
            data:"json="+json,        
            success: function(data){ 
@@ -1989,7 +2058,7 @@
                console.log(list.length);
                allStation = new Array();
                if(list!=undefined && list.length>0){
                    for(var i=0;i<10;i++){
                    for(var i=0;i<list.length;i++){
                        var tmp = {
                            binformation:list[i].data,
                            alarm_num:list[i].code,        //告警数目
@@ -1999,10 +2068,17 @@
                        };
                        allStation.push(analyzeData(tmp));
                    }
                    //console.info(allStation);
                    createMapDot(map, allStation);
                    // 显示区域的图标
                    GLOBAL.BMap.setDots(allStation);
                    GLOBAL.BMap.queryInRect(map,createMapDot);
                    // 是否设置拖到和缩放
                    if(setRect) {
                        map.addEventListener("moveend", GLOBAL.BMap.queryInRect.bind({},map, createMapDot));  // 拖动
                        map.addEventListener("zoomend", GLOBAL.BMap.queryInRect.bind({},map, createMapDot)); // 缩放
                    }
                    
                    //setTimeout(searchStation, 4000);
                    //createMapDot(map, allStation);
                }
            }                 
        });