Commit a2d7d7912d1a60d673950defec8b4a3a8aba50bd

Authored by 徐烜
2 parents 8939a8a1 24249d24

Merge branch 'minhang' of http://222.66.0.204:8090//panzhaov5/bsth_control into minhang

Showing 42 changed files with 754 additions and 220 deletions
src/main/java/com/bsth/data/LineConfigData.java
@@ -87,7 +87,7 @@ public class LineConfigData implements CommandLineRunner { @@ -87,7 +87,7 @@ public class LineConfigData implements CommandLineRunner {
87 //托管状态 87 //托管状态
88 conf.setTrust(true); 88 conf.setTrust(true);
89 //出场时间类型 89 //出场时间类型
90 - conf.setOutConfig(1); 90 + conf.setOutConfig(0);
91 //进场时间类型 91 //进场时间类型
92 //conf.setInConfig(1); 92 //conf.setInConfig(1);
93 //短语模板 93 //短语模板
src/main/java/com/bsth/data/gpsdata/GpsRealData.java
@@ -84,6 +84,9 @@ public class GpsRealData implements CommandLineRunner { @@ -84,6 +84,9 @@ public class GpsRealData implements CommandLineRunner {
84 //站点名称 84 //站点名称
85 gps.setStationName(getStationName(gps)); 85 gps.setStationName(getStationName(gps));
86 lineCode2Devices.put(gps.getLineId(), device); 86 lineCode2Devices.put(gps.getLineId(), device);
  87 +
  88 + if(old != null && !gps.getLineId().equals(old.getLineId()))
  89 + lineCode2Devices.remove(old.getLineId(), device);
87 } 90 }
88 } 91 }
89 92
src/main/resources/static/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css 0 → 100644
  1 +/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  2 +.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f7f7f7;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}
0 \ No newline at end of file 3 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.min.js 0 → 100644
  1 +/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  2 +!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-accordion",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";function i(i){var e=t.$(i),o="auto";if(e.is(":visible"))o=e.outerHeight();else{var a={position:e.css("position"),visibility:e.css("visibility"),display:e.css("display")};o=e.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),e.css(a)}return o}return t.component("accordion",{defaults:{showfirst:!0,collapse:!0,animate:!0,easing:"swing",duration:300,toggle:".uk-accordion-title",containers:".uk-accordion-content",clsactive:"uk-active"},boot:function(){t.ready(function(i){setTimeout(function(){t.$("[data-uk-accordion]",i).each(function(){var i=t.$(this);i.data("accordion")||t.accordion(i,t.Utils.options(i.attr("data-uk-accordion")))})},0)})},init:function(){var i=this;this.element.on("click.uk.accordion",this.options.toggle,function(e){e.preventDefault(),i.toggleItem(t.$(this).data("wrapper"),i.options.animate,i.options.collapse)}),this.update(!0),t.domObserve(this.element,function(){i.element.children(i.options.containers).length&&i.update()})},toggleItem:function(e,o,a){var n=this;e.data("toggle").toggleClass(this.options.clsactive),e.data("content").toggleClass(this.options.clsactive);var s=e.data("toggle").hasClass(this.options.clsactive);a&&(this.toggle.not(e.data("toggle")).removeClass(this.options.clsactive),this.content.not(e.data("content")).removeClass(this.options.clsactive).parent().stop().css("overflow","hidden").animate({height:0},{easing:this.options.easing,duration:o?this.options.duration:0}).attr("aria-expanded","false")),e.stop().css("overflow","hidden"),o?e.animate({height:s?i(e.data("content")):0},{easing:this.options.easing,duration:this.options.duration,complete:function(){s&&(e.css({overflow:"",height:"auto"}),t.Utils.checkDisplay(e.data("content"))),n.trigger("display.uk.check")}}):(e.height(s?"auto":0),s&&(e.css({overflow:""}),t.Utils.checkDisplay(e.data("content"))),this.trigger("display.uk.check")),e.attr("aria-expanded",s),this.element.trigger("toggle.uk.accordion",[s,e.data("toggle"),e.data("content")])},update:function(i){var e,o,a,n=this;this.toggle=this.find(this.options.toggle),this.content=this.find(this.options.containers),this.content.each(function(i){e=t.$(this),e.parent().data("wrapper")?o=e.parent():(o=t.$(this).wrap('<div data-wrapper="true" style="overflow:hidden;height:0;position:relative;"></div>').parent(),o.attr("aria-expanded","false")),a=n.toggle.eq(i),o.data("toggle",a),o.data("content",e),a.data("wrapper",o),e.data("wrapper",o)}),this.element.trigger("update.uk.accordion",[this]),i&&this.options.showfirst&&this.toggleItem(this.toggle.eq(0).data("wrapper"),!1,!1)}}),t.accordion});
0 \ No newline at end of file 3 \ No newline at end of file
src/main/resources/static/real_control_v2/assets/plugins/uikit-2.27.1/components/timepicker.min.js 0 → 100644
  1 +/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  2 +!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-timepicker",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";function e(t,e){t=t||0,e=e||24;var i,o,a={"12h":[],"24h":[]};for(i=t,o="";e>i;i++)o=""+i,10>i&&(o="0"+o),a["24h"].push({value:o+":00"}),a["24h"].push({value:o+":30"}),0===i&&(o=12,a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>0&&13>i&&12!==i&&(a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>=12&&(o-=12,0===o&&(o=12),10>o&&(o="0"+String(o)),a["12h"].push({value:o+":00 PM"}),a["12h"].push({value:o+":30 PM"}));return a}t.component("timepicker",{defaults:{format:"24h",delay:0,start:0,end:24},boot:function(){t.$html.on("focus.timepicker.uikit","[data-uk-timepicker]",function(){var e=t.$(this);if(!e.data("timepicker")){var i=t.timepicker(e,t.Utils.options(e.attr("data-uk-timepicker")));setTimeout(function(){i.autocomplete.input.focus()},40)}})},init:function(){var i,o=this,a=e(this.options.start,this.options.end);this.options.minLength=0,this.options.template='<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">{{~items}}<li data-value="{{$item.value}}"><a>{{$item.value}}</a></li>{{/items}}</ul>',this.options.source=function(t){t(a[o.options.format]||a["12h"])},this.element.is("input")?(this.element.wrap('<div class="uk-autocomplete"></div>'),i=this.element.parent()):i=this.element.addClass("uk-autocomplete"),this.autocomplete=t.autocomplete(i,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("show.uk.autocomplete",function(){var t=o.autocomplete.dropdown.find('[data-value="'+o.autocomplete.input.val()+'"]');setTimeout(function(){o.autocomplete.pick(t,!0)},10)}),this.autocomplete.input.on("focus",function(){o.autocomplete.value=Math.random(),o.autocomplete.triggercomplete()}).on("blur",t.Utils.debounce(function(){o.checkTime()},100)),this.element.data("timepicker",this)},checkTime:function(){var t,e,i,o,a="AM",u=this.autocomplete.input.val();"12h"==this.options.format?(t=u.split(" "),e=t[0].split(":"),a=t[1]):e=u.split(":"),i=parseInt(e[0],10),o=parseInt(e[1],10),isNaN(i)&&(i=0),isNaN(o)&&(o=0),"12h"==this.options.format?(i>12?i=12:0>i&&(i=12),"am"===a||"a"===a?a="AM":("pm"===a||"p"===a)&&(a="PM"),"AM"!==a&&"PM"!==a&&(a="AM")):i>=24?i=23:0>i&&(i=0),0>o?o=0:o>=60&&(o=0),this.autocomplete.input.val(this.formatTime(i,o,a)).trigger("change")},formatTime:function(t,e,i){return t=10>t?"0"+t:t,e=10>e?"0"+e:e,t+":"+e+("12h"==this.options.format?" "+i:"")}})});
0 \ No newline at end of file 3 \ No newline at end of file
src/main/resources/static/real_control_v2/css/main.css
@@ -71,7 +71,7 @@ table.ct-fixed-table { @@ -71,7 +71,7 @@ table.ct-fixed-table {
71 table-layout: fixed; 71 table-layout: fixed;
72 } 72 }
73 73
74 -table.ct-fixed-table tr.context-menu-active{ 74 +table.ct-fixed-table tr.context-menu-active {
75 background: #f0f0f0; 75 background: #f0f0f0;
76 } 76 }
77 77
@@ -141,8 +141,8 @@ svg.line-chart path.station_link.down { @@ -141,8 +141,8 @@ svg.line-chart path.station_link.down {
141 stroke: #c92121; 141 stroke: #c92121;
142 } 142 }
143 143
144 -svg.line-chart path.station_link.down.loop_line{  
145 - stroke-dasharray: 4,3; 144 +svg.line-chart path.station_link.down.loop_line {
  145 + stroke-dasharray: 4, 3;
146 stroke-width: 1px; 146 stroke-width: 1px;
147 } 147 }
148 148
@@ -162,27 +162,27 @@ svg.line-chart text.station_text.down { @@ -162,27 +162,27 @@ svg.line-chart text.station_text.down {
162 fill: #c94f21; 162 fill: #c94f21;
163 } 163 }
164 164
165 -svg.line-chart g.item:first-child>text { 165 +svg.line-chart g.item:first-child > text {
166 stroke: #6f6e6e; 166 stroke: #6f6e6e;
167 fill: none; 167 fill: none;
168 } 168 }
169 169
170 -svg.line-chart g.item:nth-last-child(3)>text { 170 +svg.line-chart g.item:nth-last-child(3) > text {
171 stroke: #6f6e6e; 171 stroke: #6f6e6e;
172 fill: none; 172 fill: none;
173 } 173 }
174 174
175 -svg.line-chart g.item:first-child>text.up ,  
176 -svg.line-chart g.item:nth-last-child(3)>text.up { 175 +svg.line-chart g.item:first-child > text.up,
  176 +svg.line-chart g.item:nth-last-child(3) > text.up {
177 stroke: #4556b6; 177 stroke: #4556b6;
178 } 178 }
179 179
180 -svg.line-chart g.item:first-child>text.down ,  
181 -svg.line-chart g.item:nth-last-child(3)>text.down { 180 +svg.line-chart g.item:first-child > text.down,
  181 +svg.line-chart g.item:nth-last-child(3) > text.down {
182 stroke: #c94f21; 182 stroke: #c94f21;
183 } 183 }
184 184
185 -svg.line-chart g.gps-wrap>rect { 185 +svg.line-chart g.gps-wrap > rect {
186 width: 30px; 186 width: 30px;
187 height: 15px; 187 height: 15px;
188 /* fill: #fff; */ 188 /* fill: #fff; */
@@ -190,42 +190,43 @@ svg.line-chart g.gps-wrap&gt;rect { @@ -190,42 +190,43 @@ svg.line-chart g.gps-wrap&gt;rect {
190 cursor: pointer; 190 cursor: pointer;
191 } 191 }
192 192
193 -svg.line-chart g.gps-wrap>rect[updown="0"] { 193 +svg.line-chart g.gps-wrap > rect[updown="0"] {
194 stroke: rgb(62, 80, 179); 194 stroke: rgb(62, 80, 179);
195 fill: rgb(62, 80, 179); 195 fill: rgb(62, 80, 179);
196 } 196 }
197 197
198 -svg.line-chart g.gps-wrap>rect[updown="1"] { 198 +svg.line-chart g.gps-wrap > rect[updown="1"] {
199 stroke: #c94f21; 199 stroke: #c94f21;
200 fill: #c94f21; 200 fill: #c94f21;
201 } 201 }
202 202
203 -svg.line-chart g.gps-wrap>rect.hover { 203 +svg.line-chart g.gps-wrap > rect.hover {
204 stroke-width: 2; 204 stroke-width: 2;
205 } 205 }
206 206
207 -svg.line-chart g.gps-wrap>text { 207 +svg.line-chart g.gps-wrap > text {
208 font-size: 12px; 208 font-size: 12px;
209 transform: translate(0, 12px); 209 transform: translate(0, 12px);
210 pointer-events: none; 210 pointer-events: none;
211 } 211 }
212 212
213 -svg.line-chart g.gps-wrap>text[updown="0"] { 213 +svg.line-chart g.gps-wrap > text[updown="0"] {
214 fill: #fff; 214 fill: #fff;
215 } 215 }
216 216
217 -svg.line-chart g.gps-wrap>text[updown="1"] { 217 +svg.line-chart g.gps-wrap > text[updown="1"] {
218 fill: #fff; 218 fill: #fff;
219 } 219 }
220 220
221 -svg.line-chart g.gps-wrap>rect.abnormal[updown="0"] ,  
222 -svg.line-chart g.gps-wrap>rect.abnormal[updown="1"]{ 221 +svg.line-chart g.gps-wrap > rect.abnormal[updown="0"],
  222 +svg.line-chart g.gps-wrap > rect.abnormal[updown="1"] {
223 width: 40px; 223 width: 40px;
224 fill: yellow; 224 fill: yellow;
225 stroke: yellow; 225 stroke: yellow;
226 } 226 }
227 -svg.line-chart g.gps-wrap>text.abnormal[updown="0"],  
228 -svg.line-chart g.gps-wrap>text.abnormal[updown="1"]{ 227 +
  228 +svg.line-chart g.gps-wrap > text.abnormal[updown="0"],
  229 +svg.line-chart g.gps-wrap > text.abnormal[updown="1"] {
229 fill: black; 230 fill: black;
230 } 231 }
231 232
@@ -240,7 +241,7 @@ svg.line-chart g.merge-item rect { @@ -240,7 +241,7 @@ svg.line-chart g.merge-item rect {
240 fill: #19a53a; 241 fill: #19a53a;
241 cursor: pointer; 242 cursor: pointer;
242 stroke: #19a53a; 243 stroke: #19a53a;
243 - stroke-dasharray: 1,2; 244 + stroke-dasharray: 1, 2;
244 stroke-width: 3px; 245 stroke-width: 3px;
245 } 246 }
246 247
@@ -263,15 +264,15 @@ svg.line-chart g.merge-item text { @@ -263,15 +264,15 @@ svg.line-chart g.merge-item text {
263 width: 220px; 264 width: 220px;
264 } 265 }
265 266
266 -.multi-tooltip-wrap{  
267 - width: 100%;  
268 - max-height: 350px;  
269 - overflow: auto; 267 +.multi-tooltip-wrap {
  268 + width: 100%;
  269 + max-height: 350px;
  270 + overflow: auto;
270 } 271 }
271 272
272 -.tip_map_wrap.multi{  
273 - width: 100%;  
274 - height: 130px; 273 +.tip_map_wrap.multi {
  274 + width: 100%;
  275 + height: 130px;
275 } 276 }
276 277
277 .tooltip.multi-tooltip { 278 .tooltip.multi-tooltip {
@@ -335,12 +336,12 @@ canvas.crosshair-layer { @@ -335,12 +336,12 @@ canvas.crosshair-layer {
335 left: 0; 336 left: 0;
336 } 337 }
337 338
338 -li.map-panel{  
339 - height: 100%;  
340 - position: relative; 339 +li.map-panel {
  340 + height: 100%;
  341 + position: relative;
341 } 342 }
342 343
343 -.main-container .load-panel{ 344 +.main-container .load-panel {
344 display: block; 345 display: block;
345 color: #999797; 346 color: #999797;
346 } 347 }
@@ -348,7 +349,7 @@ li.map-panel{ @@ -348,7 +349,7 @@ li.map-panel{
348 .uk-panel-box-danger { 349 .uk-panel-box-danger {
349 background-color: #fff1f0; 350 background-color: #fff1f0;
350 /*color: #d85030;*/ 351 /*color: #d85030;*/
351 - border-color: rgba(216,80,48,.3); 352 + border-color: rgba(216, 80, 48, .3);
352 } 353 }
353 354
354 /*.uk-panel-box-danger .uk-panel-title { 355 /*.uk-panel-box-danger .uk-panel-title {
@@ -357,25 +358,25 @@ li.map-panel{ @@ -357,25 +358,25 @@ li.map-panel{
357 358
358 .uk-badge-default { 359 .uk-badge-default {
359 background-color: #a09b9c; 360 background-color: #a09b9c;
360 - background-image: -webkit-linear-gradient(top,#9a9898,#8c8687);  
361 - background-image: linear-gradient(to bottom,#9a9898,#8c8687); 361 + background-image: -webkit-linear-gradient(top, #9a9898, #8c8687);
  362 + background-image: linear-gradient(to bottom, #9a9898, #8c8687);
362 } 363 }
363 364
364 -.ct-bottom-drawer{ 365 +.ct-bottom-drawer {
365 width: 100%; 366 width: 100%;
366 background: rgb(255, 255, 255); 367 background: rgb(255, 255, 255);
367 position: fixed; 368 position: fixed;
368 bottom: 0; 369 bottom: 0;
369 - box-shadow: 0 0 10px rgba(0,0,0,.3); 370 + box-shadow: 0 0 10px rgba(0, 0, 0, .3);
370 transition: all .3s ease; 371 transition: all .3s ease;
371 height: 0; 372 height: 0;
372 } 373 }
373 374
374 -.ct-bottom-drawer.open{ 375 +.ct-bottom-drawer.open {
375 height: 320px; 376 height: 320px;
376 } 377 }
377 378
378 -.ct-bottom-drawer a.ct-bottom-drawer-close{ 379 +.ct-bottom-drawer a.ct-bottom-drawer-close {
379 position: absolute; 380 position: absolute;
380 right: 10px; 381 right: 10px;
381 top: 10px; 382 top: 10px;
@@ -387,7 +388,7 @@ li.map-panel{ @@ -387,7 +388,7 @@ li.map-panel{
387 z-index: 99; 388 z-index: 99;
388 } 389 }
389 390
390 -.ct-bottom-drawer a.ct-bottom-drawer-close:hover{ 391 +.ct-bottom-drawer a.ct-bottom-drawer-close:hover {
391 text-decoration: none; 392 text-decoration: none;
392 color: grey; 393 color: grey;
393 } 394 }
@@ -398,33 +399,39 @@ li.map-panel{ @@ -398,33 +399,39 @@ li.map-panel{
398 font-family: FontAwesome; 399 font-family: FontAwesome;
399 } 400 }
400 401
401 -.ct-bottom-drawer-body{ 402 +.ct-bottom-drawer-body {
402 width: 100%; 403 width: 100%;
403 height: 100%; 404 height: 100%;
404 } 405 }
405 406
406 -#station_route_spacing_chart_drawer .svg_wrap{  
407 - width: 80%;height: 100%;display: inline-block;font-size: 14px;overflow: hidden; 407 +#station_route_spacing_chart_drawer .svg_wrap {
  408 + width: 80%;
  409 + height: 100%;
  410 + display: inline-block;
  411 + font-size: 14px;
  412 + overflow: hidden;
408 position: relative; 413 position: relative;
409 } 414 }
410 415
411 -#station_route_spacing_chart_drawer .drawer_right_map{  
412 - width: 20%;height: 100%;display: inline-block; 416 +#station_route_spacing_chart_drawer .drawer_right_map {
  417 + width: 20%;
  418 + height: 100%;
  419 + display: inline-block;
413 } 420 }
414 421
415 -#station_route_spacing_chart_drawer .svg_cont_body{  
416 - height:100%; 422 +#station_route_spacing_chart_drawer .svg_cont_body {
  423 + height: 100%;
417 position: absolute; 424 position: absolute;
418 - top:0; 425 + top: 0;
419 left: 0; 426 left: 0;
420 } 427 }
421 428
422 -#station_route_spacing_chart_drawer svg{ 429 +#station_route_spacing_chart_drawer svg {
423 width: 100%; 430 width: 100%;
424 height: 100%; 431 height: 100%;
425 } 432 }
426 433
427 -#station_route_spacing_chart_drawer svg g._item rect{ 434 +#station_route_spacing_chart_drawer svg g._item rect {
428 stroke: rgb(62, 80, 179); 435 stroke: rgb(62, 80, 179);
429 fill: rgb(62, 80, 179); 436 fill: rgb(62, 80, 179);
430 width: 30px; 437 width: 30px;
@@ -433,26 +440,25 @@ li.map-panel{ @@ -433,26 +440,25 @@ li.map-panel{
433 transform: translate(-15px); 440 transform: translate(-15px);
434 } 441 }
435 442
436 -  
437 -#station_route_spacing_chart_drawer svg g._item text{ 443 +#station_route_spacing_chart_drawer svg g._item text {
438 writing-mode: tb; 444 writing-mode: tb;
439 transform: translate(0, 9px); 445 transform: translate(0, 9px);
440 fill: #fff; 446 fill: #fff;
441 } 447 }
442 448
443 -#station_route_spacing_chart_drawer svg g._item path{ 449 +#station_route_spacing_chart_drawer svg g._item path {
444 stroke-width: 5.4px; 450 stroke-width: 5.4px;
445 stroke: #3e50b3; 451 stroke: #3e50b3;
446 } 452 }
447 453
448 -#station_route_spacing_chart_drawer svg g._item circle{ 454 +#station_route_spacing_chart_drawer svg g._item circle {
449 r: 3px; 455 r: 3px;
450 fill: #ffffff; 456 fill: #ffffff;
451 } 457 }
452 458
453 -#station_route_spacing_chart_drawer svg g._item path.arc_path{  
454 - stroke-width:1.3px;  
455 - stroke:#3e50b3; 459 +#station_route_spacing_chart_drawer svg g._item path.arc_path {
  460 + stroke-width: 1.3px;
  461 + stroke: #3e50b3;
456 stroke-dasharray: 1000; 462 stroke-dasharray: 1000;
457 stroke-dashoffset: 1000; 463 stroke-dashoffset: 1000;
458 fill: none; 464 fill: none;
@@ -466,30 +472,30 @@ li.map-panel{ @@ -466,30 +472,30 @@ li.map-panel{
466 @keyframes dash { 472 @keyframes dash {
467 to { 473 to {
468 stroke-dashoffset: 0; 474 stroke-dashoffset: 0;
469 - stroke-dasharray: 4,4; 475 + stroke-dasharray: 4, 4;
470 } 476 }
471 } 477 }
472 478
473 -@-webkit-keyframes dash{ 479 +@-webkit-keyframes dash {
474 to { 480 to {
475 stroke-dashoffset: 0; 481 stroke-dashoffset: 0;
476 - stroke-dasharray: 4,4; 482 + stroke-dasharray: 4, 4;
477 } 483 }
478 } 484 }
479 485
480 -#station_route_spacing_chart_drawer svg g._item text.distance_text{ 486 +#station_route_spacing_chart_drawer svg g._item text.distance_text {
481 writing-mode: horizontal-tb; 487 writing-mode: horizontal-tb;
482 fill: #3e50b3; 488 fill: #3e50b3;
483 } 489 }
484 490
485 -#station_route_spacing_chart_drawer svg g._item rect.distance_rect{ 491 +#station_route_spacing_chart_drawer svg g._item rect.distance_rect {
486 height: 20px; 492 height: 20px;
487 width: 40px; 493 width: 40px;
488 fill: #fff !important; 494 fill: #fff !important;
489 stroke-width: 0; 495 stroke-width: 0;
490 } 496 }
491 497
492 -#station_route_spacing_chart_drawer .tl_desc_text{ 498 +#station_route_spacing_chart_drawer .tl_desc_text {
493 position: absolute; 499 position: absolute;
494 top: 5px; 500 top: 5px;
495 left: 5px; 501 left: 5px;
@@ -498,45 +504,43 @@ li.map-panel{ @@ -498,45 +504,43 @@ li.map-panel{
498 font-family: 微软雅黑; 504 font-family: 微软雅黑;
499 } 505 }
500 506
501 -#station_route_spacing_chart_drawer svg g._item:first-child circle{ 507 +#station_route_spacing_chart_drawer svg g._item:first-child circle {
502 fill: #3e50b3; 508 fill: #3e50b3;
503 r: 6px; 509 r: 6px;
504 } 510 }
505 511
506 -#station_route_spacing_chart_drawer svg g._item:last-child circle{ 512 +#station_route_spacing_chart_drawer svg g._item:last-child circle {
507 fill: #3e50b3; 513 fill: #3e50b3;
508 r: 6px; 514 r: 6px;
509 } 515 }
510 516
511 -  
512 /* 下行 */ 517 /* 下行 */
513 -#station_route_spacing_chart_drawer svg.down g._item rect{ 518 +#station_route_spacing_chart_drawer svg.down g._item rect {
514 stroke: #dd3829; 519 stroke: #dd3829;
515 fill: #dd3829; 520 fill: #dd3829;
516 } 521 }
517 522
518 -#station_route_spacing_chart_drawer svg.down g._item path{ 523 +#station_route_spacing_chart_drawer svg.down g._item path {
519 stroke: #dd3829; 524 stroke: #dd3829;
520 } 525 }
521 526
522 -#station_route_spacing_chart_drawer svg.down g._item:first-child circle{ 527 +#station_route_spacing_chart_drawer svg.down g._item:first-child circle {
523 fill: #dd3829; 528 fill: #dd3829;
524 } 529 }
525 530
526 -#station_route_spacing_chart_drawer svg.down g._item text.distance_text{ 531 +#station_route_spacing_chart_drawer svg.down g._item text.distance_text {
527 fill: #dd3829; 532 fill: #dd3829;
528 } 533 }
529 534
530 -#station_route_spacing_chart_drawer svg.down g._item path.arc_path{ 535 +#station_route_spacing_chart_drawer svg.down g._item path.arc_path {
531 stroke: #dd3829; 536 stroke: #dd3829;
532 } 537 }
533 538
534 -#station_route_spacing_chart_drawer svg.down g._item:last-child circle{ 539 +#station_route_spacing_chart_drawer svg.down g._item:last-child circle {
535 fill: #dd3829; 540 fill: #dd3829;
536 } 541 }
537 542
538 -  
539 -.svg-edit-panel-wrap{ 543 +.svg-edit-panel-wrap {
540 width: 48%; 544 width: 48%;
541 border: 1px solid #e1d3d3; 545 border: 1px solid #e1d3d3;
542 padding: 12px 0 0 0; 546 padding: 12px 0 0 0;
@@ -547,7 +551,7 @@ li.map-panel{ @@ -547,7 +551,7 @@ li.map-panel{
547 height: 440px; 551 height: 440px;
548 } 552 }
549 553
550 -.svg-edit-panel-wrap .title-badge{ 554 +.svg-edit-panel-wrap .title-badge {
551 position: absolute; 555 position: absolute;
552 top: -10px; 556 top: -10px;
553 left: 7px; 557 left: 7px;
@@ -557,62 +561,63 @@ li.map-panel{ @@ -557,62 +561,63 @@ li.map-panel{
557 color: #888888; 561 color: #888888;
558 } 562 }
559 563
560 -.svg-edit-panel-wrap .rename-tools{ 564 +.svg-edit-panel-wrap .rename-tools {
561 height: 21px; 565 height: 21px;
562 padding: 0 0 0 9px; 566 padding: 0 0 0 9px;
563 } 567 }
564 568
565 -.svg-edit-panel-wrap .rename-item-panel{ 569 +.svg-edit-panel-wrap .rename-item-panel {
566 border-bottom: 1px solid #ede5e5; 570 border-bottom: 1px solid #ede5e5;
567 padding: 4px; 571 padding: 4px;
568 } 572 }
569 573
570 -.svg-edit-panel-wrap .rename-item-panel select{ 574 +.svg-edit-panel-wrap .rename-item-panel select {
571 width: 150px; 575 width: 150px;
572 } 576 }
573 577
574 -.svg-edit-panel-wrap .rename-item-panel input{ 578 +.svg-edit-panel-wrap .rename-item-panel input {
575 margin-left: 7px; 579 margin-left: 7px;
576 } 580 }
577 581
578 -.svg-edit-panel-wrap .rename-item-panel input[type=checkbox]{ 582 +.svg-edit-panel-wrap .rename-item-panel input[type=checkbox] {
579 margin-top: 2px; 583 margin-top: 2px;
580 margin-right: 4px; 584 margin-right: 4px;
581 } 585 }
582 586
583 -.svg-edit-panel-wrap .rename-item-panel.active{ 587 +.svg-edit-panel-wrap .rename-item-panel.active {
584 background: #65c9f8; 588 background: #65c9f8;
585 box-shadow: 0px 3px 7px 0 rgba(101, 201, 248, 0.48), 0px 1px 4px 0 rgba(101, 201, 248, 0.32); 589 box-shadow: 0px 3px 7px 0 rgba(101, 201, 248, 0.48), 0px 1px 4px 0 rgba(101, 201, 248, 0.32);
586 } 590 }
587 591
588 .svg-edit-panel-wrap .rename-item-panel.active select, 592 .svg-edit-panel-wrap .rename-item-panel.active select,
589 -.svg-edit-panel-wrap .rename-item-panel.active input{ 593 +.svg-edit-panel-wrap .rename-item-panel.active input {
590 background: #65c9f8; 594 background: #65c9f8;
591 color: #fff; 595 color: #fff;
592 } 596 }
593 597
594 -.svg-edit-panel-wrap .rename-item-panel.active i{ 598 +.svg-edit-panel-wrap .rename-item-panel.active i {
595 color: #e4f6ff; 599 color: #e4f6ff;
596 } 600 }
597 601
598 -.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox]{  
599 - border:none; 602 +.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox] {
  603 + border: none;
600 } 604 }
601 605
602 -.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox]:before{ 606 +.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox]:before {
603 color: #fff; 607 color: #fff;
604 } 608 }
605 609
606 -.svg-edit-panel-wrap .rename-tools a{ 610 +.svg-edit-panel-wrap .rename-tools a {
607 font-size: 14px; 611 font-size: 14px;
608 padding: 5px; 612 padding: 5px;
609 } 613 }
610 -.svg-edit-panel-wrap .rename-tools a:hover{ 614 +
  615 +.svg-edit-panel-wrap .rename-tools a:hover {
611 background: #e8edef; 616 background: #e8edef;
612 border-radius: 5px; 617 border-radius: 5px;
613 } 618 }
614 619
615 -.station-list{ 620 +.station-list {
616 width: 190px; 621 width: 190px;
617 padding: 2px 7px; 622 padding: 2px 7px;
618 height: 100%; 623 height: 100%;
@@ -620,7 +625,7 @@ li.map-panel{ @@ -620,7 +625,7 @@ li.map-panel{
620 display: inline-block; 625 display: inline-block;
621 } 626 }
622 627
623 -.station-list .station-item{ 628 +.station-list .station-item {
624 padding: 3px 0; 629 padding: 3px 0;
625 margin: 5px 0; 630 margin: 5px 0;
626 border-radius: 3px; 631 border-radius: 3px;
@@ -633,37 +638,40 @@ li.map-panel{ @@ -633,37 +638,40 @@ li.map-panel{
633 } 638 }
634 639
635 .station-list .station-item.disable, 640 .station-list .station-item.disable,
636 -.station-list .station-item.disable:hover{ 641 +.station-list .station-item.disable:hover {
637 background: #d5c9c9 !important; 642 background: #d5c9c9 !important;
638 color: #686565 !important; 643 color: #686565 !important;
639 } 644 }
640 645
641 -.station-list.up .station-item{ 646 +.station-list.up .station-item {
642 background: #5364c3; 647 background: #5364c3;
643 color: white; 648 color: white;
644 } 649 }
645 650
646 -.station-list.up .station-item:hover{ 651 +.station-list.up .station-item:hover {
647 box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19); 652 box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19);
648 background: #4556b6; 653 background: #4556b6;
649 } 654 }
650 655
651 -  
652 -.station-list.down .station-item{ 656 +.station-list.down .station-item {
653 background: #f95858; 657 background: #f95858;
654 color: white; 658 color: white;
655 } 659 }
656 660
657 -.station-list.down .station-item:hover{ 661 +.station-list.down .station-item:hover {
658 box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19); 662 box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19);
659 background: #e95151; 663 background: #e95151;
660 } 664 }
661 665
662 -.modal-dotted-hr{  
663 - height: 1px;border: none;border-top: 1px dashed #d1d1d1;width: calc(100% + 40px);margin-left: -20px; 666 +.modal-dotted-hr {
  667 + height: 1px;
  668 + border: none;
  669 + border-top: 1px dashed #d1d1d1;
  670 + width: calc(100% + 40px);
  671 + margin-left: -20px;
664 } 672 }
665 673
666 -#add-sub-task-range_turn-modal .main-sch-panel{ 674 +#add-sub-task-range_turn-modal .main-sch-panel {
667 height: 60px; 675 height: 60px;
668 border: 1px solid #dddddd; 676 border: 1px solid #dddddd;
669 border-radius: 5px; 677 border-radius: 5px;
@@ -671,7 +679,7 @@ li.map-panel{ @@ -671,7 +679,7 @@ li.map-panel{
671 padding: 20px 0 0 8px; 679 padding: 20px 0 0 8px;
672 } 680 }
673 681
674 -#add-sub-task-range_turn-modal .main-sch-panel:before{ 682 +#add-sub-task-range_turn-modal .main-sch-panel:before {
675 content: '主任务'; 683 content: '主任务';
676 position: absolute; 684 position: absolute;
677 top: -10px; 685 top: -10px;
@@ -694,11 +702,64 @@ li.map-panel{ @@ -694,11 +702,64 @@ li.map-panel{
694 text-overflow: ellipsis; 702 text-overflow: ellipsis;
695 } 703 }
696 704
697 -.ct_row .ct_cell label{ 705 +.ct_row .ct_cell label {
698 color: #979393; 706 color: #979393;
699 margin-right: 3px; 707 margin-right: 3px;
700 } 708 }
701 709
702 .ct_row .ct_cell.c_1_3 { 710 .ct_row .ct_cell.c_1_3 {
703 width: 33%; 711 width: 33%;
  712 +}
  713 +
  714 +#schedule-lp_change-modal .sch-list {
  715 + margin-top: 25px;
  716 +}
  717 +
  718 +#schedule-lp_change-modal .sch-list .sch-item dl {
  719 + font-size: 0;
  720 + border-bottom: 1px solid #e1dbdb;
  721 + margin: 7px 0;
  722 +}
  723 +
  724 +#schedule-lp_change-modal .sch-list .sch-item dl dd {
  725 + font-size: 14px;
  726 + display: inline-block;
  727 + line-height: 35px;
  728 + text-align: center;
  729 + border-right: 1px dashed #e1dbdb;
  730 +}
  731 +
  732 +#schedule-lp_change-modal .sch-list .sch-item dl dd:nth-of-type(1) {
  733 + width: 33%;
  734 +}
  735 +
  736 +#schedule-lp_change-modal .sch-list .sch-item dl dd:nth-of-type(2) {
  737 + width: 33%;
  738 +}
  739 +
  740 +#schedule-lp_change-modal .sch-list .sch-item dl dd:nth-of-type(3) {
  741 + width: 17%;
  742 +}
  743 +
  744 +#schedule-lp_change-modal .sch-list .sch-item dl dd:nth-of-type(4) {
  745 + width: 15%;
  746 + border-right:0;
  747 +}
  748 +
  749 +
  750 +#schedule-lp_change-modal .sch-list .sch-item.reverse dl dd:nth-of-type(1) {
  751 + width: 15%;
  752 +}
  753 +
  754 +#schedule-lp_change-modal .sch-list .sch-item.reverse dl dd:nth-of-type(2) {
  755 + width: 17%;
  756 +}
  757 +
  758 +#schedule-lp_change-modal .sch-list .sch-item.reverse dl dd:nth-of-type(3) {
  759 + width: 33%;
  760 +}
  761 +
  762 +#schedule-lp_change-modal .sch-list .sch-item.reverse dl dd:nth-of-type(4) {
  763 + width: 33%;
  764 + border-right:0;
704 } 765 }
705 \ No newline at end of file 766 \ No newline at end of file
src/main/resources/static/real_control_v2/css/north.css
@@ -8,8 +8,8 @@ @@ -8,8 +8,8 @@
8 background: linear-gradient(to right, #082F4A, #125688, #0a3f64); 8 background: linear-gradient(to right, #082F4A, #125688, #0a3f64);
9 } 9 }
10 10
11 -.north.monitor{  
12 - background: linear-gradient(to right ,#595959, #7b7b7b,#595959); 11 +.north.monitor {
  12 + background: linear-gradient(to right, #595959, #7b7b7b, #595959);
13 } 13 }
14 14
15 .north.scok-colse { 15 .north.scok-colse {
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 border-radius: 20px 0 0 20px; 25 border-radius: 20px 0 0 20px;
26 z-index: 5; 26 z-index: 5;
27 left: 270px; 27 left: 270px;
28 - box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12); 28 + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
29 border: 1px solid #caaaaa; 29 border: 1px solid #caaaaa;
30 font-size: 13px; 30 font-size: 13px;
31 } 31 }
@@ -107,7 +107,7 @@ @@ -107,7 +107,7 @@
107 display: none; 107 display: none;
108 } 108 }
109 109
110 -#history-sch-maintain-modal .load-panel{ 110 +#history-sch-maintain-modal .load-panel {
111 background: #fff; 111 background: #fff;
112 color: #c92121; 112 color: #c92121;
113 } 113 }
@@ -163,7 +163,7 @@ @@ -163,7 +163,7 @@
163 } 163 }
164 164
165 #history-sch-maintain-modal ul.h-s-time, 165 #history-sch-maintain-modal ul.h-s-time,
166 -#history-sch-maintain-modal ul.h-s-line{ 166 +#history-sch-maintain-modal ul.h-s-line {
167 border: 1px solid #f0f0f0; 167 border: 1px solid #f0f0f0;
168 padding: 9px 0 10px 0; 168 padding: 9px 0 10px 0;
169 border-radius: 3px; 169 border-radius: 3px;
@@ -171,7 +171,7 @@ @@ -171,7 +171,7 @@
171 } 171 }
172 172
173 #history-sch-maintain-modal ul.h-s-time:before, 173 #history-sch-maintain-modal ul.h-s-time:before,
174 -#history-sch-maintain-modal ul.h-s-line:before{ 174 +#history-sch-maintain-modal ul.h-s-line:before {
175 content: "日期"; 175 content: "日期";
176 position: absolute; 176 position: absolute;
177 top: -9px; 177 top: -9px;
@@ -182,7 +182,7 @@ @@ -182,7 +182,7 @@
182 left: 10px; 182 left: 10px;
183 } 183 }
184 184
185 -#history-sch-maintain-modal ul.h-s-line:before{ 185 +#history-sch-maintain-modal ul.h-s-line:before {
186 content: "线路"; 186 content: "线路";
187 } 187 }
188 188
@@ -197,21 +197,21 @@ @@ -197,21 +197,21 @@
197 } 197 }
198 */ 198 */
199 199
200 -#history-sch-maintain-modal .uk-icon-question-circle{ 200 +#history-sch-maintain-modal .uk-icon-question-circle {
201 color: darkgrey; 201 color: darkgrey;
202 font-size: 12px; 202 font-size: 12px;
203 margin: 3px; 203 margin: 3px;
204 } 204 }
205 205
206 .history-sch-table.ct_table dl.active, 206 .history-sch-table.ct_table dl.active,
207 -.history-sch-table.ct_table>.ct_table_body dl.active:hover,  
208 -.history-sch-table.ct_table>.ct_table_body dl.context-menu-active { 207 +.history-sch-table.ct_table > .ct_table_body dl.active:hover,
  208 +.history-sch-table.ct_table > .ct_table_body dl.context-menu-active {
209 background: #8baebc; 209 background: #8baebc;
210 box-shadow: 0 0 4px #656c71; 210 box-shadow: 0 0 4px #656c71;
211 color: white; 211 color: white;
212 } 212 }
213 213
214 -#history-sch-edit-modal.ct-form-modal form.uk-form-horizontal .uk-form-label{ 214 +#history-sch-edit-modal.ct-form-modal form.uk-form-horizontal .uk-form-label {
215 width: 60px; 215 width: 60px;
216 } 216 }
217 217
@@ -219,6 +219,92 @@ @@ -219,6 +219,92 @@
219 margin-left: 64px; 219 margin-left: 64px;
220 } 220 }
221 221
  222 +.line-config-tree {
  223 + padding-top: 15px;
  224 + border-right: 1px solid #d8d7d7;
  225 + box-shadow: 3px 1px 17px 0 rgba(0, 0, 0, 0.2), 1px 0px 20px 0 rgba(0, 0, 0, 0.19);
  226 +}
  227 +
  228 +.line-config-tree .title {
  229 + text-indent: 15px;
  230 +}
  231 +
  232 +.line-config-tree .uk-accordion {
  233 + /*padding-left: 10px;*/
  234 +}
  235 +
  236 +.line-config-tree .uk-accordion-title {
  237 + background: none;
  238 + border: none;
  239 + color: #000;
  240 + margin-bottom: 5px;
  241 + padding-left: 40px;
  242 +}
  243 +
  244 +.line-config-tree .uk-accordion-title:hover {
  245 + background: #f7f7f7;
  246 +}
  247 +
  248 +.line-config-tree .uk-list-line li {
  249 + border-color: #ffffff;
  250 + font-size: 13px;
  251 + padding-left: 49px;
  252 + margin-top: 1px;
  253 +}
  254 +
  255 +.line-config-tree .uk-list-line li a {
  256 + color: #615f5f;
  257 +}
  258 +
  259 +.line-config-tree .uk-list-line li a.disabled{
  260 + color: #9b9898;
  261 + cursor: no-drop;
  262 +}
  263 +
  264 +.line-config-tree .uk-accordion-title.uk-active {
  265 + background: #25a5df;
  266 + border-radius: 0;
  267 + color: white;
  268 + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.2), 0px 2px 5px 0 rgba(0, 0, 0, 0.19);
  269 +}
222 270
  271 +.line-config-tree .uk-list-line li.uk-active a {
  272 + color: #25a5df;
  273 +}
223 274
  275 +.btn_title_line{
  276 + border-bottom: 1px solid #efeded;
  277 + margin-top: 35px;
  278 +}
224 279
  280 +.z-depth-input{
  281 + box-shadow: 0px 0px 4px 0 rgba(67, 255, 243, 0.2), 0px 1px 7px 0 rgba(0, 0, 0, 0.19);
  282 +}
  283 +
  284 +.uk-form-icon i{
  285 + z-index: 999 !important;
  286 +}
  287 +
  288 +.uk-form-icon .uk-autocomplete input{
  289 + padding-left: 30px;
  290 +}
  291 +
  292 +#nav-line_config-modal form.uk-form{
  293 + margin-bottom: 7px;
  294 +}
  295 +
  296 +#nav-line_config-modal small{
  297 + color: #7c7c7c;
  298 +}
  299 +
  300 +#nav-line_config-modal .right-container{
  301 + padding-top: 20px;
  302 + overflow: auto;
  303 + padding-bottom: 20px;
  304 +}
  305 +
  306 +#nav-line_config-modal select,
  307 +#buffer_config_wrap input{
  308 + margin: 0 5px;
  309 + width: 110px;
  310 +}
src/main/resources/static/real_control_v2/fragments/home/c0_a3.html
@@ -83,6 +83,7 @@ @@ -83,6 +83,7 @@
83 (function() { 83 (function() {
84 var modal = '#home-c0a3-modal'; 84 var modal = '#home-c0a3-modal';
85 $(modal).on('init', function(e, data) { 85 $(modal).on('init', function(e, data) {
  86 + e.stopPropagation();
86 $.post('/directive/c0a4', {nbbm: 'B-99999'}); 87 $.post('/directive/c0a4', {nbbm: 'B-99999'});
87 //console.log('init...'); 88 //console.log('init...');
88 setTimeout(function() { 89 setTimeout(function() {
src/main/resources/static/real_control_v2/fragments/home/svg_edit.html
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 <div class="svg-edit-panel-wrap" style="margin-left: 25px;"> 12 <div class="svg-edit-panel-wrap" style="margin-left: 25px;">
13 <span class="title-badge">站点重命名</span> 13 <span class="title-badge">站点重命名</span>
14 <div style="height: 100%;"> 14 <div style="height: 100%;">
15 - <div style="height: calc(100% - 25px);"> 15 + <div style="height: calc(100% - 25px);overflow: auto;">
16 <form class="uk-form rename-list-form"> 16 <form class="uk-form rename-list-form">
17 </form> 17 </form>
18 </div> 18 </div>
@@ -65,6 +65,7 @@ @@ -65,6 +65,7 @@
65 lineCode, names = [], no = 0; 65 lineCode, names = [], no = 0;
66 66
67 $(modal).on('init', function (e, data) { 67 $(modal).on('init', function (e, data) {
  68 + e.stopPropagation();
68 lineCode = data.lineCode; 69 lineCode = data.lineCode;
69 var allStationList = gb_data_basic.stationRoutes(lineCode); 70 var allStationList = gb_data_basic.stationRoutes(lineCode);
70 //站点路由 71 //站点路由
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch.html
@@ -125,6 +125,7 @@ @@ -125,6 +125,7 @@
125 125
126 var normalInfo = []; 126 var normalInfo = [];
127 $(modal).on('init', function (e, data) { 127 $(modal).on('init', function (e, data) {
  128 + e.stopPropagation();
128 sch = data.sch; 129 sch = data.sch;
129 //normal 班次里程和耗时 130 //normal 班次里程和耗时
130 var list = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm)); 131 var list = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm));
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/bc_type_major.html
@@ -131,6 +131,7 @@ @@ -131,6 +131,7 @@
131 }); 131 });
132 }); 132 });
133 $(modal).on('init', function (e, data) { 133 $(modal).on('init', function (e, data) {
  134 + e.stopPropagation();
134 sch = data.sch; 135 sch = data.sch;
135 parentModal = data.parentModal; 136 parentModal = data.parentModal;
136 137
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/bc_type_venting.html
@@ -128,6 +128,7 @@ @@ -128,6 +128,7 @@
128 }); 128 });
129 }); 129 });
130 $(modal).on('init', function (e, data) { 130 $(modal).on('init', function (e, data) {
  131 + e.stopPropagation();
131 sch = data.sch; 132 sch = data.sch;
132 parentModal = data.parentModal; 133 parentModal = data.parentModal;
133 134
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/dftz.html
@@ -116,6 +116,7 @@ @@ -116,6 +116,7 @@
116 var modal = '#schedule-dftz-modal' 116 var modal = '#schedule-dftz-modal'
117 ,sch; 117 ,sch;
118 $(modal).on('init', function(e, data) { 118 $(modal).on('init', function(e, data) {
  119 + e.stopPropagation();
119 sch=data.sch; 120 sch=data.sch;
120 var formHtml = template('schedule-dftz-form-temp', sch); 121 var formHtml = template('schedule-dftz-form-temp', sch);
121 $('form', modal).html(formHtml); 122 $('form', modal).html(formHtml);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
@@ -163,6 +163,7 @@ @@ -163,6 +163,7 @@
163 var modal = '#schedule-fcxxwt-modal' 163 var modal = '#schedule-fcxxwt-modal'
164 ,sch; 164 ,sch;
165 $(modal).on('init', function(e, data) { 165 $(modal).on('init', function(e, data) {
  166 + e.stopPropagation();
166 sch=data.sch; 167 sch=data.sch;
167 var formHtml = template('schedule-fcxxwt-form-temp', {sch: sch, adjustExps:adjustExps}); 168 var formHtml = template('schedule-fcxxwt-form-temp', {sch: sch, adjustExps:adjustExps});
168 $('form', modal).html(formHtml); 169 $('form', modal).html(formHtml);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/jhlb.html
@@ -87,6 +87,7 @@ @@ -87,6 +87,7 @@
87 var modal = '#schedule-jhlb-modal', 87 var modal = '#schedule-jhlb-modal',
88 sch; 88 sch;
89 $(modal).on('init', function(e, data) { 89 $(modal).on('init', function(e, data) {
  90 + e.stopPropagation();
90 sch = data.sch; 91 sch = data.sch;
91 //获取车辆所有班次 92 //获取车辆所有班次
92 var schArr = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm)).filter(function(item) { 93 var schArr = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm)).filter(function(item) {
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
@@ -154,6 +154,7 @@ @@ -154,6 +154,7 @@
154 sch, schList, lp2SchMap; 154 sch, schList, lp2SchMap;
155 155
156 $(modal).on('init', function (e, data) { 156 $(modal).on('init', function (e, data) {
  157 + e.stopPropagation();
157 sch = data.sch; 158 sch = data.sch;
158 159
159 f = $('.search-form', modal); 160 f = $('.search-form', modal);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lp_change.html 0 → 100644
  1 +<div class="uk-modal" id="schedule-lp_change-modal">
  2 + <div class="uk-modal-dialog" style="width: 900px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>路牌对调</h2></div>
  6 +
  7 + <div class="uk-grid uk-grid-divider">
  8 + <div class="uk-width-1-2">
  9 + <form class="uk-form">
  10 + <fieldset>
  11 + 线路
  12 + <select name="lineSelect" style="width: 140px;"></select>
  13 + &emsp;
  14 + 路牌
  15 + <select name="lpName" style="width: 90px;"></select>
  16 + </fieldset>
  17 + </form>
  18 + <div class="sch-list">
  19 + <div class="sch-item">
  20 + <dl>
  21 + <dd>S0568/钱存哗</dd>
  22 + <dd>S0J-046</dd>
  23 + <dd>5</dd>
  24 + <dd>07:58</dd>
  25 + </dl>
  26 + <dl>
  27 + <dd>S0568/钱存哗</dd>
  28 + <dd>S0J-046</dd>
  29 + <dd>5</dd>
  30 + <dd>07:58</dd>
  31 + </dl>
  32 + <dl>
  33 + <dd>S0568/钱存哗</dd>
  34 + <dd>S0J-046</dd>
  35 + <dd>5</dd>
  36 + <dd>07:58</dd>
  37 + </dl>
  38 + <dl>
  39 + <dd>S0568/钱存哗</dd>
  40 + <dd>S0J-046</dd>
  41 + <dd>5</dd>
  42 + <dd>07:58</dd>
  43 + </dl>
  44 + <dl>
  45 + <dd>S0568/钱存哗</dd>
  46 + <dd>S0J-046</dd>
  47 + <dd>5</dd>
  48 + <dd>07:58</dd>
  49 + </dl>
  50 + <dl>
  51 + <dd>S0568/钱存哗</dd>
  52 + <dd>S0J-046</dd>
  53 + <dd>5</dd>
  54 + <dd>07:58</dd>
  55 + </dl>
  56 + <dl>
  57 + <dd>S0568/钱存哗</dd>
  58 + <dd>S0J-046</dd>
  59 + <dd>5</dd>
  60 + <dd>07:58</dd>
  61 + </dl>
  62 + </div>
  63 + </div>
  64 + </div>
  65 + <div class="uk-width-1-2">
  66 + <form class="uk-form uk-form-horizontal">
  67 + <fieldset>
  68 + 线路
  69 + <select name="lineSelect" style="width: 140px;"></select>
  70 + &emsp;
  71 + 路牌
  72 + <select name="lpName" style="width: 90px;"></select>
  73 + </fieldset>
  74 + </form>
  75 + <div class="sch-list">
  76 + <div class="sch-item reverse">
  77 + <dl>
  78 + <dd>07:58</dd>
  79 + <dd>5</dd>
  80 + <dd>S0J-046</dd>
  81 + <dd>S0568/钱存哗</dd>
  82 + </dl>
  83 + <dl>
  84 + <dd>07:58</dd>
  85 + <dd>5</dd>
  86 + <dd>S0J-046</dd>
  87 + <dd>S0568/钱存哗</dd>
  88 + </dl>
  89 + <dl>
  90 + <dd>07:58</dd>
  91 + <dd>5</dd>
  92 + <dd>S0J-046</dd>
  93 + <dd>S0568/钱存哗</dd>
  94 + </dl>
  95 + <dl>
  96 + <dd>07:58</dd>
  97 + <dd>5</dd>
  98 + <dd>S0J-046</dd>
  99 + <dd>S0568/钱存哗</dd>
  100 + </dl>
  101 + <dl>
  102 + <dd>07:58</dd>
  103 + <dd>5</dd>
  104 + <dd>S0J-046</dd>
  105 + <dd>S0568/钱存哗</dd>
  106 + </dl>
  107 + <dl>
  108 + <dd>07:58</dd>
  109 + <dd>5</dd>
  110 + <dd>S0J-046</dd>
  111 + <dd>S0568/钱存哗</dd>
  112 + </dl>
  113 + <dl>
  114 + <dd>07:58</dd>
  115 + <dd>5</dd>
  116 + <dd>S0J-046</dd>
  117 + <dd>S0568/钱存哗</dd>
  118 + </dl>
  119 + </div>
  120 + </div>
  121 + </div>
  122 + </div>
  123 +
  124 + <div class="uk-modal-footer uk-text-right" >
  125 + <button type="button" class="uk-button uk-modal-close">取消</button>
  126 + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;提交</button>
  127 + </div>
  128 + </div>
  129 +
  130 + <script id="schedule-lp_change-form-temp" type="text/html">
  131 +
  132 + </script>
  133 +
  134 + <script>
  135 + (function () {
  136 + var modal = '#schedule-lp_change-modal'
  137 + , sch;
  138 + $(modal).on('init', function (e, data) {
  139 + e.stopPropagation();
  140 + sch = data.sch;
  141 +
  142 + });
  143 + })();
  144 + </script>
  145 +</div>
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/multi_dftz.html
@@ -52,6 +52,7 @@ @@ -52,6 +52,7 @@
52 var dateStr = moment().format('YYYY-MM-DD'); 52 var dateStr = moment().format('YYYY-MM-DD');
53 53
54 $(modal).on('init', function(e, data) { 54 $(modal).on('init', function(e, data) {
  55 + e.stopPropagation();
55 var firstSch = data.list[0]; 56 var firstSch = data.list[0];
56 //获取线路配置信息 57 //获取线路配置信息
57 $.get('/lineConfig/getByLineCode', {lineCode: firstSch.xlBm}, function (config) { 58 $.get('/lineConfig/getByLineCode', {lineCode: firstSch.xlBm}, function (config) {
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/multi_tzrc.html
@@ -86,6 +86,7 @@ @@ -86,6 +86,7 @@
86 var modal = '#schedule-multi-tzrc-modal', 86 var modal = '#schedule-multi-tzrc-modal',
87 schArr; 87 schArr;
88 $(modal).on('init', function(e, data) { 88 $(modal).on('init', function(e, data) {
  89 + e.stopPropagation();
89 schArr = data.list; 90 schArr = data.list;
90 var bodyHtml = template('schedule-multi-tzrc-items-temp', data); 91 var bodyHtml = template('schedule-multi-tzrc-items-temp', data);
91 $('.tm-grid-truncate', modal).html(bodyHtml); 92 $('.tm-grid-truncate', modal).html(bodyHtml);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sftz.html
@@ -71,6 +71,7 @@ @@ -71,6 +71,7 @@
71 var modal = '#schedule-sftz-modal', 71 var modal = '#schedule-sftz-modal',
72 sch; 72 sch;
73 $(modal).on('init', function(e, data) { 73 $(modal).on('init', function(e, data) {
  74 + e.stopPropagation();
74 sch = data.sch; 75 sch = data.sch;
75 var formHtml = template('schedule-sftz-form-temp', sch); 76 var formHtml = template('schedule-sftz-form-temp', sch);
76 $('form', modal).html(formHtml); 77 $('form', modal).html(formHtml);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_inpark.html
@@ -248,6 +248,7 @@ @@ -248,6 +248,7 @@
248 sch, stationRoutes, parks, information, esCode, timeLocStations; 248 sch, stationRoutes, parks, information, esCode, timeLocStations;
249 var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他']; 249 var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他'];
250 $(modal).on('init', function (e, data) { 250 $(modal).on('init', function (e, data) {
  251 + e.stopPropagation();
251 sch = data.sch; 252 sch = data.sch;
252 253
253 //站点路由 254 //站点路由
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_other.html
@@ -130,6 +130,7 @@ @@ -130,6 +130,7 @@
130 sch, stationRoutes, parks, information; 130 sch, stationRoutes, parks, information;
131 var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他']; 131 var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他'];
132 $(modal).on('init', function (e, data) { 132 $(modal).on('init', function (e, data) {
  133 + e.stopPropagation();
133 sch = data.sch; 134 sch = data.sch;
134 var formHtml = template('sub-task-other-form-temp', {sch: sch, adjustExps: adjustExps}); 135 var formHtml = template('sub-task-other-form-temp', {sch: sch, adjustExps: adjustExps});
135 $('form', modal).html(formHtml); 136 $('form', modal).html(formHtml);
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_outpark.html
@@ -180,6 +180,7 @@ @@ -180,6 +180,7 @@
180 emptyForm = $('form[empty_form]', modal), 180 emptyForm = $('form[empty_form]', modal),
181 sch, stationRoutes, parks, information, esCode; 181 sch, stationRoutes, parks, information, esCode;
182 $(modal).on('init', function (e, data) { 182 $(modal).on('init', function (e, data) {
  183 + e.stopPropagation();
183 sch = data.sch; 184 sch = data.sch;
184 $('.linkToLineInfo', modal).attr('href', '/pages/base/lineinformation/list.html?no=' + gb_data_basic.codeToLine[sch.xlBm].id); 185 $('.linkToLineInfo', modal).attr('href', '/pages/base/lineinformation/list.html?no=' + gb_data_basic.codeToLine[sch.xlBm].id);
185 186
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
@@ -272,6 +272,7 @@ @@ -272,6 +272,7 @@
272 //掉头站点 272 //掉头站点
273 var turnStation, turnStationName; 273 var turnStation, turnStationName;
274 $(modal).on('init', function (e, data) { 274 $(modal).on('init', function (e, data) {
  275 + e.stopPropagation();
275 sch = data.sch; 276 sch = data.sch;
276 nextSch = gb_schedule_table.getNextSch(sch); 277 nextSch = gb_schedule_table.getNextSch(sch);
277 278
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/station_route_spacing_chart.html
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
29 }); 29 });
30 30
31 $(drawer).on('drawer-init', function (e, data) { 31 $(drawer).on('drawer-init', function (e, data) {
  32 + e.stopPropagation();
32 sch = data.sch; 33 sch = data.sch;
33 locData = window.localStorage.getItem('control_route_distance_' + sch.xlBm); 34 locData = window.localStorage.getItem('control_route_distance_' + sch.xlBm);
34 35
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/tzrc.html
@@ -108,7 +108,7 @@ @@ -108,7 +108,7 @@
108 </dd> 108 </dd>
109 <dd>{{sch.clZbh}}</dd> 109 <dd>{{sch.clZbh}}</dd>
110 <dd>{{sch.jGh}}/{{sch.jName}}</dd> 110 <dd>{{sch.jGh}}/{{sch.jName}}</dd>
111 - <dd>{{sch.sGh}}/{{sch.sName}}</dddd> 111 + <dd>{{sch.sGh}}/{{sch.sName}}</dd>
112 </dl> 112 </dl>
113 {{/each}} 113 {{/each}}
114 </script> 114 </script>
@@ -117,6 +117,7 @@ @@ -117,6 +117,7 @@
117 var modal = '#schedule-tzrc-modal', 117 var modal = '#schedule-tzrc-modal',
118 sch, schList, lp2SchMap; 118 sch, schList, lp2SchMap;
119 $(modal).on('init', function(e, data) { 119 $(modal).on('init', function(e, data) {
  120 + e.stopPropagation();
120 sch = data.sch; 121 sch = data.sch;
121 122
122 //线路下拉框 123 //线路下拉框
src/main/resources/static/real_control_v2/fragments/north/nav/all_devices.html
@@ -102,6 +102,7 @@ @@ -102,6 +102,7 @@
102 var pageSize = 12; 102 var pageSize = 12;
103 103
104 $(modal).on('init', function(e, data) { 104 $(modal).on('init', function(e, data) {
  105 + e.stopPropagation();
105 //车辆 autocomplete 106 //车辆 autocomplete
106 $.get('/basic/cars', function(rs) { 107 $.get('/basic/cars', function(rs) {
107 gb_common.carAutocomplete($('.autocomplete-cars', modal), rs); 108 gb_common.carAutocomplete($('.autocomplete-cars', modal), rs);
src/main/resources/static/real_control_v2/fragments/north/nav/directive_history.html
@@ -107,6 +107,7 @@ @@ -107,6 +107,7 @@
107 } 107 }
108 108
109 $('#directive-history-modal').on('init', function(e, data) { 109 $('#directive-history-modal').on('init', function(e, data) {
  110 + e.stopPropagation();
110 // autocomplete 111 // autocomplete
111 $.get('/basic/cars', function(rs) { 112 $.get('/basic/cars', function(rs) {
112 cars = rs; 113 cars = rs;
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch_maintain.html
@@ -104,6 +104,7 @@ @@ -104,6 +104,7 @@
104 (function () { 104 (function () {
105 var modal = '#history-sch-maintain-modal'; 105 var modal = '#history-sch-maintain-modal';
106 $(modal).on('init', function (e, data) { 106 $(modal).on('init', function (e, data) {
  107 + e.stopPropagation();
107 $.get('/realSchedule/dateArray', function (rs) { 108 $.get('/realSchedule/dateArray', function (rs) {
108 //日期tab 109 //日期tab
109 var tsStr = ''; 110 var tsStr = '';
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/buffer_config.html 0 → 100644
  1 +<!-- 缓冲区设置 和 应急停靠 -->
  2 +<div id="buffer_config_wrap">
  3 + <div>
  4 + <h2 class="btn_title_line">
  5 + <a class="uk-link-reset">到站缓冲区设置</a>
  6 + </h2>
  7 + <div>
  8 + <form class="uk-form">
  9 + <div class="uk-form-row">
  10 + 到达上行加
  11 + <input type="number" class="z-depth-input" value="60">
  12 + 秒
  13 + </div>
  14 + <div class="uk-form-row">
  15 + 上行发出减
  16 + <input type="number" class="z-depth-input" value="60">
  17 + 秒
  18 + </div>
  19 + <div class="uk-form-row">
  20 + 到达下行加
  21 + <input type="number" class="z-depth-input" value="60">
  22 + 秒
  23 + </div>
  24 + <div class="uk-form-row">
  25 + 下行发出减
  26 + <input type="number" class="z-depth-input" value="60">
  27 + 秒
  28 + </div>
  29 + </form>
  30 + <a style="font-size: 80%;">编辑电子围栏</a>
  31 + </div>
  32 + </div>
  33 +
  34 + <div>
  35 + <h2 class="btn_title_line">
  36 + <a class="uk-link-reset">应急停靠</a>
  37 + </h2>
  38 + <div>
  39 + <form class="uk-form">
  40 + <table >
  41 + <tr>
  42 + <td colspan="2" style="padding-left: 30px;">
  43 + 是否启用
  44 + <select class="z-depth-input">
  45 + <option>禁用</option>
  46 + <option>启用</option>
  47 + </select>
  48 + </td>
  49 + </tr>
  50 + <tr>
  51 + <td colspan="2" style="padding-left: 58px;">
  52 + 时间
  53 + <input type="time" disabled>至
  54 + <input type="time" disabled>
  55 + </td>
  56 + </tr>
  57 + <tr>
  58 + <td>
  59 + 上行停靠时间
  60 + <input type="number" disabled>分钟
  61 + </td>
  62 + </tr>
  63 + <tr>
  64 + <td>
  65 + 下行停靠时间
  66 + <input type="number" disabled>分钟
  67 + </td>
  68 + </tr>
  69 + </table>
  70 + </form>
  71 + </div>
  72 + </div>
  73 +
  74 + <script>
  75 + (function () {
  76 + var wrap = '#buffer_config_wrap',
  77 + conf;
  78 +
  79 + $(wrap).on('init', function (e, data) {
  80 + e.stopPropagation();
  81 + conf = data.lineConfig;
  82 +
  83 +
  84 + });
  85 + })();
  86 + </script>
  87 +</div>
0 \ No newline at end of file 88 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config.html 0 → 100644
  1 +<div id="nav-line_config-modal" class="uk-modal">
  2 + <div class="uk-modal-dialog uk-modal-dialog-blank">
  3 + <button class="uk-modal-close uk-close" type="button"></button>
  4 + <div class="uk-grid uk-flex-middle" data-uk-grid-margin>
  5 + <div class="uk-width-medium-1-6 uk-height-viewport line-config-tree" data-uk-observe>
  6 + <h3 class="title" >线路配置</h3>
  7 + <div class="uk-accordion" data-uk-accordion="{showfirst:false}"></div>
  8 + </div>
  9 + <div class="uk-width-medium-5-6 uk-height-viewport right-container" >
  10 + <div id="line_config_entity_panel"></div>
  11 + <div id="buffer_config_panel"></div>
  12 + </div>
  13 + </div>
  14 + </div>
  15 +
  16 +
  17 + <script id="nav-line_config-modal-tree-temp" type="text/html">
  18 + {{each array as line i}}
  19 + <h3 class="uk-accordion-title" data-id="{{line.lineCode}}">{{line.name}}</h3>
  20 + <div class="uk-accordion-content">
  21 + <ul class="uk-list uk-list-line">
  22 + <li><a>班次更新时间</a></li>
  23 + <li><a>出场时间类型</a></li>
  24 + <li><a>原线路回场</a></li>
  25 + <li><a>到站缓冲区设置</a></li>
  26 + <li><a>应急停靠</a></li>
  27 + <li><a class="disabled">漂移判定</a></li>
  28 + <li><a class="disabled">到离站预测</a></li>
  29 + <li><a class="disabled">挂牌时刻表</a></li>
  30 + </ul>
  31 + </div>
  32 + {{/each}}
  33 + </script>
  34 +
  35 + <script>
  36 + (function () {
  37 + var modal = '#nav-line_config-modal',
  38 + lineConfig, activeCode;
  39 +
  40 + $(modal).on('init', function(e, data) {
  41 + e.stopPropagation();
  42 + var htmlStr = template('nav-line_config-modal-tree-temp', {array: gb_data_basic.activeLines});
  43 + $('.line-config-tree .uk-accordion', modal).html(htmlStr);
  44 +
  45 + var $first = $('.uk-accordion-title:eq(0)', modal);
  46 + activeCode = $first.data('id');
  47 + load();
  48 +
  49 + setTimeout(function () {
  50 + //选中第一条线路
  51 + $first.trigger('click');
  52 + }, 400);
  53 + });
  54 +
  55 + var load = function () {
  56 + //获取线路配置信息
  57 + $.get('/lineConfig/getByLineCode', {lineCode: activeCode}, function (conf) {
  58 + lineConfig = conf;
  59 +
  60 + loadConfigEntity();
  61 + loadBufferConfig();
  62 + });
  63 + };
  64 +
  65 + //线路配置表属性设置
  66 + var loadConfigEntity = function () {
  67 + $.get('/real_control_v2/fragments/north/nav/line_config/line_config_entity.html', function (attrDom) {
  68 + $('.right-container #line_config_entity_panel', modal)
  69 + .append(attrDom)
  70 + .find('#line_config_entity_wrap')
  71 + .trigger('init', {lineConfig: lineConfig});
  72 + });
  73 + };
  74 +
  75 + //缓冲区设置
  76 + var loadBufferConfig = function () {
  77 + $.get('/real_control_v2/fragments/north/nav/line_config/buffer_config.html', function (attrDom) {
  78 + $('.right-container #buffer_config_panel', modal)
  79 + .append(attrDom)
  80 + .find('#buffer_config_wrap')
  81 + .trigger('init', {lineConfig: lineConfig});
  82 + });
  83 + };
  84 + })();
  85 + </script>
  86 +</div>
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config_entity.html 0 → 100644
  1 +<!-- 线路配置表相关属性 -->
  2 +<div id="line_config_entity_wrap">
  3 + <form class="uk-form"></form>
  4 +
  5 + <script id="line_config_entity_form-temp" type="text/html">
  6 + <div>
  7 + <h2 class="btn_title_line">
  8 + <a class="uk-link-reset">班次更新时间</a>
  9 + </h2>
  10 + <div>
  11 + <div>
  12 + 闵行11路每天
  13 + <div class="uk-form-icon" style="margin: 0 5px;">
  14 + <i class="uk-icon-clock-o"></i>
  15 + <input type="text" class="z-depth-input" value="{{startOpt}}" style="width: 151px;"
  16 + data-uk-timepicker>
  17 + </div>
  18 + 更新到当日排班
  19 + </div>
  20 + <ul class="uk-list">
  21 + <li>
  22 + <small><i class="uk-icon-question-circle"></i> 所有发车时间小于该时间的班次都默认跨过24点,手动调整的实发实达均应用此规则。</small>
  23 + </li>
  24 + </ul>
  25 + <a class="uk-button uk-button-mini">删除班次</a>
  26 + <a class="uk-button uk-button-mini">重新加载计划排班</a>
  27 + <a class="uk-button uk-button-mini">加载历史GPS恢复到离站</a>
  28 + </div>
  29 + </div>
  30 + <div>
  31 + <h2 class="btn_title_line">
  32 + <a class="uk-link-reset">出场时间类型</a>
  33 + </h2>
  34 + <div>
  35 + 使用
  36 + <select class="z-depth-input">
  37 + <option {{if outConfig==0}}selected{{/if}}>GPS出场</option>
  38 + <option {{if outConfig==1}}selected{{/if}}>请求出场</option>
  39 + <option {{if outConfig==2}}selected{{/if}}>出站既出场</option>
  40 + </select>
  41 + 时间作为进出场班次的实际时间
  42 + <ul class="uk-list">
  43 + <li>
  44 + <small>1、【GPS出场】 使用GPS信号捕获出场时间</small>
  45 + </li>
  46 + <li>
  47 + <small>2、【请求出场】 驾驶员请求出场,调度员同意后,取请求时间作为出场时间。如无请求出场,则捕获GPS时间。</small>
  48 + </li>
  49 + <li>
  50 + <small>3、【出站既出场】 忽略出场班次,以头班车的发车时间作为出场时间,场既是站或停车场与起点站距离很近时推荐此项。</small>
  51 + </li>
  52 + </ul>
  53 + </div>
  54 + </div>
  55 +
  56 + <div>
  57 + <h2 class="btn_title_line">
  58 + <a class="uk-link-reset">原线路回场</a>
  59 + </h2>
  60 + <div>
  61 + 是否启用
  62 + <select class="z-depth-input">
  63 + <option>禁用</option>
  64 + <option>启用</option>
  65 + </select>
  66 +
  67 + <ul class="uk-list">
  68 + <li>
  69 + <small><i class="uk-icon-question-circle"></i> 回场时先回起点站,然后起点站回场。</small>
  70 + </li>
  71 + <li>
  72 + <small><i class="uk-icon-question-circle"></i> 启用该项后,回场子任务公里 = 中途站到起点站间公里 + 线路标准回场公里 。</small>
  73 + </li>
  74 + </ul>
  75 + </div>
  76 + </div>
  77 + </script>
  78 + <script>
  79 + (function () {
  80 +
  81 + var wrap = '#line_config_entity_wrap', conf;
  82 +
  83 + $(wrap).on('init', function (e, data) {
  84 + e.stopPropagation();
  85 + conf = data.lineConfig;
  86 + var htmlStr = template('line_config_entity_form-temp', conf);
  87 + $('form', wrap).html(htmlStr);
  88 + });
  89 + })();
  90 + </script>
  91 +</div>
0 \ No newline at end of file 92 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/report_80.html
@@ -77,6 +77,7 @@ @@ -77,6 +77,7 @@
77 var pageSize = 12; 77 var pageSize = 12;
78 78
79 $(modal).on('init', function(e, data) { 79 $(modal).on('init', function(e, data) {
  80 + e.stopPropagation();
80 var opt=''; 81 var opt='';
81 for(var code in gb_common.reqCode80){ 82 for(var code in gb_common.reqCode80){
82 opt+='<option value="'+code+'">'+gb_common.reqCode80[code]+'</option>'; 83 opt+='<option value="'+code+'">'+gb_common.reqCode80[code]+'</option>';
src/main/resources/static/real_control_v2/fragments/north/nav/signal_state_config.html
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
37 var f = $('form', modal); 37 var f = $('form', modal);
38 38
39 $(modal).on('init', function(e, data) { 39 $(modal).on('init', function(e, data) {
  40 + e.stopPropagation();
40 var val = gb_signal_state.isEnable()?1:0; 41 var val = gb_signal_state.isEnable()?1:0;
41 $('[name=enable]', f).val(val); 42 $('[name=enable]', f).val(val);
42 }); 43 });
src/main/resources/static/real_control_v2/fragments/north/nav/tts_config.html
@@ -73,6 +73,7 @@ @@ -73,6 +73,7 @@
73 var f = $('form', modal); 73 var f = $('form', modal);
74 74
75 $(modal).on('init', function(e, data) { 75 $(modal).on('init', function(e, data) {
  76 + e.stopPropagation();
76 var config=gb_tts.defaultConfig(); 77 var config=gb_tts.defaultConfig();
77 for(var name in config) 78 for(var name in config)
78 $('[name='+name+']', f).val(config[name]).trigger('change'); 79 $('[name='+name+']', f).val(config[name]).trigger('change');
src/main/resources/static/real_control_v2/js/common.js
@@ -131,7 +131,12 @@ var gb_common = (function () { @@ -131,7 +131,12 @@ var gb_common = (function () {
131 var data = groupBy(get_vals(allGps), 'lineId'); 131 var data = groupBy(get_vals(allGps), 'lineId');
132 var name; 132 var name;
133 for (var code in data) { 133 for (var code in data) {
134 - name = gb_data_basic.codeToLine[code].name; 134 + try{
  135 + name = gb_data_basic.codeToLine[code].name;
  136 + }catch(e) {
  137 + continue;
  138 + }
  139 +
135 data[name] = groupBy(data[code], 'upDown'); 140 data[name] = groupBy(data[code], 'upDown');
136 treeData.push({ 141 treeData.push({
137 'text': name, 142 'text': name,
src/main/resources/static/real_control_v2/js/data/json/back deleted 100644 → 0
1 -[ {  
2 - "id": 1,  
3 - "text": "数据&统计",  
4 - "clazz": "dropdown-column-2",  
5 - "columns": true,  
6 - "cls_class": "uk-width-1-2",  
7 - "grid": [  
8 - [  
9 - {  
10 - "id": 1.12,  
11 - "text": "数据管理",  
12 - "header": 1  
13 - },  
14 - {  
15 - "id": 1.52,  
16 - "text": "历史班次维护",  
17 - "event": "history_sch_maintain"  
18 - }  
19 - ],  
20 - [  
21 - {  
22 - "id": 1.1,  
23 - "text": "统计分析",  
24 - "header": 1  
25 - },  
26 - {  
27 - "id": 1.2,  
28 - "text": "出车率",  
29 - "event": "turnout_rate",  
30 - "icon": "uk-icon-pie-chart"  
31 - },  
32 - {  
33 - "id": 1.3,  
34 - "text": "设备上线率",  
35 - "event": "device_online_rate",  
36 - "icon": "uk-icon-pie-chart"  
37 - },  
38 - {  
39 - "id": 1.4,  
40 - "divider": true  
41 - },  
42 - {  
43 - "id": 1.5,  
44 - "text": "班次执行率",  
45 - "event": "sch_exec_rate",  
46 - "icon": "uk-icon-pie-chart"  
47 - },  
48 - {  
49 - "id": 1.6,  
50 - "text": "线路首末班准点率",  
51 - "event": "s_e_punctuality_rate_line",  
52 - "icon": "uk-icon-pie-chart"  
53 - },  
54 - {  
55 - "id": 1.7,  
56 - "text": "车辆首末班准点率",  
57 - "event": "s_e_punctuality_rate",  
58 - "icon": "uk-icon-pie-chart"  
59 - }  
60 - ]  
61 - ]  
62 - }, {  
63 - "id": 2,  
64 - "text": "车载设备",  
65 - "children": [{  
66 - "id": 2.1,  
67 - "text": "设备管理",  
68 - "event": "",  
69 - "disabled": "disabled"  
70 - }, {  
71 - "id": 2.2,  
72 - "text": "设备上报记录",  
73 - "event": "device_report",  
74 - "disabled": "disabled"  
75 - }, {  
76 - "id": 2.3,  
77 - "text": "指令下发记录",  
78 - "event": "directive_history"  
79 - }]  
80 -}, {  
81 - "id": 3,  
82 - "text": "系统设置",  
83 - "children": [{  
84 - "id": 3.1,  
85 - "text": "TTS",  
86 - "event": "",  
87 - "disabled": "disabled"  
88 - }, {  
89 - "id": 3.2,  
90 - "text": "更新日志",  
91 - "event": "",  
92 - "disabled": "disabled"  
93 - }]  
94 -}]  
src/main/resources/static/real_control_v2/js/data/json/north_toolbar.json
@@ -90,12 +90,12 @@ @@ -90,12 +90,12 @@
90 "text": "系统设置", 90 "text": "系统设置",
91 "children": [ 91 "children": [
92 { 92 {
93 - "id": 3.1, 93 + "id": 3.2,
94 "text": "TTS", 94 "text": "TTS",
95 "event": "tts_config" 95 "event": "tts_config"
96 }, 96 },
97 { 97 {
98 - "id": 3.2, 98 + "id": 3.3,
99 "text": "信号标记", 99 "text": "信号标记",
100 "event": "signal_state" 100 "event": "signal_state"
101 } 101 }
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
@@ -117,6 +117,11 @@ var gb_schedule_context_menu = (function () { @@ -117,6 +117,11 @@ var gb_schedule_context_menu = (function () {
117 Cancel: '取消' 117 Cancel: '取消'
118 } 118 }
119 }); 119 });
  120 + },
  121 + lp_change: function (sch) {
  122 + open_modal(folder + '/lp_change.html', {
  123 + sch: sch
  124 + }, modal_opts);
120 } 125 }
121 }; 126 };
122 127
@@ -161,6 +166,11 @@ var gb_schedule_context_menu = (function () { @@ -161,6 +166,11 @@ var gb_schedule_context_menu = (function () {
161 }, 166 },
162 'zlcf': { 167 'zlcf': {
163 name: '指令重发' 168 name: '指令重发'
  169 + },
  170 + 'sep3': '---------',
  171 + 'lp_change': {
  172 + name: '路牌对调',
  173 + disabled: true
164 } 174 }
165 } 175 }
166 }); 176 });
src/main/resources/static/real_control_v2/js/north/toolbar.js
@@ -77,8 +77,11 @@ var gb_northToolbar = (function () { @@ -77,8 +77,11 @@ var gb_northToolbar = (function () {
77 }, 77 },
78 signal_state: function () { 78 signal_state: function () {
79 open_modal('/real_control_v2/fragments/north/nav/signal_state_config.html', {}, modal_opts); 79 open_modal('/real_control_v2/fragments/north/nav/signal_state_config.html', {}, modal_opts);
  80 + },
  81 + line_config: function () {
  82 + open_modal('/real_control_v2/fragments/north/nav/line_config/line_config.html', {}, modal_opts);
80 } 83 }
81 - } 84 + };
82 85
83 return { 86 return {
84 user: function () { 87 user: function () {
src/main/resources/static/real_control_v2/main.html
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" /> 9 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" />
10 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" /> 10 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" />
11 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" /> 11 <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" />
12 - <!--<link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/slider.gradient.min.css" />--> 12 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css" />
13 13
14 <!-- main style --> 14 <!-- main style -->
15 <link rel="stylesheet" href="/real_control_v2/css/main.css" /> 15 <link rel="stylesheet" href="/real_control_v2/css/main.css" />
@@ -87,7 +87,9 @@ @@ -87,7 +87,9 @@
87 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js"></script> 87 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js"></script>
88 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js"></script> 88 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js"></script>
89 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.min.js"></script> 89 <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.min.js"></script>
90 - <!--<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/slider.min.js"></script>--> 90 + <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.min.js"></script>
  91 + <script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/timepicker.min.js"></script>
  92 +
91 <!-- jquery contextMenu --> 93 <!-- jquery contextMenu -->
92 <script src="/real_control_v2/assets/js/jquery.contextMenu.min.js"></script> 94 <script src="/real_control_v2/assets/js/jquery.contextMenu.min.js"></script>
93 <script src="/real_control_v2/assets/js/jquery.ui.position.min.js"></script> 95 <script src="/real_control_v2/assets/js/jquery.ui.position.min.js"></script>
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
@@ -139,12 +139,35 @@ var gb_map_gps_tree = (function () { @@ -139,12 +139,35 @@ var gb_map_gps_tree = (function () {
139 }, 'last', cb); 139 }, 'last', cb);
140 }; 140 };
141 141
  142 + var openLineNode = function (lineId, cb) {
  143 + var tree = treeObj.jstree(true);
  144 + tree.open_node(tree.get_node('map_tree_line_' + lineId), function () {
  145 + var upNode = tree.get_node('map_tree_route_' + lineId + '_0')
  146 + ,downNode = tree.get_node('map_tree_route_' + lineId + '_1');
  147 +
  148 + tree.open_node(upNode, function () {
  149 + tree.open_node(downNode, cb);
  150 + });
  151 + });
  152 + };
  153 +
  154 + var moveNode = function (i, gps) {
  155 + var tree = treeObj.jstree(true)
  156 + ,lineId = gps.lineId;
  157 + openLineNode(lineId, function () {
  158 + var node = tree.get_node('map_tree_device_' + gps.nbbm);
  159 + //移动节点
  160 + var parent = tree.get_node('map_tree_route_' + lineId + '_' + gps.upDown);
  161 + treeObj.jstree(true).move_node(node, parent);
  162 + });
  163 + };
  164 +
142 /** 165 /**
143 * 上下行改变 166 * 上下行改变
144 * @param changeArray 167 * @param changeArray
145 */ 168 */
146 var changeUpDown = function (changeArray) { 169 var changeUpDown = function (changeArray) {
147 - console.log('changeUpDown', changeArray); 170 + $.each(changeArray, moveNode);
148 }; 171 };
149 172
150 /** 173 /**
@@ -193,10 +216,6 @@ var gb_map_gps_tree = (function () { @@ -193,10 +216,6 @@ var gb_map_gps_tree = (function () {
193 }; 216 };
194 217
195 var selectitem = function (event, data, acobject) { 218 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 219
201 var tree = treeObj.jstree(true) 220 var tree = treeObj.jstree(true)
202 var deviceId = gb_data_basic.nbbm2deviceMap()[data.value] 221 var deviceId = gb_data_basic.nbbm2deviceMap()[data.value]