main.js
3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
!function(){
var gpsOff = 1000 * 60 * 5;
var homeObject = {
init:function(){
//初始化主页
var lineArray = _data.getLines();
//3条线路1 tab 拆分
var tabData = [], len = lineArray.length;
var ids,names,subArray;
for(var i = 0; i < len;){
subArray = lineArray.slice(i, i += 3);
ids = '';
names = '';
$.each(subArray, function(j, op){
ids += op.id + '_';
names += op.name + ',';
});
tabData.push({id: ids, name: names, array: subArray});
}
var homeHtmlStr = template('line_control_home_temp', {tabList: tabData});
$('#tab_home').html(homeHtmlStr);
//计算高度 40 页脚
var ah = $('#top-tabs-wrap .tab-content').height() - 40 - 5;
$('.card_wrap').css('height', ah / 3);
//滚动条
$('.card_wrap .table_wrap').slimscroll({
height: '187px',
alwaysVisible: true,
opacity: .8
});
//SVG线路图
$.each(lineArray, function(i, obj){
_data.queryStationRoute( obj.lineCode, 'line_chart_' + obj.lineCode , drawSvg.initHomeSvg);
});
$('.line_chart .top .top-remark').slimscroll({
height: '47px'
});
//模拟图GPS刷新事件
$('#tab_home').on('gps_refresh', function(e, add, up){
//现在先每次全量画
var list = _data.findAllGps();
_data.attachSchedulInfo(list);
//drawSvg.drawVehicle(list);
//按线路分组
var listMap = groupByLine(list);
for(var key in listMap){
var htmlStr = template('home_table_temp', {list: listMap[key]});
$('#tab_' + key).find('tbody').html(htmlStr);
//更新badge
$('#'+key+'_badge').text('( ' + listMap[key].length + ' )');
drawSvg.clear();
drawSvg.drawVehicle(listMap[key]);
}
});
setTimeout(function(){
//打开GPS定时刷新
_data.startRefreshGpsTimer();
//去掉loading
$('.load-anim').fadeOut();
$('menu.menu').show();
}, 400);
}
}
setTimeout(function(){
//生成头部选项卡
var topTabs = '', tabPanels = '';
$.each(_data.getLines(), function(i, line){
topTabs += '<li ><a data-id="'+line.lineCode+'" href="#tab_line_'+line.lineCode+'" data-toggle="tab" '+
'aria-expanded="false"> '+line.name+'<span>(<zz>0</zz>,<zz>0</zz> <zz>托管</zz>)</span> </a></li>';
tabPanels += '<div class="tab-pane fade tab_line" data-id="'+line.lineCode+'" id="tab_line_'+line.lineCode+'"></div>';
});
$('#top-tabs-wrap .nav-tabs').append(topTabs);
$('#top-tabs-wrap .tab-content').append(tabPanels);
//加载地图页数据
$('#tab_map').load('/pages/mapmonitor/real/real.html');
//初始化单线路调度页面
_alone.init(function(){
//初始化信使
_messenger.init();
//初始化主页
homeObject.init();
});
//监控模式下,拦截post请求
if(operationMode == 0){
$(document).on('ajaxSend', interceptPOST);
}
}, 300)
function gpslistToMap(gpslist){
var map = {}
for(var i = 0, gps; gps = gpslist[i++];){
map[gps.deviceId] = gps;
}
return map;
}
function groupByLine(gpsArray){
var rs = {}, gps;
$.each(gpsArray, function(){
key = this.lineId + '_' + this.upDown;
if(!rs[key])
rs[key] = [];
rs[key].push(this);
});
return rs;
}
}();