Commit 839a2e4ce8f00ba2eb64de2a40bab6e9e1ffeea2

Authored by 王通
1 parent 857068ac

1.‘肇事’改成‘事故’

src/main/resources/static/real_control_v2/alone_page/home/alone_data_basic.js
1 -/* 基础数据管理模块 */  
2 -  
3 -var gb_data_basic = (function () {  
4 -  
5 - var stationRoutes, lineCode2NameAll, lineInformations, nbbm2deviceMap, device2nbbmMap, allPersonnel, svgAttrs;  
6 - var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", "nbbm2deviceId", "all_personnel", "svg_attrs"  
7 - , function (routes, code2Name, informations, nbbm2device, all_personnel, svgAttrMap) {  
8 - stationRoutes = routes;  
9 - lineCode2NameAll = code2Name;  
10 - lineInformations = informations;  
11 - nbbm2deviceMap = nbbm2device;  
12 - device2nbbmMap = gb_common.inverse(nbbm2deviceMap);  
13 - allPersonnel = all_personnel;  
14 - svgAttrs = svgAttrMap;  
15 -  
16 - res_load_ep.emitLater('data-basic');  
17 - });  
18 -  
19 - var storage = window.localStorage;  
20 - //激活的线路  
21 - var activeLines = JSON.parse(storage.getItem('lineControlItems'));  
22 - //lineCode to line object  
23 - var codeToLine = {};  
24 - //lineCode idx string  
25 - var line_idx = (function () {  
26 - var str = '';  
27 - for (var i = 0, item; item = activeLines[i++];) {  
28 - str += (',' + item.lineCode);  
29 - codeToLine[item.lineCode] = item;  
30 - }  
31 - return str.substr(1);  
32 - })();  
33 -  
34 - //站点路由  
35 - gb_common.$get('/stationroute/multiLine', {lineIds: line_idx}, function (rs) {  
36 - var list = rs.list;//JSON.parse(rs.list);  
37 - var routeData = gb_common.groupBy(list, 'lineCode');  
38 - //排序  
39 - for (var lineCode in routeData) {  
40 - routeData[lineCode].sort(stationRouteSort);  
41 - }  
42 - ep.emit('stationRoutes', routeData);  
43 - });  
44 -  
45 - //线路标准信息  
46 - /*gb_common.$get('/lineInformation/line/multi', {lineCodes: line_idx}, function (rs) {  
47 - var informations = {};  
48 - $.each(rs, function () {  
49 - informations[this.line.lineCode] = this;  
50 - delete this['line'];  
51 - });  
52 - ep.emit('lineInformations', informations);  
53 - });*/  
54 - ep.emit('lineInformations', {});  
55 -  
56 - //人员信息  
57 - ep.emit('all_personnel', {});  
58 - /*loadAllPersonnel(function (data) {  
59 - ep.emit('all_personnel', data);  
60 - });  
61 - function loadAllPersonnel(cb) {  
62 - $.get('/personnel/all_py', function (rs) {  
63 - //转换成自动补全组件需要的数据  
64 - var data = [], code;  
65 - for(var i =0, p; p = rs[i++];){  
66 - code = p['workId'].indexOf('-')!=-1?p['workId'].split('-')[1]:p['workId'];  
67 - data.push({  
68 - value: code + '/' + p.name,  
69 - fullChars: p.fullChars.toUpperCase(),  
70 - camelChars: p.camelChars.toUpperCase()  
71 - });  
72 - }  
73 - cb && cb(data);  
74 - });  
75 - }*/  
76 -  
77 - var carparks = {};  
78 - //停车场数据  
79 -/* gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {  
80 - rs.list.sort(function (a, b) {  
81 - return a.parkName.localeCompare(b.parkName);  
82 - });  
83 - $.each(rs.list, function () {  
84 - carparks[this.parkCode] = this;  
85 - });  
86 - });*/  
87 -  
88 - //车辆数据  
89 - var carsArray;  
90 - /*$.get('/basic/cars?t=' + Math.random(), function (rs) {  
91 - carsArray = rs;  
92 - });*/  
93 -  
94 - var getCarparkByCode = function (code) {  
95 - return carparks[code];  
96 - };  
97 -  
98 - //line code to name  
99 - $.get('/basic/lineCode2Name', function (rs) {  
100 - ep.emit('lineCode2Name', rs);  
101 - });  
102 -  
103 - //nbbm to device id  
104 - $.get('/basic/nbbm2deviceId', function (rs) {  
105 - ep.emit('nbbm2deviceId', rs);  
106 - });  
107 - //nbbm to 车牌号  
108 - var nbbm2PlateMap;  
109 - $.get('/basic/nbbm2PlateNo', function (rs) {  
110 - nbbm2PlateMap = rs;  
111 - });  
112 -  
113 - //模拟图属性数据  
114 - gb_common.$get('/realSchedule/svgAttr', {idx: line_idx}, function (rs) {  
115 - var data = {};  
116 - $.each(rs.list, function () {  
117 - this.hideStations = JSON.parse(this.hideStations);  
118 - this.nicknames = JSON.parse(this.nicknames);  
119 - data[this.lineCode] = this;  
120 - });  
121 - ep.emit('svg_attrs', data);  
122 - });  
123 -  
124 - //站点和停车场历时、公里对照数据  
125 - var stat_park_data;  
126 - /*var load_stat_park_data = function () {  
127 - $.get('/basic/station2ParkData?t='+Math.random(), {idx: line_idx}, function (rs) {  
128 - stat_park_data = rs;  
129 - });  
130 - }  
131 - load_stat_park_data();*/  
132 -  
133 - function findLineByCodes(codeArr) {  
134 - var rs = [];  
135 - $.each(codeArr, function () {  
136 - rs.push(codeToLine[this]);  
137 - });  
138 - return rs;  
139 - }  
140 -  
141 - var findCodeByLinename = function (name) {  
142 - for (var code in lineCode2NameAll) {  
143 - if (name == lineCode2NameAll[code])  
144 - return code;  
145 - }  
146 -  
147 - return null;  
148 - };  
149 -  
150 - var getLineInformation = function (lineCode) {  
151 - return lineInformations[lineCode];  
152 - };  
153 -  
154 - var stationRouteSort = function (a, b) {  
155 - return a.stationRouteCode - b.stationRouteCode;  
156 - };  
157 -  
158 - /**  
159 - * 常用的备注补全列表  
160 - */  
161 - var remarksArray = ['保养', '故障', '肇事', '加油', '维修', '援外', '路阻'  
162 - , '故障(离合器坏)', '故障,(方向盘坏)', '故障(排挡坏)', '故障(门坏)', '故障(雨刮器坏)','故障(刹车坏)', '故障(气打不上)'  
163 - ,'故障(整车无电)', '故障(故障灯常亮)', '故障(警报灯亮)', '故障(玻璃坏)', '故障(反光镜坏)', '故障(发电机坏)', '故障(漏防冻液)'  
164 - , '故障(漏水)','故障(轮胎坏)', '故障(无动力)', '故障(喷机油)', '故障(水温高)', '保养(一级保养)'  
165 - , '保养(二级保养)', '保养(三级保养)', '换车出场', '临加进场', '临加出场'];  
166 - var remarksMapps = [];  
167 - $.each(remarksArray, function (i, t) {  
168 - remarksMapps.push({  
169 - value: t,  
170 - fullChars: pinyin.getFullChars(t).toUpperCase(),  
171 - camelChars: pinyin.getCamelChars(t)  
172 - });  
173 - });  
174 -  
175 - //文件载入完毕  
176 - res_load_ep.emitLater('load_data_basic');  
177 -  
178 - return {  
179 - activeLines: activeLines,  
180 - line_idx: line_idx,  
181 - codeToLine: codeToLine,  
182 - nbbm2deviceMap: function () {  
183 - return nbbm2deviceMap;  
184 - },  
185 - device2nbbmMap: function () {  
186 - return device2nbbmMap;  
187 - },  
188 - getLineInformation: getLineInformation,  
189 - allInformations: function () {  
190 - return lineInformations;  
191 - },  
192 - stationRoutes: function (lineCode) {  
193 - return stationRoutes[lineCode]  
194 - },  
195 - findLineByCodes: findLineByCodes,  
196 - lineCode2NameAll: function () {  
197 - return lineCode2NameAll  
198 - },  
199 - allPersonnel: function () {  
200 - return allPersonnel;  
201 - },  
202 - findCodeByLinename: findCodeByLinename,  
203 - getCarparkByCode: getCarparkByCode,  
204 - getSvgAttr: function (lineCode) {  
205 - return svgAttrs[lineCode];  
206 - },  
207 - setSvgAttr: function (attr) {  
208 - attr.hideStations = JSON.parse(attr.hideStations);  
209 - attr.nicknames = JSON.parse(attr.nicknames);  
210 - svgAttrs[attr.lineCode] = attr;  
211 - },  
212 - //是否是环线  
213 - isLoopLine: function (lineCode) {  
214 - var data = gb_common.groupBy(stationRoutes[lineCode], 'directions');  
215 - //下行只有2个站点  
216 - var len = data[0].length;  
217 - if (len > 0 && data[1].length == 2) {  
218 - var first = data[0][0],  
219 - end = data[0][len - 1];  
220 -  
221 - /*if(first.stationName != end.stationName)  
222 - return false;*/  
223 -  
224 - var fPoint = {latitude: first.station.gLaty, longitude: first.station.gLonx}  
225 - , ePoint = {latitude: end.station.gLaty, longitude: end.station.gLonx};  
226 -  
227 - //并且上行起终点距离200米内  
228 - if (geolib.getDistance(fPoint, ePoint) < 200) {  
229 - return true;  
230 - }  
231 - }  
232 -  
233 - return false;  
234 - },  
235 - //刷新员工信息  
236 - refreshAllPersonnel: function (cb) {  
237 - loadAllPersonnel(function (data) {  
238 - allPersonnel = data;  
239 - cb && cb();  
240 - });  
241 - },  
242 - nbbm2PlateMap: function () {  
243 - return nbbm2PlateMap;  
244 - },  
245 - carsArray: function () {  
246 - return carsArray;  
247 - },  
248 - simpleParksArray: function () {  
249 - var map = {};  
250 - for(var code in carparks)  
251 - map[code] = carparks[code].parkName;  
252 - return map;  
253 - },  
254 - remarksMapps: function () {  
255 - return remarksMapps;  
256 - },  
257 - get_stat_park_data: function () {  
258 - return stat_park_data;  
259 - },  
260 - reload_stat_park_data: function () {  
261 - load_stat_park_data();  
262 - }  
263 - };  
264 -})(); 1 +/* 基础数据管理模块 */
  2 +
  3 +var gb_data_basic = (function () {
  4 +
  5 + var stationRoutes, lineCode2NameAll, lineInformations, nbbm2deviceMap, device2nbbmMap, allPersonnel, svgAttrs;
  6 + var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", "nbbm2deviceId", "all_personnel", "svg_attrs"
  7 + , function (routes, code2Name, informations, nbbm2device, all_personnel, svgAttrMap) {
  8 + stationRoutes = routes;
  9 + lineCode2NameAll = code2Name;
  10 + lineInformations = informations;
  11 + nbbm2deviceMap = nbbm2device;
  12 + device2nbbmMap = gb_common.inverse(nbbm2deviceMap);
  13 + allPersonnel = all_personnel;
  14 + svgAttrs = svgAttrMap;
  15 +
  16 + res_load_ep.emitLater('data-basic');
  17 + });
  18 +
  19 + var storage = window.localStorage;
  20 + //激活的线路
  21 + var activeLines = JSON.parse(storage.getItem('lineControlItems'));
  22 + //lineCode to line object
  23 + var codeToLine = {};
  24 + //lineCode idx string
  25 + var line_idx = (function () {
  26 + var str = '';
  27 + for (var i = 0, item; item = activeLines[i++];) {
  28 + str += (',' + item.lineCode);
  29 + codeToLine[item.lineCode] = item;
  30 + }
  31 + return str.substr(1);
  32 + })();
  33 +
  34 + //站点路由
  35 + gb_common.$get('/stationroute/multiLine', {lineIds: line_idx}, function (rs) {
  36 + var list = rs.list;//JSON.parse(rs.list);
  37 + var routeData = gb_common.groupBy(list, 'lineCode');
  38 + //排序
  39 + for (var lineCode in routeData) {
  40 + routeData[lineCode].sort(stationRouteSort);
  41 + }
  42 + ep.emit('stationRoutes', routeData);
  43 + });
  44 +
  45 + //线路标准信息
  46 + /*gb_common.$get('/lineInformation/line/multi', {lineCodes: line_idx}, function (rs) {
  47 + var informations = {};
  48 + $.each(rs, function () {
  49 + informations[this.line.lineCode] = this;
  50 + delete this['line'];
  51 + });
  52 + ep.emit('lineInformations', informations);
  53 + });*/
  54 + ep.emit('lineInformations', {});
  55 +
  56 + //人员信息
  57 + ep.emit('all_personnel', {});
  58 + /*loadAllPersonnel(function (data) {
  59 + ep.emit('all_personnel', data);
  60 + });
  61 + function loadAllPersonnel(cb) {
  62 + $.get('/personnel/all_py', function (rs) {
  63 + //转换成自动补全组件需要的数据
  64 + var data = [], code;
  65 + for(var i =0, p; p = rs[i++];){
  66 + code = p['workId'].indexOf('-')!=-1?p['workId'].split('-')[1]:p['workId'];
  67 + data.push({
  68 + value: code + '/' + p.name,
  69 + fullChars: p.fullChars.toUpperCase(),
  70 + camelChars: p.camelChars.toUpperCase()
  71 + });
  72 + }
  73 + cb && cb(data);
  74 + });
  75 + }*/
  76 +
  77 + var carparks = {};
  78 + //停车场数据
  79 +/* gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {
  80 + rs.list.sort(function (a, b) {
  81 + return a.parkName.localeCompare(b.parkName);
  82 + });
  83 + $.each(rs.list, function () {
  84 + carparks[this.parkCode] = this;
  85 + });
  86 + });*/
  87 +
  88 + //车辆数据
  89 + var carsArray;
  90 + /*$.get('/basic/cars?t=' + Math.random(), function (rs) {
  91 + carsArray = rs;
  92 + });*/
  93 +
  94 + var getCarparkByCode = function (code) {
  95 + return carparks[code];
  96 + };
  97 +
  98 + //line code to name
  99 + $.get('/basic/lineCode2Name', function (rs) {
  100 + ep.emit('lineCode2Name', rs);
  101 + });
  102 +
  103 + //nbbm to device id
  104 + $.get('/basic/nbbm2deviceId', function (rs) {
  105 + ep.emit('nbbm2deviceId', rs);
  106 + });
  107 + //nbbm to 车牌号
  108 + var nbbm2PlateMap;
  109 + $.get('/basic/nbbm2PlateNo', function (rs) {
  110 + nbbm2PlateMap = rs;
  111 + });
  112 +
  113 + //模拟图属性数据
  114 + gb_common.$get('/realSchedule/svgAttr', {idx: line_idx}, function (rs) {
  115 + var data = {};
  116 + $.each(rs.list, function () {
  117 + this.hideStations = JSON.parse(this.hideStations);
  118 + this.nicknames = JSON.parse(this.nicknames);
  119 + data[this.lineCode] = this;
  120 + });
  121 + ep.emit('svg_attrs', data);
  122 + });
  123 +
  124 + //站点和停车场历时、公里对照数据
  125 + var stat_park_data;
  126 + /*var load_stat_park_data = function () {
  127 + $.get('/basic/station2ParkData?t='+Math.random(), {idx: line_idx}, function (rs) {
  128 + stat_park_data = rs;
  129 + });
  130 + }
  131 + load_stat_park_data();*/
  132 +
  133 + function findLineByCodes(codeArr) {
  134 + var rs = [];
  135 + $.each(codeArr, function () {
  136 + rs.push(codeToLine[this]);
  137 + });
  138 + return rs;
  139 + }
  140 +
  141 + var findCodeByLinename = function (name) {
  142 + for (var code in lineCode2NameAll) {
  143 + if (name == lineCode2NameAll[code])
  144 + return code;
  145 + }
  146 +
  147 + return null;
  148 + };
  149 +
  150 + var getLineInformation = function (lineCode) {
  151 + return lineInformations[lineCode];
  152 + };
  153 +
  154 + var stationRouteSort = function (a, b) {
  155 + return a.stationRouteCode - b.stationRouteCode;
  156 + };
  157 +
  158 + /**
  159 + * 常用的备注补全列表
  160 + */
  161 + var remarksArray = ['保养', '故障', '事故', '加油', '维修', '援外', '路阻'
  162 + , '故障(离合器坏)', '故障,(方向盘坏)', '故障(排挡坏)', '故障(门坏)', '故障(雨刮器坏)','故障(刹车坏)', '故障(气打不上)'
  163 + ,'故障(整车无电)', '故障(故障灯常亮)', '故障(警报灯亮)', '故障(玻璃坏)', '故障(反光镜坏)', '故障(发电机坏)', '故障(漏防冻液)'
  164 + , '故障(漏水)','故障(轮胎坏)', '故障(无动力)', '故障(喷机油)', '故障(水温高)', '保养(一级保养)'
  165 + , '保养(二级保养)', '保养(三级保养)', '换车出场', '临加进场', '临加出场'];
  166 + var remarksMapps = [];
  167 + $.each(remarksArray, function (i, t) {
  168 + remarksMapps.push({
  169 + value: t,
  170 + fullChars: pinyin.getFullChars(t).toUpperCase(),
  171 + camelChars: pinyin.getCamelChars(t)
  172 + });
  173 + });
  174 +
  175 + //文件载入完毕
  176 + res_load_ep.emitLater('load_data_basic');
  177 +
  178 + return {
  179 + activeLines: activeLines,
  180 + line_idx: line_idx,
  181 + codeToLine: codeToLine,
  182 + nbbm2deviceMap: function () {
  183 + return nbbm2deviceMap;
  184 + },
  185 + device2nbbmMap: function () {
  186 + return device2nbbmMap;
  187 + },
  188 + getLineInformation: getLineInformation,
  189 + allInformations: function () {
  190 + return lineInformations;
  191 + },
  192 + stationRoutes: function (lineCode) {
  193 + return stationRoutes[lineCode]
  194 + },
  195 + findLineByCodes: findLineByCodes,
  196 + lineCode2NameAll: function () {
  197 + return lineCode2NameAll
  198 + },
  199 + allPersonnel: function () {
  200 + return allPersonnel;
  201 + },
  202 + findCodeByLinename: findCodeByLinename,
  203 + getCarparkByCode: getCarparkByCode,
  204 + getSvgAttr: function (lineCode) {
  205 + return svgAttrs[lineCode];
  206 + },
  207 + setSvgAttr: function (attr) {
  208 + attr.hideStations = JSON.parse(attr.hideStations);
  209 + attr.nicknames = JSON.parse(attr.nicknames);
  210 + svgAttrs[attr.lineCode] = attr;
  211 + },
  212 + //是否是环线
  213 + isLoopLine: function (lineCode) {
  214 + var data = gb_common.groupBy(stationRoutes[lineCode], 'directions');
  215 + //下行只有2个站点
  216 + var len = data[0].length;
  217 + if (len > 0 && data[1].length == 2) {
  218 + var first = data[0][0],
  219 + end = data[0][len - 1];
  220 +
  221 + /*if(first.stationName != end.stationName)
  222 + return false;*/
  223 +
  224 + var fPoint = {latitude: first.station.gLaty, longitude: first.station.gLonx}
  225 + , ePoint = {latitude: end.station.gLaty, longitude: end.station.gLonx};
  226 +
  227 + //并且上行起终点距离200米内
  228 + if (geolib.getDistance(fPoint, ePoint) < 200) {
  229 + return true;
  230 + }
  231 + }
  232 +
  233 + return false;
  234 + },
  235 + //刷新员工信息
  236 + refreshAllPersonnel: function (cb) {
  237 + loadAllPersonnel(function (data) {
  238 + allPersonnel = data;
  239 + cb && cb();
  240 + });
  241 + },
  242 + nbbm2PlateMap: function () {
  243 + return nbbm2PlateMap;
  244 + },
  245 + carsArray: function () {
  246 + return carsArray;
  247 + },
  248 + simpleParksArray: function () {
  249 + var map = {};
  250 + for(var code in carparks)
  251 + map[code] = carparks[code].parkName;
  252 + return map;
  253 + },
  254 + remarksMapps: function () {
  255 + return remarksMapps;
  256 + },
  257 + get_stat_park_data: function () {
  258 + return stat_park_data;
  259 + },
  260 + reload_stat_park_data: function () {
  261 + load_stat_park_data();
  262 + }
  263 + };
  264 +})();
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/h_add_sub_task_other.html
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 <select class="form-control" name="reason" required> 31 <select class="form-control" name="reason" required>
32 <option value="">请选择..</option> 32 <option value="">请选择..</option>
33 <option>故障</option> 33 <option>故障</option>
34 - <option>肇事</option> 34 + <option>事故</option>
35 <option>纠纷</option> 35 <option>纠纷</option>
36 <option>其他</option> 36 <option>其他</option>
37 </select> 37 </select>
src/main/resources/static/real_control_v2/js/common.js
@@ -22,7 +22,7 @@ var gb_common = (function () { @@ -22,7 +22,7 @@ var gb_common = (function () {
22 }; 22 };
23 23
24 var adjustExps = ['保养', '故障', '事故', '路阻', '纠纷', '缺人', '验车', '天气', '支援', '借调', '其他']; 24 var adjustExps = ['保养', '故障', '事故', '路阻', '纠纷', '缺人', '验车', '天气', '支援', '借调', '其他'];
25 - var inOutExps = ['故障', '肇事', '纠纷', '其他']; 25 + var inOutExps = ['故障', '事故', '纠纷', '其他'];
26 26
27 var groupBy = function (list, field) { 27 var groupBy = function (list, field) {
28 var rs = {}, 28 var rs = {},
src/main/resources/static/real_control_v2/js/data/data_basic.js
1 -/* 基础数据管理模块 */  
2 -  
3 -var gb_data_basic = (function () {  
4 -  
5 - var stationRoutes, lineCode2NameAll, lineInformations, nbbm2deviceMap, device2nbbmMap, allPersonnel, svgAttrs;  
6 - var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", "nbbm2deviceId", "all_personnel", "svg_attrs"  
7 - , function (routes, code2Name, informations, nbbm2device, all_personnel, svgAttrMap) {  
8 - stationRoutes = routes;  
9 - lineCode2NameAll = code2Name;  
10 - lineInformations = informations;  
11 - nbbm2deviceMap = nbbm2device;  
12 - device2nbbmMap = gb_common.inverse(nbbm2deviceMap);  
13 - allPersonnel = all_personnel;  
14 - svgAttrs = svgAttrMap;  
15 - gb_main_ep.emitLater('data-basic');  
16 - });  
17 -  
18 - var storage = window.localStorage;  
19 - //激活的线路  
20 - var activeLines = JSON.parse(storage.getItem('lineControlItems'));  
21 - //lineCode to line object  
22 - var codeToLine = {};  
23 - //lineCode idx string  
24 - var line_idx = (function () {  
25 - var str = '';  
26 - for (var i = 0, item; item = activeLines[i++];) {  
27 - str += (',' + item.lineCode);  
28 - codeToLine[item.lineCode] = item;  
29 - }  
30 - return str.substr(1);  
31 - })();  
32 -  
33 - //站点路由  
34 - gb_common.$get('/stationroute/multiLine', {lineIds: line_idx}, function (rs) {  
35 - var list = rs.list;//JSON.parse(rs.list);  
36 - var routeData = gb_common.groupBy(list, 'lineCode');  
37 - //排序  
38 - for (var lineCode in routeData) {  
39 - routeData[lineCode].sort(stationRouteSort);  
40 - }  
41 - ep.emit('stationRoutes', routeData);  
42 - });  
43 -  
44 - //线路标准信息  
45 - gb_common.$get('/lineInformation/line/multi', {lineCodes: line_idx}, function (rs) {  
46 - var informations = {};  
47 - $.each(rs, function () {  
48 - informations[this.line.lineCode] = this;  
49 - delete this['line'];  
50 - });  
51 - ep.emit('lineInformations', informations);  
52 - });  
53 -  
54 - //人员信息  
55 - loadAllPersonnel(function (data) {  
56 - ep.emit('all_personnel', data);  
57 - });  
58 - function loadAllPersonnel(cb) {  
59 - $.get('/basic/all_personnel_py', function (rs) {  
60 - //转换成自动补全组件需要的数据  
61 - var data = [], code;  
62 - for(var i =0, p; p = rs[i++];){  
63 - code = p['workId'].indexOf('-')!=-1?p['workId'].split('-')[1]:p['workId'];  
64 - data.push({  
65 - value: code + '/' + p.name,  
66 - fullChars: p.fullChars.toUpperCase(),  
67 - camelChars: p.camelChars.toUpperCase()  
68 - });  
69 - }  
70 - cb && cb(data);  
71 - });  
72 - }  
73 -  
74 - var carparks = {};  
75 - //停车场数据  
76 - gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {  
77 - rs.list.sort(function (a, b) {  
78 - return a.parkName.localeCompare(b.parkName);  
79 - });  
80 - $.each(rs.list, function () {  
81 - carparks[this.parkCode] = this;  
82 - });  
83 - });  
84 -  
85 - //车辆数据  
86 - var carsArray;  
87 - $.get('/basic/cars?t=' + Math.random(), function (rs) {  
88 - carsArray = rs;  
89 - });  
90 -  
91 - var getCarparkByCode = function (code) {  
92 - return carparks[code];  
93 - };  
94 -  
95 - //line code to name  
96 - $.get('/basic/lineCode2Name', function (rs) {  
97 - ep.emit('lineCode2Name', rs);  
98 - });  
99 -  
100 - //nbbm to device id  
101 - $.get('/basic/nbbm2deviceId', function (rs) {  
102 - ep.emit('nbbm2deviceId', rs);  
103 - });  
104 - //nbbm to 车牌号  
105 - var nbbm2PlateMap;  
106 - $.get('/basic/nbbm2PlateNo', function (rs) {  
107 - nbbm2PlateMap = rs;  
108 - });  
109 -  
110 - //模拟图属性数据  
111 - gb_common.$get('/realSchedule/svgAttr', {idx: line_idx}, function (rs) {  
112 - var data = {};  
113 - $.each(rs.list, function () {  
114 - this.hideStations = JSON.parse(this.hideStations);  
115 - this.nicknames = JSON.parse(this.nicknames);  
116 - data[this.lineCode] = this;  
117 - });  
118 - ep.emit('svg_attrs', data);  
119 - });  
120 -  
121 - //站点和停车场历时、公里对照数据  
122 - var stat_park_data;  
123 - var load_stat_park_data = function () {  
124 - $.get('/basic/station2ParkData?t='+Math.random(), {idx: line_idx}, function (rs) {  
125 - stat_park_data = rs;  
126 - });  
127 - }  
128 - load_stat_park_data();  
129 -  
130 - function findLineByCodes(codeArr) {  
131 - var rs = [];  
132 - $.each(codeArr, function () {  
133 - rs.push(codeToLine[this]);  
134 - });  
135 - return rs;  
136 - }  
137 -  
138 - var findCodeByLinename = function (name) {  
139 - for (var code in lineCode2NameAll) {  
140 - if (name == lineCode2NameAll[code])  
141 - return code;  
142 - }  
143 -  
144 - return null;  
145 - };  
146 -  
147 - var getLineInformation = function (lineCode) {  
148 - return lineInformations[lineCode];  
149 - };  
150 -  
151 - var stationRouteSort = function (a, b) {  
152 - return a.stationRouteCode - b.stationRouteCode;  
153 - };  
154 -  
155 - /**  
156 - * 常用的备注补全列表  
157 - */  
158 - var remarksArray = ['保养', '故障', '肇事', '加油', '维修', '援外', '路阻'  
159 - , '故障(离合器坏)', '故障,(方向盘坏)', '故障(排挡坏)', '故障(门坏)', '故障(雨刮器坏)','故障(刹车坏)', '故障(气打不上)'  
160 - ,'故障(整车无电)', '故障(故障灯常亮)', '故障(警报灯亮)', '故障(玻璃坏)', '故障(反光镜坏)', '故障(发电机坏)', '故障(漏防冻液)'  
161 - , '故障(漏水)','故障(轮胎坏)', '故障(无动力)', '故障(喷机油)', '故障(水温高)', '保养(一级保养)'  
162 - , '保养(二级保养)', '保养(三级保养)', '换车出场', '临加进场', '临加出场'];  
163 - var remarksMapps = [];  
164 - $.each(remarksArray, function (i, t) {  
165 - remarksMapps.push({  
166 - value: t,  
167 - fullChars: pinyin.getFullChars(t).toUpperCase(),  
168 - camelChars: pinyin.getCamelChars(t)  
169 - });  
170 - });  
171 -  
172 - //文件载入完毕  
173 - res_load_ep.emitLater('load_data_basic');  
174 -  
175 - return {  
176 - activeLines: activeLines,  
177 - line_idx: line_idx,  
178 - codeToLine: codeToLine,  
179 - nbbm2deviceMap: function () {  
180 - return nbbm2deviceMap;  
181 - },  
182 - device2nbbmMap: function () {  
183 - return device2nbbmMap;  
184 - },  
185 - getLineInformation: getLineInformation,  
186 - allInformations: function () {  
187 - return lineInformations;  
188 - },  
189 - stationRoutes: function (lineCode) {  
190 - return stationRoutes[lineCode]  
191 - },  
192 - findLineByCodes: findLineByCodes,  
193 - lineCode2NameAll: function () {  
194 - return lineCode2NameAll  
195 - },  
196 - allPersonnel: function () {  
197 - return allPersonnel;  
198 - },  
199 - findCodeByLinename: findCodeByLinename,  
200 - getCarparkByCode: getCarparkByCode,  
201 - getSvgAttr: function (lineCode) {  
202 - return svgAttrs[lineCode];  
203 - },  
204 - setSvgAttr: function (attr) {  
205 - attr.hideStations = JSON.parse(attr.hideStations);  
206 - attr.nicknames = JSON.parse(attr.nicknames);  
207 - svgAttrs[attr.lineCode] = attr;  
208 - },  
209 - //是否是环线  
210 - isLoopLine: function (lineCode) {  
211 - if(!stationRoutes[lineCode])  
212 - return false;  
213 - var data = gb_common.groupBy(stationRoutes[lineCode], 'directions');  
214 - //下行只有2个站点  
215 - var len = data[0].length;  
216 - if (len > 0 && data[1].length == 2) {  
217 - var first = data[0][0],  
218 - end = data[0][len - 1];  
219 -  
220 - /*if(first.stationName != end.stationName)  
221 - return false;*/  
222 -  
223 - var fPoint = {latitude: first.station.gLaty, longitude: first.station.gLonx}  
224 - , ePoint = {latitude: end.station.gLaty, longitude: end.station.gLonx};  
225 -  
226 - //并且上行起终点距离200米内  
227 - if (geolib.getDistance(fPoint, ePoint) < 200) {  
228 - return true;  
229 - }  
230 - }  
231 -  
232 - return false;  
233 - },  
234 - //刷新员工信息  
235 - refreshAllPersonnel: function (cb) {  
236 - loadAllPersonnel(function (data) {  
237 - allPersonnel = data;  
238 - cb && cb();  
239 - });  
240 - },  
241 - nbbm2PlateMap: function () {  
242 - return nbbm2PlateMap;  
243 - },  
244 - carsArray: function () {  
245 - return carsArray;  
246 - },  
247 - simpleParksArray: function () {  
248 - var map = {};  
249 - for(var code in carparks)  
250 - map[code] = carparks[code].parkName;  
251 - return map;  
252 - },  
253 - remarksMapps: function () {  
254 - return remarksMapps;  
255 - },  
256 - get_stat_park_data: function () {  
257 - return stat_park_data;  
258 - },  
259 - reload_stat_park_data: function () {  
260 - load_stat_park_data();  
261 - }  
262 - };  
263 -})(); 1 +/* 基础数据管理模块 */
  2 +
  3 +var gb_data_basic = (function () {
  4 +
  5 + var stationRoutes, lineCode2NameAll, lineInformations, nbbm2deviceMap, device2nbbmMap, allPersonnel, svgAttrs;
  6 + var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", "nbbm2deviceId", "all_personnel", "svg_attrs"
  7 + , function (routes, code2Name, informations, nbbm2device, all_personnel, svgAttrMap) {
  8 + stationRoutes = routes;
  9 + lineCode2NameAll = code2Name;
  10 + lineInformations = informations;
  11 + nbbm2deviceMap = nbbm2device;
  12 + device2nbbmMap = gb_common.inverse(nbbm2deviceMap);
  13 + allPersonnel = all_personnel;
  14 + svgAttrs = svgAttrMap;
  15 + gb_main_ep.emitLater('data-basic');
  16 + });
  17 +
  18 + var storage = window.localStorage;
  19 + //激活的线路
  20 + var activeLines = JSON.parse(storage.getItem('lineControlItems'));
  21 + //lineCode to line object
  22 + var codeToLine = {};
  23 + //lineCode idx string
  24 + var line_idx = (function () {
  25 + var str = '';
  26 + for (var i = 0, item; item = activeLines[i++];) {
  27 + str += (',' + item.lineCode);
  28 + codeToLine[item.lineCode] = item;
  29 + }
  30 + return str.substr(1);
  31 + })();
  32 +
  33 + //站点路由
  34 + gb_common.$get('/stationroute/multiLine', {lineIds: line_idx}, function (rs) {
  35 + var list = rs.list;//JSON.parse(rs.list);
  36 + var routeData = gb_common.groupBy(list, 'lineCode');
  37 + //排序
  38 + for (var lineCode in routeData) {
  39 + routeData[lineCode].sort(stationRouteSort);
  40 + }
  41 + ep.emit('stationRoutes', routeData);
  42 + });
  43 +
  44 + //线路标准信息
  45 + gb_common.$get('/lineInformation/line/multi', {lineCodes: line_idx}, function (rs) {
  46 + var informations = {};
  47 + $.each(rs, function () {
  48 + informations[this.line.lineCode] = this;
  49 + delete this['line'];
  50 + });
  51 + ep.emit('lineInformations', informations);
  52 + });
  53 +
  54 + //人员信息
  55 + loadAllPersonnel(function (data) {
  56 + ep.emit('all_personnel', data);
  57 + });
  58 + function loadAllPersonnel(cb) {
  59 + $.get('/basic/all_personnel_py', function (rs) {
  60 + //转换成自动补全组件需要的数据
  61 + var data = [], code;
  62 + for(var i =0, p; p = rs[i++];){
  63 + code = p['workId'].indexOf('-')!=-1?p['workId'].split('-')[1]:p['workId'];
  64 + data.push({
  65 + value: code + '/' + p.name,
  66 + fullChars: p.fullChars.toUpperCase(),
  67 + camelChars: p.camelChars.toUpperCase()
  68 + });
  69 + }
  70 + cb && cb(data);
  71 + });
  72 + }
  73 +
  74 + var carparks = {};
  75 + //停车场数据
  76 + gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {
  77 + rs.list.sort(function (a, b) {
  78 + return a.parkName.localeCompare(b.parkName);
  79 + });
  80 + $.each(rs.list, function () {
  81 + carparks[this.parkCode] = this;
  82 + });
  83 + });
  84 +
  85 + //车辆数据
  86 + var carsArray;
  87 + $.get('/basic/cars?t=' + Math.random(), function (rs) {
  88 + carsArray = rs;
  89 + });
  90 +
  91 + var getCarparkByCode = function (code) {
  92 + return carparks[code];
  93 + };
  94 +
  95 + //line code to name
  96 + $.get('/basic/lineCode2Name', function (rs) {
  97 + ep.emit('lineCode2Name', rs);
  98 + });
  99 +
  100 + //nbbm to device id
  101 + $.get('/basic/nbbm2deviceId', function (rs) {
  102 + ep.emit('nbbm2deviceId', rs);
  103 + });
  104 + //nbbm to 车牌号
  105 + var nbbm2PlateMap;
  106 + $.get('/basic/nbbm2PlateNo', function (rs) {
  107 + nbbm2PlateMap = rs;
  108 + });
  109 +
  110 + //模拟图属性数据
  111 + gb_common.$get('/realSchedule/svgAttr', {idx: line_idx}, function (rs) {
  112 + var data = {};
  113 + $.each(rs.list, function () {
  114 + this.hideStations = JSON.parse(this.hideStations);
  115 + this.nicknames = JSON.parse(this.nicknames);
  116 + data[this.lineCode] = this;
  117 + });
  118 + ep.emit('svg_attrs', data);
  119 + });
  120 +
  121 + //站点和停车场历时、公里对照数据
  122 + var stat_park_data;
  123 + var load_stat_park_data = function () {
  124 + $.get('/basic/station2ParkData?t='+Math.random(), {idx: line_idx}, function (rs) {
  125 + stat_park_data = rs;
  126 + });
  127 + }
  128 + load_stat_park_data();
  129 +
  130 + function findLineByCodes(codeArr) {
  131 + var rs = [];
  132 + $.each(codeArr, function () {
  133 + rs.push(codeToLine[this]);
  134 + });
  135 + return rs;
  136 + }
  137 +
  138 + var findCodeByLinename = function (name) {
  139 + for (var code in lineCode2NameAll) {
  140 + if (name == lineCode2NameAll[code])
  141 + return code;
  142 + }
  143 +
  144 + return null;
  145 + };
  146 +
  147 + var getLineInformation = function (lineCode) {
  148 + return lineInformations[lineCode];
  149 + };
  150 +
  151 + var stationRouteSort = function (a, b) {
  152 + return a.stationRouteCode - b.stationRouteCode;
  153 + };
  154 +
  155 + /**
  156 + * 常用的备注补全列表
  157 + */
  158 + var remarksArray = ['保养', '故障', '事故', '加油', '维修', '援外', '路阻'
  159 + , '故障(离合器坏)', '故障,(方向盘坏)', '故障(排挡坏)', '故障(门坏)', '故障(雨刮器坏)','故障(刹车坏)', '故障(气打不上)'
  160 + ,'故障(整车无电)', '故障(故障灯常亮)', '故障(警报灯亮)', '故障(玻璃坏)', '故障(反光镜坏)', '故障(发电机坏)', '故障(漏防冻液)'
  161 + , '故障(漏水)','故障(轮胎坏)', '故障(无动力)', '故障(喷机油)', '故障(水温高)', '保养(一级保养)'
  162 + , '保养(二级保养)', '保养(三级保养)', '换车出场', '临加进场', '临加出场'];
  163 + var remarksMapps = [];
  164 + $.each(remarksArray, function (i, t) {
  165 + remarksMapps.push({
  166 + value: t,
  167 + fullChars: pinyin.getFullChars(t).toUpperCase(),
  168 + camelChars: pinyin.getCamelChars(t)
  169 + });
  170 + });
  171 +
  172 + //文件载入完毕
  173 + res_load_ep.emitLater('load_data_basic');
  174 +
  175 + return {
  176 + activeLines: activeLines,
  177 + line_idx: line_idx,
  178 + codeToLine: codeToLine,
  179 + nbbm2deviceMap: function () {
  180 + return nbbm2deviceMap;
  181 + },
  182 + device2nbbmMap: function () {
  183 + return device2nbbmMap;
  184 + },
  185 + getLineInformation: getLineInformation,
  186 + allInformations: function () {
  187 + return lineInformations;
  188 + },
  189 + stationRoutes: function (lineCode) {
  190 + return stationRoutes[lineCode]
  191 + },
  192 + findLineByCodes: findLineByCodes,
  193 + lineCode2NameAll: function () {
  194 + return lineCode2NameAll
  195 + },
  196 + allPersonnel: function () {
  197 + return allPersonnel;
  198 + },
  199 + findCodeByLinename: findCodeByLinename,
  200 + getCarparkByCode: getCarparkByCode,
  201 + getSvgAttr: function (lineCode) {
  202 + return svgAttrs[lineCode];
  203 + },
  204 + setSvgAttr: function (attr) {
  205 + attr.hideStations = JSON.parse(attr.hideStations);
  206 + attr.nicknames = JSON.parse(attr.nicknames);
  207 + svgAttrs[attr.lineCode] = attr;
  208 + },
  209 + //是否是环线
  210 + isLoopLine: function (lineCode) {
  211 + if(!stationRoutes[lineCode])
  212 + return false;
  213 + var data = gb_common.groupBy(stationRoutes[lineCode], 'directions');
  214 + //下行只有2个站点
  215 + var len = data[0].length;
  216 + if (len > 0 && data[1].length == 2) {
  217 + var first = data[0][0],
  218 + end = data[0][len - 1];
  219 +
  220 + /*if(first.stationName != end.stationName)
  221 + return false;*/
  222 +
  223 + var fPoint = {latitude: first.station.gLaty, longitude: first.station.gLonx}
  224 + , ePoint = {latitude: end.station.gLaty, longitude: end.station.gLonx};
  225 +
  226 + //并且上行起终点距离200米内
  227 + if (geolib.getDistance(fPoint, ePoint) < 200) {
  228 + return true;
  229 + }
  230 + }
  231 +
  232 + return false;
  233 + },
  234 + //刷新员工信息
  235 + refreshAllPersonnel: function (cb) {
  236 + loadAllPersonnel(function (data) {
  237 + allPersonnel = data;
  238 + cb && cb();
  239 + });
  240 + },
  241 + nbbm2PlateMap: function () {
  242 + return nbbm2PlateMap;
  243 + },
  244 + carsArray: function () {
  245 + return carsArray;
  246 + },
  247 + simpleParksArray: function () {
  248 + var map = {};
  249 + for(var code in carparks)
  250 + map[code] = carparks[code].parkName;
  251 + return map;
  252 + },
  253 + remarksMapps: function () {
  254 + return remarksMapps;
  255 + },
  256 + get_stat_park_data: function () {
  257 + return stat_park_data;
  258 + },
  259 + reload_stat_park_data: function () {
  260 + load_stat_park_data();
  261 + }
  262 + };
  263 +})();