Commit 5e947ca0327d4409fbb6f71db3031feb8d28863a

Authored by 潘钊
1 parent 93dd3f05

update...

src/main/java/com/bsth/controller/realcontrol/LineConfigController.java
@@ -54,8 +54,8 @@ public class LineConfigController extends BaseController<LineConfig, Integer>{ @@ -54,8 +54,8 @@ public class LineConfigController extends BaseController<LineConfig, Integer>{
54 * @return 54 * @return
55 */ 55 */
56 @RequestMapping(value = "/editOutTimeType", method = RequestMethod.POST) 56 @RequestMapping(value = "/editOutTimeType", method = RequestMethod.POST)
57 - public Map<String, Object> editOutTimeType(@RequestParam String lineCode, @RequestParam int type){  
58 - return lineConfigService.editOutTimeType(lineCode, type); 57 + public Map<String, Object> editOutTimeType(@RequestParam String lineCode, @RequestParam int type,@RequestParam String parkCode,@RequestParam String stationCode){
  58 + return lineConfigService.editOutTimeType(lineCode, type, parkCode, stationCode);
59 } 59 }
60 60
61 /** 61 /**
src/main/java/com/bsth/data/LineConfigData.java
@@ -65,7 +65,7 @@ public class LineConfigData implements CommandLineRunner { @@ -65,7 +65,7 @@ public class LineConfigData implements CommandLineRunner {
65 public long applyOut(ScheduleRealInfo sch, Long timestamp) { 65 public long applyOut(ScheduleRealInfo sch, Long timestamp) {
66 LineConfig config = lineConfMap.get(sch.getXlBm()); 66 LineConfig config = lineConfMap.get(sch.getXlBm());
67 int diff = sch.getXlDir()=="0"?config.getUpOutDiff():config.getDownOutDiff(); 67 int diff = sch.getXlDir()=="0"?config.getUpOutDiff():config.getDownOutDiff();
68 - return timestamp - (diff * 60 * 1000); 68 + return timestamp - (diff * 1000);
69 } 69 }
70 70
71 /** 71 /**
@@ -77,7 +77,7 @@ public class LineConfigData implements CommandLineRunner { @@ -77,7 +77,7 @@ public class LineConfigData implements CommandLineRunner {
77 public long applyIn(ScheduleRealInfo sch, Long timestamp){ 77 public long applyIn(ScheduleRealInfo sch, Long timestamp){
78 LineConfig config = lineConfMap.get(sch.getXlBm()); 78 LineConfig config = lineConfMap.get(sch.getXlBm());
79 int diff = sch.getXlDir()=="0"?config.getUpInDiff():config.getDownInDiff(); 79 int diff = sch.getXlDir()=="0"?config.getUpInDiff():config.getDownInDiff();
80 - return timestamp - (diff * 60 * 1000); 80 + return timestamp - (diff * 1000);
81 } 81 }
82 82
83 @Component 83 @Component
src/main/java/com/bsth/entity/realcontrol/LineConfig.java
@@ -50,6 +50,9 @@ public class LineConfig { @@ -50,6 +50,9 @@ public class LineConfig {
50 /** 出站既出场 对应的停车场 */ 50 /** 出站既出场 对应的停车场 */
51 private String twinsPark; 51 private String twinsPark;
52 52
  53 + /** 出站既出场 对应的起点站 */
  54 + private String twinsStation;
  55 +
53 /** 短语模板 , 号分隔多个 */ 56 /** 短语模板 , 号分隔多个 */
54 private String phraseTemps; 57 private String phraseTemps;
55 58
@@ -268,4 +271,12 @@ public class LineConfig { @@ -268,4 +271,12 @@ public class LineConfig {
268 public void setEnableYjtk(boolean enableYjtk) { 271 public void setEnableYjtk(boolean enableYjtk) {
269 this.enableYjtk = enableYjtk; 272 this.enableYjtk = enableYjtk;
270 } 273 }
  274 +
  275 + public String getTwinsStation() {
  276 + return twinsStation;
  277 + }
  278 +
  279 + public void setTwinsStation(String twinsStation) {
  280 + this.twinsStation = twinsStation;
  281 + }
271 } 282 }
src/main/java/com/bsth/service/realcontrol/LineConfigService.java
@@ -13,7 +13,7 @@ public interface LineConfigService extends BaseService&lt;LineConfig, Integer&gt;{ @@ -13,7 +13,7 @@ public interface LineConfigService extends BaseService&lt;LineConfig, Integer&gt;{
13 13
14 Map<String, Object> editStartOptTime(String time, String lineCode); 14 Map<String, Object> editStartOptTime(String time, String lineCode);
15 15
16 - Map<String, Object> editOutTimeType(String lineCode, int type); 16 + Map<String, Object> editOutTimeType(String lineCode, int type, String parkCode, String stationCode);
17 17
18 LineConfig getByLineCode(String lineCode); 18 LineConfig getByLineCode(String lineCode);
19 19
src/main/java/com/bsth/service/realcontrol/impl/LineConfigServiceImpl.java
@@ -75,17 +75,20 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt; @@ -75,17 +75,20 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt;
75 } 75 }
76 76
77 @Override 77 @Override
78 - public Map<String, Object> editOutTimeType(String lineCode, int type) { 78 + public Map<String, Object> editOutTimeType(String lineCode, int type, String parkCode, String stationCode) {
79 Map<String, Object> rs = new HashMap<>(); 79 Map<String, Object> rs = new HashMap<>();
80 try { 80 try {
81 LineConfig conf = lineConfigData.get(lineCode); 81 LineConfig conf = lineConfigData.get(lineCode);
82 82
83 conf.setOutConfig(type); 83 conf.setOutConfig(type);
84 - //conf.setInConfig(type); 84 + if(type == 2){
  85 + conf.setTwinsPark(parkCode);
  86 + conf.setTwinsStation(stationCode);
  87 + }
85 lineConfigData.set(conf); 88 lineConfigData.set(conf);
86 89
87 rs.put("status", ResponseCode.SUCCESS); 90 rs.put("status", ResponseCode.SUCCESS);
88 - rs.put("type", type); 91 + rs.put("conf", conf);
89 } catch (Exception e) { 92 } catch (Exception e) {
90 rs.put("status", ResponseCode.ERROR); 93 rs.put("status", ResponseCode.ERROR);
91 rs.put("msg", e.getMessage()); 94 rs.put("msg", e.getMessage());
src/main/resources/static/pages/permission/user/controlAllot.html
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 <div style="border: 1px solid #cccbcb;height: 190px;position: relative;"> 35 <div style="border: 1px solid #cccbcb;height: 190px;position: relative;">
36 <span style="display: block;margin: 10px;color: grey;">已分配的线路</span> 36 <span style="display: block;margin: 10px;color: grey;">已分配的线路</span>
37 37
38 - <div class="line-list" style="height: 110px;"> 38 + <div class="line-list" style="height: 110px;overflow: auto;padding: 9px;">
39 </div> 39 </div>
40 40
41 <div style="padding-left: 8px;"> 41 <div style="padding-left: 8px;">
src/main/resources/static/real_control_v2/css/main.css
@@ -899,4 +899,28 @@ option.oil_station_opt{ @@ -899,4 +899,28 @@ option.oil_station_opt{
899 899
900 #oil_station-modal .uk-modal .uk-form.fv-form{ 900 #oil_station-modal .uk-modal .uk-form.fv-form{
901 margin-bottom: 0 !important; 901 margin-bottom: 0 !important;
  902 +}
  903 +
  904 +#gb_wait_modal .uk-modal-spinner{
  905 + top: 25px;
  906 + -webkit-transform: translate(-50%,0);
  907 + transform: translate(-50%,0);
  908 +}
  909 +
  910 +#gb_wait_modal .wait-modal-text{
  911 + text-align: center;
  912 + margin-top: 35px;
  913 + font-size: 15px;
  914 + color: #635e5e;
  915 +}
  916 +
  917 +.park-and-station-wrap{
  918 + margin-top: 9px;
  919 + border: 1px solid #3dce69;
  920 + width: 470px;
  921 + padding: 12px;
  922 + border-radius: 5px;
  923 +}
  924 +.park-and-station-wrap select{
  925 + width: auto !important;
902 } 926 }
903 \ No newline at end of file 927 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/buffer_config.html
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 <i class="uk-icon-pencil edit-icon"></i> 34 <i class="uk-icon-pencil edit-icon"></i>
35 </div> 35 </div>
36 </form> 36 </form>
37 - <a style="font-size: 80%;">编辑电子围栏</a> 37 + <!--<a style="font-size: 80%;">编辑电子围栏</a>-->
38 </div> 38 </div>
39 </div> 39 </div>
40 40
@@ -139,6 +139,11 @@ @@ -139,6 +139,11 @@
139 function enableYjtkForm() { 139 function enableYjtkForm() {
140 var f = $('form[name=yjtkForm]', wrap); 140 var f = $('form[name=yjtkForm]', wrap);
141 $('input', f).removeAttr('disabled'); 141 $('input', f).removeAttr('disabled');
  142 + //开始时间
  143 + if($('[name=yjtkStart]',f).val() == '')
  144 + $('[name=yjtkStart]',f).val('00:00');
  145 + if($('[name=yjtkEnd]',f).val() == '')
  146 + $('[name=yjtkEnd]',f).val('23:59');
142 147
143 var data = f.serializeJSON(); 148 var data = f.serializeJSON();
144 data.lineCode = conf.line.lineCode; 149 data.lineCode = conf.line.lineCode;
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config.html
@@ -22,10 +22,9 @@ @@ -22,10 +22,9 @@
22 <li><a data-href="#schedule_reload_time_panel" >班次更新时间</a></li> 22 <li><a data-href="#schedule_reload_time_panel" >班次更新时间</a></li>
23 <li><a data-href="#out_time_type_panel" >出场时间类型</a></li> 23 <li><a data-href="#out_time_type_panel" >出场时间类型</a></li>
24 <li><a data-href="#in_park_source_panel" >原线路回场</a></li> 24 <li><a data-href="#in_park_source_panel" >原线路回场</a></li>
25 - <li><a>到站缓冲区设置</a></li>  
26 - <li><a>应急停靠</a></li>  
27 - <li><a>社会加油站</a></li>  
28 - <li><a class="disabled">漂移判定</a></li> 25 + <li><a data-href="#buffer_inOut_diff_panel">到站缓冲区设置</a></li>
  26 + <li><a data-href="#emergency_stop_panel">应急停靠</a></li>
  27 + <li><a class="disabled">社会加油站</a></li>
29 <li><a class="disabled">到离站预测</a></li> 28 <li><a class="disabled">到离站预测</a></li>
30 <li><a class="disabled">挂牌时刻表</a></li> 29 <li><a class="disabled">挂牌时刻表</a></li>
31 </ul> 30 </ul>
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config_entity.html
@@ -40,6 +40,8 @@ @@ -40,6 +40,8 @@
40 <option {{if outConfig==2}}selected{{/if}} value=2>出站既出场</option> 40 <option {{if outConfig==2}}selected{{/if}} value=2>出站既出场</option>
41 </select> 41 </select>
42 时间作为进出场班次的实际时间 42 时间作为进出场班次的实际时间
  43 + <div class="park-and-station-wrap">
  44 + </div>
43 <ul class="uk-list"> 45 <ul class="uk-list">
44 <li> 46 <li>
45 <small>1、【GPS出场】 使用GPS信号捕获出场时间</small> 47 <small>1、【GPS出场】 使用GPS信号捕获出场时间</small>
@@ -48,7 +50,7 @@ @@ -48,7 +50,7 @@
48 <small>2、【请求出场】 驾驶员请求出场,调度员同意后,取请求时间作为出场时间。如无请求出场,则捕获GPS时间。</small> 50 <small>2、【请求出场】 驾驶员请求出场,调度员同意后,取请求时间作为出场时间。如无请求出场,则捕获GPS时间。</small>
49 </li> 51 </li>
50 <li> 52 <li>
51 - <small>3、【出站既出场】 忽略出场班次,以头班车的发车时间作为出场时间,场既是站或停车场与起点站距离很近时推荐此项。</small> 53 + <small>3、【出站既出场】 忽略出场班次,以头班车的发车时间作为出场时间。</small>
52 </li> 54 </li>
53 </ul> 55 </ul>
54 </div> 56 </div>
@@ -76,10 +78,26 @@ @@ -76,10 +78,26 @@
76 </div> 78 </div>
77 </div> 79 </div>
78 </script> 80 </script>
  81 +
  82 + <script id="park-and-station-temp" type="text/html">
  83 + 场
  84 + <select class="z-depth-input">
  85 + {{each parks as p i}}
  86 + <option value="{{p.code}}" {{if p.code==conf.twinsPark}}selected{{/if}}>{{p.name}}</option>
  87 + {{/each}}
  88 + </select>
  89 + 既是站
  90 + <select class="z-depth-input">
  91 + {{each routes as r i}}
  92 + <option value="{{r.stationCode}}" {{if r.stationCode==conf.twinsStation}}selected{{/if}}>{{r.stationName}}
  93 + </option>
  94 + {{/each}}
  95 + </select>
  96 + </script>
79 <script> 97 <script>
80 (function () { 98 (function () {
81 99
82 - var wrap = '#line_config_entity_wrap', conf; 100 + var wrap = '#line_config_entity_wrap', conf, parks, upStationRoutes;
83 101
84 /** 102 /**
85 * 删除实际排班 103 * 删除实际排班
@@ -87,14 +105,16 @@ @@ -87,14 +105,16 @@
87 var clearRealSchedule = function (e) { 105 var clearRealSchedule = function (e) {
88 e.stopPropagation(); 106 e.stopPropagation();
89 var lineCode = conf.line.lineCode; 107 var lineCode = conf.line.lineCode;
90 - var htmlStr = '<h4 style="color: red;">你确定要删除【' + conf.line.name + '】今日的实际排班?</h4><h5>人车、路牌、待发等相关班次调整信息会被删除。</h5><h5>调度指令和期间与设备的通讯记录被保留</h5><h5>后台日志中的人工操作痕迹被保留</h5>'; 108 + var htmlStr = '<h4 style="color: red;">你确定要删除【' + conf.line.name + '】今日的实际排班?</h4><h5 style="margin-top: 15px;">今日的实际排班会被删除</h5><h5 style="margin-top: 15px;">人车、路牌、待发等相关班次调整信息会被删除。</h5><h5 style="margin-top: 15px;">调度指令和期间与设备的通讯记录被保留</h5><h5 style="margin-top: 15px;">后台日志中的人工操作痕迹被保留</h5>';
91 alt_confirm(htmlStr, function () { 109 alt_confirm(htmlStr, function () {
  110 + show_wait_modal('正在清除数据...');
92 gb_common.$post('/realSchedule/deleteRealSchedule', {lineCode: lineCode}, function () { 111 gb_common.$post('/realSchedule/deleteRealSchedule', {lineCode: lineCode}, function () {
93 //刷新班次表格 112 //刷新班次表格
94 gb_schedule_table.reLoadAndRefresh(lineCode); 113 gb_schedule_table.reLoadAndRefresh(lineCode);
  114 + hide_wait_modal();
95 notify_succ('删除班次成功!!!'); 115 notify_succ('删除班次成功!!!');
96 }); 116 });
97 - }, '确认删除' + conf.line.name + '的实际排班'); 117 + }, '确认删除' + conf.line.name + '的实际排班', true);
98 118
99 return false; 119 return false;
100 }; 120 };
@@ -105,9 +125,11 @@ @@ -105,9 +125,11 @@
105 var reLoadRealSchedule = function (e) { 125 var reLoadRealSchedule = function (e) {
106 e.stopPropagation(); 126 e.stopPropagation();
107 var lineCode = conf.line.lineCode; 127 var lineCode = conf.line.lineCode;
  128 + show_wait_modal('正在重载数据...');
108 gb_common.$post('/realSchedule/reLoadRealSchedule', {lineCode: lineCode}, function () { 129 gb_common.$post('/realSchedule/reLoadRealSchedule', {lineCode: lineCode}, function () {
109 //刷新班次表格 130 //刷新班次表格
110 gb_schedule_table.reLoadAndRefresh(lineCode); 131 gb_schedule_table.reLoadAndRefresh(lineCode);
  132 + hide_wait_modal();
111 notify_succ('重新载入班次成功'); 133 notify_succ('重新载入班次成功');
112 }); 134 });
113 return false; 135 return false;
@@ -116,6 +138,18 @@ @@ -116,6 +138,18 @@
116 $(wrap).on('init', function (e, data) { 138 $(wrap).on('init', function (e, data) {
117 e.stopPropagation(); 139 e.stopPropagation();
118 conf = data.lineConfig; 140 conf = data.lineConfig;
  141 + //停车场
  142 + $.get('/basic/parks', function (rs) {
  143 + parks = [];
  144 + for (var code in rs) {
  145 + parks.push({code: code, name: rs[code]});
  146 + }
  147 + renderPSDom();
  148 + });
  149 + //上行站点路由
  150 + upStationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(conf.line.lineCode).sort(function (a, b) {
  151 + return a.stationRouteCode - b.stationRouteCode;
  152 + }), 'directions')[0];
119 153
120 var htmlStr = template('line_config_entity_form-temp', conf); 154 var htmlStr = template('line_config_entity_form-temp', conf);
121 $('form', wrap).html(htmlStr); 155 $('form', wrap).html(htmlStr);
@@ -135,14 +169,18 @@ @@ -135,14 +169,18 @@
135 169
136 //更新排班时间 170 //更新排班时间
137 var startOptFlag; 171 var startOptFlag;
  172 +
138 function updateStartTime() { 173 function updateStartTime() {
139 - if (startOptFlag || $(this).val()==conf.startOpt) 174 + if (startOptFlag || $(this).val() == conf.startOpt)
140 return; 175 return;
141 startOptFlag = true; 176 startOptFlag = true;
142 var that = this; 177 var that = this;
143 setTimeout(function () { 178 setTimeout(function () {
144 var timeStr = $(that).val(); 179 var timeStr = $(that).val();
145 - gb_common.$post('/lineConfig/editTime', {lineCode: conf.line.lineCode, time: timeStr}, function (rs) { 180 + gb_common.$post('/lineConfig/editTime', {
  181 + lineCode: conf.line.lineCode,
  182 + time: timeStr
  183 + }, function (rs) {
146 notify_succ('班次更新时间调整为 ' + timeStr); 184 notify_succ('班次更新时间调整为 ' + timeStr);
147 conf.startOpt = rs.time; 185 conf.startOpt = rs.time;
148 }); 186 });
@@ -152,19 +190,53 @@ @@ -152,19 +190,53 @@
152 190
153 function updateOutParkType() { 191 function updateOutParkType() {
154 var type = $(this).val(); 192 var type = $(this).val();
155 - gb_common.$post('/lineConfig/editOutTimeType', {lineCode: conf.line.lineCode, type: type}, function () { 193 + var lineCode = conf.line.lineCode;
  194 +
  195 + var data = {lineCode: lineCode, type: type, parkCode: '', stationCode: ''};
  196 + //出站既是出场
  197 + if (type == 2) {
  198 + //默认关联 线路标准停车场
  199 + data.parkCode = gb_data_basic.getLineInformation(lineCode).carPark;
  200 + //和上行起点站
  201 + data.stationCode = upStationRoutes[0].stationCode;
  202 + }
  203 + gb_common.$post('/lineConfig/editOutTimeType', data, function (rs) {
156 notify_succ('调整出场时间类型成功!'); 204 notify_succ('调整出场时间类型成功!');
157 - conf.outConfig = type; 205 + conf = rs.conf;
  206 +
  207 + //渲染场站关联dom
  208 + renderPSDom();
158 }); 209 });
159 } 210 }
160 211
161 function enableInParkForSource() { 212 function enableInParkForSource() {
162 var enable = $(this).val(); 213 var enable = $(this).val();
163 - gb_common.$post('/lineConfig/enableInParkForSource', {lineCode: conf.line.lineCode, enable: enable}, function () {  
164 - notify_succ((enable==1?'启用':'禁用') + '原线路回场'); 214 + gb_common.$post('/lineConfig/enableInParkForSource', {
  215 + lineCode: conf.line.lineCode,
  216 + enable: enable
  217 + }, function () {
  218 + notify_succ((enable == 1 ? '启用' : '禁用') + '原线路回场');
165 conf.inParkForSource = enable; 219 conf.inParkForSource = enable;
166 }); 220 });
167 } 221 }
  222 +
  223 + /**
  224 + * 渲染场既是站dom
  225 + */
  226 + function renderPSDom() {
  227 + var htmlStr = '',
  228 + $panel = $('.park-and-station-wrap', wrap);
  229 + if (conf['outConfig'] == 2) {
  230 + htmlStr = template('park-and-station-temp', {
  231 + parks: parks,
  232 + conf: conf,
  233 + routes: [upStationRoutes[0], upStationRoutes[upStationRoutes.length - 1]]
  234 + });
  235 + $panel.html(htmlStr).show();
  236 + }
  237 + else
  238 + $panel.html('').hide();
  239 + }
168 })(); 240 })();
169 </script> 241 </script>
170 </div> 242 </div>
171 \ No newline at end of file 243 \ No newline at end of file
src/main/resources/static/real_control_v2/js/common.js
@@ -91,8 +91,11 @@ var gb_common = (function () { @@ -91,8 +91,11 @@ var gb_common = (function () {
91 return; 91 return;
92 } 92 }
93 93
94 - if (status == 'ERROR') 94 + if (status == 'ERROR'){
95 UIkit.modal.alert(errorHead + (json.msg ? json.msg : '未知异常'), {labels: {Ok: '确定'}}); 95 UIkit.modal.alert(errorHead + (json.msg ? json.msg : '未知异常'), {labels: {Ok: '确定'}});
  96 + //关闭wait窗口
  97 + hide_wait_modal();
  98 + }
96 else 99 else
97 handle && handle(json); 100 handle && handle(json);
98 } 101 }
@@ -102,6 +105,8 @@ var gb_common = (function () { @@ -102,6 +105,8 @@ var gb_common = (function () {
102 successHandle(JSON.parse(xhr.responseText), succ); 105 successHandle(JSON.parse(xhr.responseText), succ);
103 } else if (ts == 'error') { 106 } else if (ts == 'error') {
104 UIkit.modal.alert(errorHead + xhr.responseText, {labels: {Ok: '确定'}}); 107 UIkit.modal.alert(errorHead + xhr.responseText, {labels: {Ok: '确定'}});
  108 + //关闭wait窗口
  109 + hide_wait_modal();
105 } 110 }
106 } 111 }
107 112
src/main/resources/static/real_control_v2/js/main.js
@@ -62,7 +62,6 @@ var gb_main_ep = new EventProxy(), @@ -62,7 +62,6 @@ var gb_main_ep = new EventProxy(),
62 }); 62 });
63 63
64 64
65 -  
66 $(document).on('click', '.ct-bottom-drawer-close', function () { 65 $(document).on('click', '.ct-bottom-drawer-close', function () {
67 $(this).parents('.ct-bottom-drawer').removeClass('open'); 66 $(this).parents('.ct-bottom-drawer').removeClass('open');
68 }); 67 });
@@ -106,7 +105,7 @@ var notify_err = function (t) { @@ -106,7 +105,7 @@ var notify_err = function (t) {
106 }); 105 });
107 }; 106 };
108 107
109 -var alt_confirm = function (content, succ, okBtn) { 108 +var alt_confirm = function (content, succ, okBtn, noCenter) {
110 var modalEl = UIkit.modal.confirm(content, function () { 109 var modalEl = UIkit.modal.confirm(content, function () {
111 succ && succ(); 110 succ && succ();
112 modalEl.hide(); 111 modalEl.hide();
@@ -115,10 +114,31 @@ var alt_confirm = function (content, succ, okBtn) { @@ -115,10 +114,31 @@ var alt_confirm = function (content, succ, okBtn) {
115 Ok: okBtn, 114 Ok: okBtn,
116 Cancel: '取消' 115 Cancel: '取消'
117 } 116 }
118 - , center: true 117 + , center: !noCenter
119 }); 118 });
120 }; 119 };
121 120
  121 +var show_wait_modal = function (text) {
  122 + var modalHtml =
  123 + '<div class="uk-modal" id="gb_wait_modal">' +
  124 + ' <div class="uk-modal-dialog">' +
  125 + ' <div class="uk-modal-spinner"></div>' +
  126 + ' <div class="wait-modal-text">' + text + '</div>' +
  127 + ' </div>' +
  128 + '</div>';
  129 +
  130 + $(document.body).append(modalHtml);
  131 + return UIkit.modal('#gb_wait_modal', {
  132 + bgclose: false,
  133 + modal: false
  134 + }).show();
  135 +};
  136 +
  137 +var hide_wait_modal = function () {
  138 + UIkit.modal('#gb_wait_modal').hide();
  139 +};
  140 +
  141 +
122 var isArray = function (obj) { 142 var isArray = function (obj) {
123 return Object.prototype.toString.call(obj) === '[object Array]'; 143 return Object.prototype.toString.call(obj) === '[object Array]';
124 }; 144 };
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
@@ -643,4 +643,10 @@ input[type=checkbox].disabled{ @@ -643,4 +643,10 @@ input[type=checkbox].disabled{
643 .uk-button.play-btn[data-type=pause]{ 643 .uk-button.play-btn[data-type=pause]{
644 color: #ff3c3c; 644 color: #ff3c3c;
645 border: 1px solid #ff3c3c; 645 border: 1px solid #ff3c3c;
  646 +}
  647 +
  648 +#map-playback2-modal .z-depth-viewport{
  649 + padding-top: 15px;
  650 + border-right: 1px solid #d8d7d7;
  651 + box-shadow: 3px 1px 8px 0 rgba(0, 0, 0, 0.12), 1px 0px 8px 0 rgba(0, 0, 0, 0.12);
646 } 652 }
647 \ No newline at end of file 653 \ No newline at end of file
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v2/main.html 0 → 100644
  1 +<div class="uk-modal" id="map-playback2-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-10 uk-height-viewport z-depth-viewport" >
  6 + </div>
  7 + <div class="uk-width-medium-2-10 uk-height-viewport z-depth-viewport">
  8 + </div>
  9 + <div class="uk-width-medium-7-10 uk-height-viewport">
  10 + </div>
  11 + </div>
  12 + </div>
  13 + <script>
  14 + (function () {
  15 + var modal = '#map-playback2-modal';
  16 + })();
  17 + </script>
  18 +</div>