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 31 <select class="form-control" name="reason" required>
32 32 <option value="">请选择..</option>
33 33 <option>故障</option>
34   - <option>肇事</option>
  34 + <option>事故</option>
35 35 <option>纠纷</option>
36 36 <option>其他</option>
37 37 </select>
... ...
src/main/resources/static/real_control_v2/js/common.js
... ... @@ -22,7 +22,7 @@ var gb_common = (function () {
22 22 };
23 23  
24 24 var adjustExps = ['保养', '故障', '事故', '路阻', '纠纷', '缺人', '验车', '天气', '支援', '借调', '其他'];
25   - var inOutExps = ['故障', '肇事', '纠纷', '其他'];
  25 + var inOutExps = ['故障', '事故', '纠纷', '其他'];
26 26  
27 27 var groupBy = function (list, field) {
28 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 +})();
... ...