Commit 839a2e4ce8f00ba2eb64de2a40bab6e9e1ffeea2
1 parent
857068ac
1.‘肇事’改成‘事故’
Showing
4 changed files
with
529 additions
and
529 deletions
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 | +})(); |