Commit 2cebdc7d89b803cee6e9d68146282b359d5ad45e

Authored by 潘钊
1 parent 0cf53b6f

update

src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
... ... @@ -135,7 +135,7 @@ public class InOutStationSignalHandle extends SignalHandle{
135 135 }
136 136 else if(sch.getBcType().equals("out")){
137 137 ScheduleRealInfo next = dayOfSchedule.nextSame(sch);
138   - if(prev.getStopNo().equals(next.getQdzCode())){
  138 + if(next != null && prev.getStopNo().equals(next.getQdzCode())){
139 139 //发下一个班次
140 140 dayOfSchedule.addExecPlan(next);
141 141 outStation(gps, prev);
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
... ... @@ -396,7 +396,7 @@
396 396 name: '出场'
397 397 },
398 398 'add_sub_task_range_turn': {
399   - name: '区间头'
  399 + name: '区间头'
400 400 },
401 401 'add_sub_task_other': {
402 402 name: '自定义'
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
... ... @@ -2,14 +2,14 @@
2 2 <div class="uk-modal-dialog" style="width: 1200px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
5   - <h2>区间头子任务</h2></div>
  5 + <h2>区间头子任务</h2></div>
6 6  
7 7 <div style="width: 100%;padding-left: 1%;">
8 8 <form class="uk-form uk-form-horizontal">
9 9 <div class="uk-grid">
10 10 <div class="uk-width-1-4">
11 11 <div class="uk-form-row" style="margin-top: 20px;">
12   - <label class="uk-form-label">头站点</label>
  12 + <label class="uk-form-label">头站点</label>
13 13 <div class="uk-form-controls">
14 14 <select id="turnStationSelect">
15 15 <option value="">请选择...</option>
... ... @@ -19,7 +19,7 @@
19 19 </div>
20 20 <div class="uk-width-1-4">
21 21 <div class="uk-form-row" style="margin-top: 20px;">
22   - <label class="uk-form-label">头原因</label>
  22 + <label class="uk-form-label">头原因</label>
23 23 <div class="uk-form-controls">
24 24 <select id="turnReason" style="width: calc(100% - 9px);">
25 25 <option value="">请选择...</option>
... ... @@ -29,7 +29,7 @@
29 29 </div>
30 30 <div class="uk-width-2-4" style="padding-left: 28px;">
31 31 <h6 style="color: #a7a5a5;margin-top: 35px;"><i class="uk-icon-question-circle"> </i>
32   - 如果“头站点”在另一个走向不存在,你需要手动选择第二个营运起点</h6>
  32 + 如果“头站点”在另一个走向不存在,你需要手动选择第二个营运起点</h6>
33 33 </div>
34 34 </div>
35 35 </form>
... ... @@ -343,7 +343,7 @@
343 343 /**
344 344 * 为班次添加备注
345 345 */
346   - var remarks = '掉头' + $('[name=endDate]', csf).val() + ' 因 ' + $('#turnReason', modal).val() + '在' + $('[name=endStation] option:selected', csf).text() + '掉头';
  346 + var remarks = '调头' + $('[name=endDate]', csf).val() + ' 因 ' + $('#turnReason', modal).val() + '在' + $('[name=endStation] option:selected', csf).text() + '调头';
347 347 gb_schedule_table.addRemarks([sch, nextSch], remarks);
348 348 UIkit.modal(modal).hide();
349 349 $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch});
... ... @@ -368,7 +368,7 @@
368 368 //submit
369 369 $('#submitChildTaskBtn', modal).on('click', function () {
370 370 if ($('#turnReason', modal).val() == '') {
371   - return notify_err('你必须选择头原因!');
  371 + return notify_err('你必须选择头原因!');
372 372 }
373 373  
374 374 $(this).addClass('disabled').attr('disabled', 'disabled');
... ... @@ -377,7 +377,7 @@
377 377 fs.formValidation('validate');
378 378 });
379 379  
380   - //头站切换
  380 + //头站切换
381 381 $('#turnStationSelect', modal).on('change', function () {
382 382 turnStation = $(this).val();
383 383 turnStationName = $('option:selected', this).text();
... ...
src/main/resources/static/real_control_v2/js/home/line_panel.js
... ... @@ -122,7 +122,7 @@ var gb_home_line_panel = (function() {
122 122  
123 123 var $t = function(e) {
124 124 return $(e).text();
125   - }
  125 + };
126 126  
127 127 function groupByLineAndUpDown(list) {
128 128 var rs = {},
... ...
src/main/resources/static/real_control_v2/js/main.js
... ... @@ -45,8 +45,10 @@ var gb_main_ep = new EventProxy(),
45 45 //初始化gps异常判定
46 46 gb_gps_abnormal.initData();
47 47  
48   - //嵌入地图页面
49   - $('li.map-panel', '#main-tab-content').load('/real_control_v2/mapmonitor/real.html');
  48 + setTimeout(function () {
  49 + //嵌入地图页面
  50 + $('li.map-panel', '#main-tab-content').load('/real_control_v2/mapmonitor/real.html');
  51 + }, 1000);
50 52 //弹出更新说明
51 53 //showUpdateDescription();
52 54 });
... ...
src/main/resources/static/real_control_v2/js/signal_state/signal_state.js
... ... @@ -10,7 +10,7 @@ var gb_signal_state = (function () {
10 10 });
11 11  
12 12 var signal_state_data = {};
13   - var enable = true;
  13 + var enable = false;//true;
14 14 //读取本地状态
15 15 var locStatus = storage.getItem("signal_state_enable");
16 16 if (locStatus && locStatus=='0')
... ...
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
... ... @@ -28,10 +28,10 @@ input[type=checkbox].disabled{
28 28 overflow: hidden;
29 29 left: auto;
30 30 top: 3px;
31   - box-shadow: none;
32   - border-radius: 5px 0 0 5px;
  31 + border-radius: 9px 0 0 9px;
33 32 border: 1px solid #dedede;
34 33 border-right: none;
  34 + box-shadow: none;
35 35 }
36 36  
37 37 .map-system-msg.flex-left a:before{
... ... @@ -119,14 +119,16 @@ input[type=checkbox].disabled{
119 119 .real_right_gps_panel>form{
120 120 text-align: center;
121 121 margin-top: 20px;
  122 + position: relative;
122 123 }
123 124  
124   -.real_right_gps_panel>form>div.uk-form-icon{
125   - width: 88%;
  125 +.real_right_gps_panel>form div.uk-form-icon{
  126 + width: 100%;
126 127 }
127 128  
128   -.real_right_gps_panel>form>div.uk-form-icon input{
129   - width: 100%;
  129 +.real_right_gps_panel>form div.uk-form-icon input{
  130 + width: calc(100% - 30px);
  131 + font-size: 12px;
130 132 }
131 133  
132 134 .real_right_gps_panel>form>div.uk-form-icon input::-webkit-input-placeholder{
... ... @@ -134,22 +136,12 @@ input[type=checkbox].disabled{
134 136 }
135 137  
136 138 .real_right_gps_panel .gps_tree_list{
137   - height: calc(100% - 80px);
  139 + height: calc(100% - 70px);
138 140 overflow: auto;
139   - padding: 20px 0 0 32px;
  141 + padding: 15px 0 0 32px;
140 142 }
141 143  
142   -/*.real_bottom_panel{
143   - width: 100%;
144   - background: red;
145   - height: 100px;
146   - position: fixed !important;
147   - top: auto !important;
148   - bottom: 0 !important;
149   - left: 0;
150   - right: 0;
151   -}
152   -*/
  144 +
153 145 .real_bottom_panel #handle{
154 146 width: 100%;
155 147 height: 4px;
... ... @@ -562,13 +554,47 @@ input[type=checkbox].disabled{
562 554 margin-left: -5px;
563 555 }
564 556  
565   -/*
566   -.pb_log_item>div{
567   - display: inline-block;
568   -}*/
  557 +.gps_tree_abnormal{
  558 + font-size: 11px;
  559 + padding: 0 1px 0 2px;
  560 + border-radius: 3px;
  561 + margin-left: 2px;
  562 +}
569 563  
570   -/*
571   -.pb_tools_icon i:hover{
572   - color: #787676;
573   - box-shadow: 1px 0px 5px 0 rgba(0,0,0,0.16), -1px 0px 10px 0 rgba(0,0,0,0.12);
574   -}*/
  564 +.gps_tree_abnormal.overspeed{
  565 + background: #ff3232;
  566 + color: white;
  567 +}
  568 +
  569 +.gps_tree_abnormal.outBounds{
  570 + background: #ffff00;
  571 + color: #787777;
  572 +}
  573 +
  574 +.gps_tree_abnormal.overspeed:hover{
  575 + background: #e37878;
  576 + color: white;
  577 +}
  578 +
  579 +.gps_tree_abnormal.outBounds:hover{
  580 + background:#fdfd00;
  581 + color: #595959;
  582 +}
  583 +
  584 +.real_right_gps_panel .ral-gps-autocom .uk-dropdown{
  585 + margin-left: 15px;
  586 + width: 240px;
  587 + text-align: left;
  588 +}
  589 +
  590 +.uk-autocomplete-results.ral-gps-autocom-results{
  591 +
  592 +}
  593 +
  594 +.uk-autocomplete-results.ral-gps-autocom-results .desc{
  595 + color: #8e8e8e;
  596 +}
  597 +
  598 +.uk-nav-autocomplete>li.uk-active>a .desc{
  599 + color: #fff;
  600 +}
575 601 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/config.js
... ... @@ -142,7 +142,7 @@ var gb_map_config = (function () {
142 142 //标识角度
143 143 function carIcon_angle(val) {
144 144 defaultConfig.carIcon.angle=this.checked;
145   - gb_map_overlay_mge.reDraw();
  145 + gb_map_overlay_mge.reDrawGps();
146 146 }
147 147  
148 148 function recursion_get_attr(data, attr) {
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
... ... @@ -7,7 +7,9 @@ var gb_map_gps_tree = (function () {
7 7 var jstreeChanged = function (e, node, event) {
8 8 gb_map_overlay_mge.refresh();
9 9 };
10   -
  10 +
  11 + var readyStatus;
  12 +
11 13 var init = function (cb) {
12 14 var allGps = gb_data_gps.allGps;
13 15 _devices = gb_common.get_keys(allGps);
... ... @@ -16,7 +18,7 @@ var gb_map_gps_tree = (function () {
16 18 treeObj = $('.real_right_gps_panel .gps_tree_list')
17 19 //节点初始化完成
18 20 .on('ready.jstree', function () {
19   - treeObj.jstree(true).open_all();
  21 + //treeObj.jstree(true).open_all();
20 22 //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条)
21 23 $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href');
22 24 })
... ... @@ -24,6 +26,7 @@ var gb_map_gps_tree = (function () {
24 26 .on('state_ready.jstree', function () {
25 27 //绑定checkbox状态切换事件
26 28 treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged);
  29 + readyStatus = true;
27 30 cb && cb();
28 31 })
29 32 .on('activate_node.jstree', function (e, n) {
... ... @@ -43,28 +46,12 @@ var gb_map_gps_tree = (function () {
43 46 'keep_selected_style': false,
44 47 'whole_node': false,
45 48 'tie_selection': false
46   - }/*,
47   - 'contextmenu': {
48   - 'items': {
49   - '轨迹回放': {
50   - 'label': '轨迹回放',
51   - 'action': function (data) {
52   - console.log('action', data);
53   - }
54   - },
55   - '发送指令': {
56   - 'label': '发送指令',
57   - 'action': function (data) {
58   - console.log('action', data);
59   - }
60   - }
61   - }
62   - }*/,
  49 + },
63 50 //local storage里的key
64 51 'state': {
65 52 'key': 'jstree_map_devices'
66 53 },
67   - 'plugins': ['checkbox'/*, 'contextmenu'*/, 'state']
  54 + 'plugins': ['checkbox', 'state']
68 55 });
69 56 };
70 57  
... ... @@ -106,7 +93,7 @@ var gb_map_gps_tree = (function () {
106 93 });
107 94 }
108 95 })();
109   - }
  96 + };
110 97  
111 98 //创建线路和上下行节点
112 99 var create_route_node = function (lineCode, cb) {
... ... @@ -133,7 +120,7 @@ var gb_map_gps_tree = (function () {
133 120 }
134 121 }]
135 122 }, 'last', cb);
136   - }
  123 + };
137 124  
138 125 var appendDeviceNode = function (routeNode, gps, cb) {
139 126 if (!routeNode) {
... ... @@ -150,16 +137,124 @@ var gb_map_gps_tree = (function () {
150 137 'data': {lineId: gps.lineId, upDown: gps.upDown},
151 138 'icon': 'uk-icon-bus'
152 139 }, 'last', cb);
153   - }
  140 + };
  141 +
  142 + /**
  143 + * 上下行改变
  144 + * @param changeArray
  145 + */
  146 + var changeUpDown = function (changeArray) {
  147 + console.log('changeUpDown', changeArray);
  148 + };
  149 +
  150 + /**
  151 + * 更新节点
  152 + */
  153 + var abnormalsMapp = {
  154 + 'outBounds': '越界',
  155 + 'overspeed': '超速'
  156 + };
  157 + var update_node = function (ups) {
  158 + var tree = treeObj.jstree(true)
  159 + ,node,suffix;
  160 + $.each(ups, function () {
  161 + node = tree.get_node('map_tree_device_' + this.nbbm);
  162 + suffix=abnormalsMapp[this['abnormalStatus']];
  163 + suffix = suffix?'<a class="gps_tree_abnormal '+this['abnormalStatus']+'">'+suffix+'</a>':'';
  164 + tree.set_text(node, this.nbbm + suffix);
  165 + });
  166 + };
  167 +
  168 +
  169 + /**
  170 + * 搜索
  171 + */
  172 + var autocom = '.real_right_gps_panel .ral-gps-autocom'
  173 + ,_input = $('input', autocom);
  174 +
  175 + var autocomplete_source = function(release) {
  176 + var rs = [],
  177 + v = _input.val().toUpperCase(), count=0;
  178 +
  179 + $.each(gb_common.get_vals(gb_data_gps.allGps), function () {
  180 + if(this.nbbm.indexOf(v) != -1){
  181 + rs.push({
  182 + value: this.nbbm,
  183 + lineName: '青浦1路',
  184 + stationName: this.stationName?this.stationName:'',
  185 + dateStr: this.dateStr
  186 + });
  187 + count++;
  188 + }
  189 + if(count > 11)
  190 + return false;
  191 + });
  192 + release && release(rs);
  193 + };
  194 +
  195 + var selectitem = function (event, data, acobject) {
  196 + //var deviceId = gb_data_basic.nbbm2deviceMap()[data.value];
  197 + //gb_map_imap.call('drawRealGpsMarker', {gpsList: [gb_data_gps.findOne(deviceId)]});
  198 + //地图定位
  199 + //gb_map_overlay_mge._focus(gb_data_basic.nbbm2deviceMap()[data.value]);
  200 +
  201 + var tree = treeObj.jstree(true)
  202 + var deviceId = gb_data_basic.nbbm2deviceMap()[data.value]
  203 + ,gps = gb_data_gps.findOne(deviceId);
  204 +
  205 + //展开线路节点
  206 + tree.open_node(tree.get_node('map_tree_line_' + gps.lineId), function () {
  207 + //展开走向节点
  208 + tree.open_node(tree.get_node('map_tree_route_' + gps.lineId + '_' + gps.upDown), function () {
  209 + //选中车辆
  210 + var id = 'map_tree_device_' + data.value;
  211 + var node = tree.get_node(id);
  212 + tree.check_node(node);
  213 +
  214 + var $e = $('#'+id);
  215 + treeObj.animate({
  216 + scrollTop: $e.offset().top - treeObj.offset().top + treeObj.scrollTop()
  217 + }, 500);
  218 + //地图定位
  219 + gb_map_overlay_mge._focus(gb_data_basic.nbbm2deviceMap()[data.value]);
  220 + }, false);
  221 + });
  222 + };
  223 + var result_template = '<script type="text/autocomplete">' +
  224 + ' <ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results ral-gps-autocom-results">' +
  225 + ' {{~items}}' +
  226 + ' <li data-value="{{ $item.value }}">' +
  227 + ' <a>' +
  228 + ' {{ $item.value }} <small class="desc"> {{ $item.stationName }}</small>' +
  229 + ' <div class="desc"><span>{{$item.dateStr}}</span></div>' +
  230 + ' </a>' +
  231 + ' </li>' +
  232 + ' {{/items}}' +
  233 + ' </ul>' +
  234 + '</script>';
  235 +
  236 + $(autocom).append(result_template);
  237 + UIkit.autocomplete(autocom, {
  238 + minLength: 1,
  239 + delay: 10,
  240 + source: autocomplete_source
  241 + }).on('selectitem.uk.autocomplete', selectitem);
  242 +
  243 +
154 244  
155 245 return {
156 246 init: init,
  247 + readyStatus: function () {
  248 + return readyStatus;
  249 + },
157 250 getChecked: function () {
158 251 return treeObj.jstree(true).get_checked(true);
159 252 },
160 253 all_devices: function () {
161 254 return _devices;
162 255 },
163   - create_node: create_node
  256 + create_node: create_node,
  257 + changeUpDown: changeUpDown,
  258 + update_node: update_node
164 259 };
165 260 })();
166 261 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/map/iMap.js
... ... @@ -92,7 +92,7 @@ var gb_map_imap = (function () {
92 92  
93 93 var canvas = $('<canvas></canvas>')[0];
94 94 canvas.width = w;
95   - canvas.height = 75;
  95 + canvas.height = 64;
96 96 var ctx = canvas.getContext('2d');
97 97  
98 98 var colours = color(gps);
... ... @@ -101,13 +101,13 @@ var gb_map_imap = (function () {
101 101 //ctx.shadowBlur = 1; // 模糊尺寸
102 102 //ctx.shadowColor = colours.shadow; // 颜色
103 103  
104   - ctx.roundRect(0, 0, w, 24, 5).stroke();
  104 + ctx.roundRect(0, 0, w, 19, 4).stroke();
105 105 ctx.fillStyle = colours.bgColor;
106 106 ctx.fill();
107 107 //文字
108 108 ctx.font = "14px arial";
109 109 ctx.fillStyle = "#fff";
110   - ctx.fillText(gps.nbbm, 2, 17);
  110 + ctx.fillText(gps.nbbm, 2, 14);
111 111  
112 112 //角度图标
113 113 var img = new Image();
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/baidu.js
... ... @@ -179,6 +179,12 @@ var gb_map_baidu = (function(){
179 179 carparks = {};
180 180 map.clearOverlays();
181 181 },
  182 + clearAllGps: function () {
  183 + $.each(gb_common.get_vals(realMarkers), function () {
  184 + map.removeOverlay(this);
  185 + });
  186 + realMarkers = {};
  187 + },
182 188 showGpsMarker:function (opt) {
183 189 var chs = opt.chs;
184 190 for(var device in realMarkers){
... ... @@ -203,6 +209,8 @@ var gb_map_baidu = (function(){
203 209 var deviceId = opts.deviceId
204 210 ,m = realMarkers[deviceId];
205 211 if(m){
  212 + if(!m.isVisible())
  213 + m.show();
206 214 map.panTo(m.point, {noAnimation: true});
207 215 //setTop(m);
208 216 }
... ... @@ -336,9 +344,9 @@ var gb_map_baidu = (function(){
336 344  
337 345 //如果需要标识角度
338 346 if(config.carIcon.angle)
339   - marker.setIcon(new BMap.Icon(gb_map_imap.createCarIconRotation(gpsData, w), new BMap.Size(w,75)));
  347 + marker.setIcon(new BMap.Icon(gb_map_imap.createCarIconRotation(gpsData, w), new BMap.Size(w,70)));
340 348 else
341   - marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,25)));
  349 + marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,20)));
342 350 }
343 351  
344 352 function createStationMark(statio) {
... ... @@ -348,7 +356,7 @@ var gb_map_baidu = (function(){
348 356 //根据站点名称 计算marker 宽度
349 357 var w = statio.stationName.length * 12 + 4
350 358 ,iw=w-2;
351   - var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,20), {anchor: new BMap.Size(iw/2,20)})
  359 + var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,24), {anchor: new BMap.Size(iw/2,24)})
352 360 marker.setIcon(icon);
353 361  
354 362 //信息窗口
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/gaode.js
... ... @@ -63,6 +63,10 @@ var gb_map_gaode = (function() {
63 63 carparks={};
64 64 map.clearMap();
65 65 },
  66 + clearAllGps: function () {
  67 + map.remove(gb_common.get_vals(realMarkers));
  68 + realMarkers = {};
  69 + },
66 70 drawLine: function(opt){
67 71 if(polylines[opt.id])
68 72 return;
... ... @@ -331,17 +335,17 @@ var gb_map_gaode = (function() {
331 335 //如果需要标识角度
332 336 if(config.carIcon.angle) {
333 337 marker.setIcon(new AMap.Icon({
334   - size: new AMap.Size(w, 75), //图标大小
  338 + size: new AMap.Size(w, 70), //图标大小
335 339 image: gb_map_imap.createCarIconRotation(gps, w)
336 340 }));
337 341 marker.setOffset(new AMap.Pixel(-(w / 2), -35));
338 342 }
339 343 else{
340 344 marker.setIcon(new AMap.Icon({
341   - size: new AMap.Size(w, 25), //图标大小
  345 + size: new AMap.Size(w, 20), //图标大小
342 346 image: gb_map_imap.createCarIcon(gps, w)
343 347 }));
344   - marker.setOffset(new AMap.Pixel(-(w / 2), -12.5));
  348 + marker.setOffset(new AMap.Pixel(-(w / 2), -10.5));
345 349 }
346 350 }
347 351  
... ... @@ -354,10 +358,10 @@ var gb_map_gaode = (function() {
354 358 map: map,
355 359 position: [statio.gcj_lon, statio.gcj_lat],
356 360 icon: new AMap.Icon({
357   - size: new AMap.Size(w, 20), //图标大小
  361 + size: new AMap.Size(w, 24), //图标大小
358 362 image: gb_map_imap.createStationIcon(statio, w)
359 363 }),
360   - offset: new AMap.Pixel(-(w/2), -20)
  364 + offset: new AMap.Pixel(-(w/2), -24)
361 365 });
362 366  
363 367 //信息窗口
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/map_overlay_manager.js
... ... @@ -11,25 +11,22 @@ var gb_map_overlay_mge = (function () {
11 11 //如果地图正在重绘,暂时不刷新GPS
12 12 if(reDrawing)
13 13 return;
14   - var all = addArr.concat(upArr).concat(upDownChange);
15   - gpsRefreshAll(all);
  14 + //var all = addArr.concat(upArr).concat(upDownChange);
  15 + gpsRefreshAll(addArr, upArr, upDownChange);
16 16  
17 17 };
18 18  
19   - var gpsRefreshAll = function (allList) {
20   - //是否需要添加樹節點
21   - var newTreeNodes=[], currArray=gb_map_gps_tree.all_devices();
22   - $.each(allList, function () {
23   - if(currArray.indexOf(this.deviceId) == -1)
24   - newTreeNodes.push(this);
25   - });
26   -
27   - gb_map_imap.call('drawRealGpsMarker', {gpsList: allList});
28   -
29   - //有新设备上线
30   - if(newTreeNodes.length > 0){
31   - gb_map_gps_tree.create_node(newTreeNodes, showOverlayByChecks);
  19 + var gpsRefreshAll = function (addArr, upArr, upDownChange) {
  20 + //更新设备树菜单
  21 + if(gb_map_gps_tree.readyStatus()){
  22 + gb_map_gps_tree.create_node(addArr);
  23 + gb_map_gps_tree.update_node(upArr);
  24 + gb_map_gps_tree.changeUpDown(upDownChange);
32 25 }
  26 +
  27 + //更新地图
  28 + var all = addArr.concat(upArr).concat(upDownChange);
  29 + gb_map_imap.call('drawRealGpsMarker', {gpsList: all});
33 30 };
34 31  
35 32 var deviceFilter = function (node) {
... ... @@ -83,15 +80,26 @@ var gb_map_overlay_mge = (function () {
83 80 gb_map_imap.call('clearAll');
84 81  
85 82 drawAllSection();
86   - //初始绘制
87   - gpsRefreshAll(gb_common.get_vals(gb_data_gps.allGps));
  83 + //重绘GPS
  84 + gb_map_imap.call('drawRealGpsMarker', {gpsList: gb_common.get_vals(gb_data_gps.allGps)});
88 85  
89 86 showOverlayByChecks();
90 87 //显示路段
91 88 showSection(getCheckedDevice());
92 89  
93 90 reDrawing = false;
94   - }
  91 + };
  92 +
  93 + //重绘GPS
  94 + var reDrawGps = function () {
  95 + reDrawing = true;
  96 + gb_map_imap.call('clearAllGps');
  97 + //重绘GPS
  98 + gb_map_imap.call('drawRealGpsMarker', {gpsList: gb_common.get_vals(gb_data_gps.allGps)});
  99 +
  100 + showOverlayByChecks();
  101 + reDrawing = false;
  102 + };
95 103  
96 104 var init = function () {
97 105 reDraw();
... ... @@ -102,7 +110,7 @@ var gb_map_overlay_mge = (function () {
102 110 centerToRational();
103 111 };
104 112  
105   -
  113 +
106 114 var showOverlayByChecks = function () {
107 115 var chs = getCheckedDevice(),chsMap={};
108 116 $.each(chs, function () {
... ... @@ -115,7 +123,7 @@ var gb_map_overlay_mge = (function () {
115 123 showSection(chs);
116 124  
117 125 };
118   -
  126 +
119 127 var _focus = function (deviceId) {
120 128 gb_map_imap.call('goToMarker', {deviceId: deviceId});
121 129 //打开信息窗口
... ... @@ -125,14 +133,14 @@ var gb_map_overlay_mge = (function () {
125 133 //站点获得焦点
126 134 var _focus_station = function (station) {
127 135 gb_map_imap.call('goToStation', station.stationCode);
128   - }
  136 + };
129 137  
130 138 //停车场获得焦点
131 139 var _focus_carpark = function (carpark) {
132 140 //console.log('_focus_carpark', carpark);
133 141 gb_map_imap.call('goToCarpark', carpark.parkCode);
134   - }
135   -
  142 + };
  143 +
136 144 function getCheckedDevice() {
137 145 return gb_map_gps_tree.getChecked().filter(deviceFilter);
138 146 }
... ... @@ -144,7 +152,7 @@ var gb_map_overlay_mge = (function () {
144 152 gb_map_imap.call('drawStationMarker', {list: list});
145 153 //绘制电子围栏
146 154 drawElectronicFence(list);
147   - }
  155 + };
148 156  
149 157 //绘制电子围栏
150 158 var drawElectronicFence = function (list) {
... ... @@ -162,13 +170,13 @@ var gb_map_overlay_mge = (function () {
162 170 fun=this.shapesType=='r'?drawCircle:drawPolygon;
163 171 fun(this);
164 172 });
165   - }
  173 + };
166 174  
167 175 //绘制停车场
168 176 var drawCarpark = function () {
169 177 var list = gb_map_spatial_data.gteCheckedCarpark();
170 178 gb_map_imap.call('drawCarpark', {list: list});
171   - }
  179 + };
172 180  
173 181 var drawCircle=function (data) {
174 182 var config = gb_map_config.getConfig().section.color;
... ... @@ -185,7 +193,7 @@ var gb_map_overlay_mge = (function () {
185 193 };
186 194  
187 195 gb_map_imap.call('drawCircle', opt);
188   - }
  196 + };
189 197  
190 198 var drawPolygon=function (data) {
191 199 var config = gb_map_config.getConfig().section.color;
... ... @@ -199,7 +207,7 @@ var gb_map_overlay_mge = (function () {
199 207 };
200 208  
201 209 gb_map_imap.call('drawPolygon', opt);
202   - }
  210 + };
203 211  
204 212 //地图居中至合理的位置
205 213 var centerToRational=function () {
... ... @@ -208,8 +216,8 @@ var gb_map_overlay_mge = (function () {
208 216 var id=chs[0].data.lineId+'_'+chs[0].data.upDown;
209 217 gb_map_imap.call('centerToLine', {id: id});
210 218 }
211   - }
212   -
  219 + };
  220 +
213 221 return {
214 222 init: init,
215 223 refresh: showOverlayByChecks,
... ... @@ -226,6 +234,7 @@ var gb_map_overlay_mge = (function () {
226 234 return temps['map-win-carpark-detail-temp'](data);
227 235 },
228 236 reDraw: reDraw,
  237 + reDrawGps: reDrawGps,
229 238 getCheckedDevice: getCheckedDevice,
230 239 drawStation: drawStation,
231 240 drawElectronicFence: drawElectronicFence,
... ...
src/main/resources/static/real_control_v2/mapmonitor/real.html
... ... @@ -5,31 +5,18 @@
5 5 <link rel="stylesheet" href="/real_control_v2/mapmonitor/css/real.css"/>
6 6 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/progress.gradient.min.css">
7 7  
8   -<div class="map-system-msg">
9   - <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank">
10   - 当前地图模块正在维护升级中,请点这里打开原版地图
11   -
12   - <i class="uk-icon-close map-system-msg-close"></i>
13   - </a>
  8 +<div class="map-system-msg flex-left">
  9 + <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank"></a>
14 10 </div>
15   -<script>
16   - $('.map-system-msg-close').on('click', function (e) {
17   - e.stopPropagation();
18   - $('.map-system-msg').addClass('flex-left');
19   - return false;
20   - });
21   -
22   - setTimeout(function () {
23   - $('.map-system-msg-close').trigger('click');
24   - }, 2000);
25   -</script>
26 11  
27 12 <div id="real_map_container"></div>
28 13 <div class="real_right_gps_panel">
29   - <form class="uk-form" data-uk-margin="">
30   - <div class="uk-form-icon">
31   - <i class="uk-icon-search"></i>
32   - <input type="text" placeholder="搜索..." disabled>
  14 + <form class="uk-form" >
  15 + <div class="uk-autocomplete uk-form ral-gps-autocom" style="width: 100%;">
  16 + <div class="uk-form-icon">
  17 + <i class="uk-icon-search"></i>
  18 + <input type="text" placeholder="搜索...">
  19 + </div>
33 20 </div>
34 21 </form>
35 22  
... ... @@ -40,7 +27,7 @@
40 27 <!--<div id="handle" class="ui-resizable-handle ui-resizable-n"></div>-->
41 28 <div class="real_br_cont map_config_wrap"></div>
42 29 <div class="telescopic">
43   - <i class="uk-icon-angle-double-up" ></i>
  30 + <i class="uk-icon-angle-double-up"></i>
44 31 </div>
45 32 </div>
46 33  
... ...