Commit 84de745406e5e84e76137f1cd0b32de80b0b22dc

Authored by 王通
1 parent 79f8cde5

1.班次间隔调整自动填个间隔均值

src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
1   -/* line schedule table context menu*/
2   -
3   -var gb_schedule_context_menu = (function () {
4   -
5   - var modal_opts = {
6   - center: false,
7   - bgclose: false
8   - },
9   - folder = '/real_control_v2/fragments/line_schedule/context_menu';
10   -
11   - //提前缓存子任务的片段页面
12   - var st_doms={};
13   - $.get(folder + '/sub_task_v2/add_custom.html', function (dom) {
14   - st_doms.custom_dom=dom;
15   - });
16   - $.get(folder + '/sub_task_v2/add_in_out.html', function (dom) {
17   - st_doms.inout_dom=dom;
18   - });
19   - $.get(folder + '/sub_task_v2/add_range_turn.html', function (dom) {
20   - st_doms.range_dom=dom;
21   - });
22   - $.get(folder + '/sub_task_v2/add_range_normal.html', function (dom) {
23   - st_doms.range_2_normal_dom=dom;
24   - });
25   - //提前缓存临加的片段页面
26   - var add_sch_doms={}, add_sch_doms_v2 = {};
27   - $.get(folder + '/temp_sch/add_normal.html', function (dom) {
28   - add_sch_doms.normal_dom=dom;
29   - });
30   - $.get(folder + '/temp_sch/add_two_way.html', function (dom) {
31   - add_sch_doms.two_way_dom=dom;
32   - });
33   - $.get(folder + '/temp_sch/add_park_to_park.html', function (dom) {
34   - add_sch_doms.park_to_park_dom=dom;
35   - });
36   - $.get(folder + '/temp_sch_v2/add_normal.html', function (dom) {
37   - add_sch_doms_v2.normal_dom=dom;
38   - });
39   - $.get(folder + '/temp_sch_v2/add_two_way.html', function (dom) {
40   - add_sch_doms_v2.two_way_dom=dom;
41   - });
42   - $.get(folder + '/temp_sch_v2/add_park_to_park.html', function (dom) {
43   - add_sch_doms_v2.park_to_park_dom=dom;
44   - });
45   -
46   -
47   - var callbackHandler = {
48   - get_st_doms: function () {
49   - return st_doms;
50   - },
51   - get_add_sch_doms: function () {
52   - return add_sch_doms;
53   - },
54   - get_add_sch_doms_v2: function () {
55   - return add_sch_doms_v2;
56   - },
57   - dftz: function (sch) {
58   - if(sch.status > 0){
59   - notify_err((sch.status==1?'已发出':'已执行') + '的班次不能修改待发');
60   - return;
61   - }
62   - open_modal(folder + '/dftz.html', {
63   - sch: sch
64   - }, modal_opts);
65   - },
66   - multi_tzrc: function (schArray) {
67   - open_modal(folder + '/multi_tzrc.html', {
68   - list: schArray
69   - }, modal_opts);
70   - },
71   - multi_dftz: function (schArray) {
72   - var list = schArray.filter(function (sch) {
73   - return sch.bcType != 'out' && sch.bcType != 'in' && sch.fcsjActual == null;
74   - });
75   - if(list.length == 0){
76   - notify_err('没有需要调整的班次!');
77   - return;
78   - }
79   - open_modal(folder + '/multi_dftz.html', {
80   - list: list
81   - }, modal_opts);
82   - },
83   - jhlb: function (sch) {
84   - open_modal(folder + '/jhlb.html', {
85   - sch: sch
86   - }, modal_opts);
87   - },
88   - cxlb: function (sch) {
89   - if (!sch.destroy)
90   - return notify_err('烂掉的班次才能执行此操作!');
91   -
92   - var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的烂班设置?</h3>'
93   - alt_confirm(content, function () {
94   - gb_common.$post('/realSchedule/revokeDestroy', {
95   - id: sch.id
96   - }, function (rs) {
97   - gb_schedule_table.updateSchedule(rs.t);
98   - notify_succ('撤销烂班操作成功!');
99   -
100   - //calc 应发未发
101   - gb_schedule_table.calc_yfwf_num(sch.xlBm);
102   - });
103   - }, '确认撤销');
104   - },
105   - sftz: function (sch) {
106   - open_modal(folder + '/sftz.html?r=' + Math.random(), {
107   - sch: sch
108   - }, modal_opts);
109   - },
110   - cxsf: function (sch, cb) {
111   - if (!sch.fcsjActual)
112   - return notify_err('车辆未实发,无法执行该操作!');
113   -
114   - var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的实发时间?</h3>'
115   - alt_confirm(content, function () {
116   - gb_common.$post('/realSchedule/revokeRealOutgo', {
117   - id: sch.id
118   - }, function (rs) {
119   - gb_schedule_table.updateSchedule(rs.ts);
120   - notify_succ('撤销实发操作成功!');
121   - //calc 应发未发
122   - gb_schedule_table.calc_yfwf_num(sch.xlBm);
123   -
124   - cb && cb();
125   - });
126   - }, '确认撤销实发');
127   - },
128   - fcxxwt: function (sch) {
129   - open_modal(folder + '/fcxxwt.html?r=' + Math.random(), {
130   - sch: sch
131   - }, modal_opts);
132   - },
133   - lj_zrw: function (sch) {
134   - open_modal(folder + '/lj_zrw.html', {
135   - sch: sch
136   - }, modal_opts);
137   - },
138   - tzrc: function (sch) {
139   - open_modal(folder + '/tzrc.html', {
140   - sch: sch
141   - }, modal_opts);
142   - },
143   - zlcf: function (sch) {
144   - var text = sch.clZbh + '重发调度指令? [路牌: ' + sch.lpName + ' 计划时间:' + sch.fcsj + ' 待发时间:' + sch.dfsj + ']';
145   - alt_confirm(text, function () {
146   - //走短语下发
147   - $.post('/directive/dispatch', {id: sch.id},
148   - function (code) {
149   - if (code == 0)
150   - notify_succ('发送指令成功');
151   - else
152   - notify_err('发送指令失败');
153   - });
154   - }, '确定下发指令');
155   - },
156   - jgtz: function (schArray) {
157   - //忽略进出场班次
158   - schArray = schArray.filter(function (sch) {
159   - return sch.bcType != 'in' && sch.bcType != 'out' && sch.status!=-1;
160   - });
161   -
162   - var idArr = [], qdz = schArray[0].qdzCode;
163   - $.each(schArray, function () {
164   - if(this.qdzCode==qdz)
165   - idArr.push(this.id);
166   - });
167   -
168   - var ps = '<div class="ps-help-panel"><small>1、忽略进出场班次</small><small>2、与选中的第一个班次起点站不同的也将被忽略</small><small>3、忽略烂班</small></div>';
169   - var elem = UIkit.modal.prompt('请输入间隔(分钟)' + ps, 0, function (newValue) {
170   - if (!isNaN(newValue) && newValue > 0) {
171   - gb_common.$post_arr('/realSchedule/spaceAdjust', {ids: idArr, space: newValue}, function (rs) {
172   - //刷新数据
173   - //if(rs.t){
174   - // gb_schedule_table.reLoadAndRefresh(rs.t.xlBm);
175   - //}
176   - gb_schedule_table.updateSchedule(rs.ts);
177   - notify_succ('调整间隔成功!');
178   - });
179   - } else
180   - notify_err('不合理的间隔时间!');
181   - }, {
182   - labels: {
183   - Ok: '确定调整',
184   - Cancel: '取消'
185   - }
186   - });
187   - },
188   - lp_change: function (sch) {
189   - open_modal(folder + '/lp_change.html', {
190   - sch: sch
191   - }, modal_opts);
192   - },
193   - cxzx: function (sch, cb) {
194   - if (!sch.zdsjActual && !sch.fcsjActual)
195   - return notify_err('车辆未执行,无法撤销执行!');
196   -
197   - var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的实达时间?</h3>'
198   - alt_confirm(content, function () {
199   - gb_common.$post('/realSchedule/revokeRealArrive', {
200   - id: sch.id
201   - }, function (rs) {
202   - gb_schedule_table.updateSchedule(rs.ts);
203   - notify_succ('撤销执行成功!');
204   -
205   - cb && cb();
206   - });
207   - }, '确认撤销执行');
208   - },
209   -
210   - add_sub_task_in: function (sch) {
211   - if(sch.bcType == 'out' || sch.bcType == 'in'){
212   - notify_err('暂不能在进出场班次上做回场子任务!');
213   - return;
214   - }
215   - open_modal(folder + '/sub_task/add_sub_task_inpark.html', {
216   - sch: sch
217   - }, modal_opts);
218   - },
219   - add_sub_task_out: function (sch) {
220   - if(sch.bcType == 'out' || sch.bcType == 'in'){
221   - notify_err('暂不能在进出场班次上做出场子任务!');
222   - return;
223   - }
224   - open_modal(folder + '/sub_task/add_sub_task_outpark.html', {
225   - sch: sch
226   - }, modal_opts);
227   - },
228   - add_sub_task_range_turn: function (sch) {
229   - if(sch.bcType == 'out' || sch.bcType == 'in')
230   - return notify_err('进出场班次不能做区间掉头!');
231   - if(sch.destroy)
232   - return notify_err('没有理由在烂班上做区间调头!!');
233   - open_modal(folder + '/sub_task/add_sub_task_range_turn.html', {
234   - sch: sch
235   - }, modal_opts);
236   - },
237   - add_oil: function (sch) {
238   - if(sch.bcType == 'out' || sch.bcType == 'in'){
239   - notify_err('暂不能在进出场班次上做这个操作!');
240   - return;
241   - }
242   - open_modal(folder + '/sub_task/add_sub_task_oil.html', {
243   - sch: sch
244   - }, modal_opts);
245   - },
246   - wdtz: function (sch) {
247   - this.multi_wdtz(sch);
248   - },
249   - multi_wdtz: function (schArray) {
250   - if (!isArray(schArray))
251   - schArray = [schArray];
252   -
253   - var idx='', minute=0;
254   - $.each(schArray, function () {
255   - if(this.bcType=='in' || this.bcType=='out' ||
256   - (this.fcsjActual && this.status != 0)){
257   - return true;
258   - }
259   - else
260   - idx += (this.id + ',');
261   - minute = this.lateMinute;
262   - });
263   -
264   - if(!idx || idx==''){
265   - notify_err('没有需要设置误点停靠时间的班次!');
266   - return;
267   - }
268   -
269   - var elem = UIkit.modal.prompt('请输入误点停靠时间(分钟)', minute, function (newValue) {
270   - if (!isNaN(newValue) && newValue >= 0) {
271   - gb_common.$post_arr('/realSchedule/lateAdjust', {idx: idx, minute: newValue}, function (rs) {
272   - console.log('误点调整rs', rs);
273   - if(rs.ts){
274   - gb_schedule_table.updateSchedule(rs.ts);
275   - notify_succ('成功为' + rs.count + '个班次设置误点停靠时间');
276   - }
277   - });
278   - } else
279   - notify_err('不合理的停靠时间!');
280   - }, {
281   - labels: {
282   - Ok: '确定调整',
283   - Cancel: '取消'
284   - }
285   - });
286   - },
287   - add_temp_sch: function (sch) {
288   - open_modal(folder + '/temp_sch/main.html', {
289   - sch: sch
290   - }, modal_opts);
291   - },
292   - add_temp_sch_v2: function (sch) {
293   - open_modal(folder + '/temp_sch_v2/main.html', {
294   - sch: sch
295   - }, modal_opts);
296   - },
297   - add_sub_task: function (sch) {
298   - if ($('#add-sub-task-main-modal').length>0) {
299   - layer.msg('已存在正在添加的子任务.');
300   - return;
301   - }
302   - open_modal(folder + '/sub_task_v2/main.html', {
303   - sch: sch
304   - }, {center: false, bgclose: false, modal: false});
305   - },
306   - wxsb: function (sch) {
307   - open_modal(folder + '/wxsb.html', {
308   - sch: sch
309   - }, {center: true, bgclose: false, modal: true});
310   - }
311   - };
312   -
313   - $.contextMenu({
314   - selector: '.line_schedule .ct_table_body dl:not([class="drag-active"])',
315   - className: 'schedule-ct-menu',
316   - callback: function (key, options) {
317   - var $tbody = options.$trigger.parent(),
318   - id = $('.context-menu-active', $tbody).data('id'),
319   - lineCode = $tbody.parents('li.line_schedule').data('id'),
320   - sch = gb_schedule_table.findScheduleByLine(lineCode)[id];
321   -
322   - callbackHandler[key] && callbackHandler[key](sch);
323   - },
324   - items: {
325   - 'dftz': {
326   - name: '待发调整'
327   - },
328   - 'sep1': '---------',
329   - 'jhlb': {
330   - name: '计划烂班'
331   - },
332   - 'cxlb': {
333   - name: '撤销烂班'
334   - },
335   - 'sftz': {
336   - name: '实发调整'
337   - },
338   - 'cxsf': {
339   - name: '撤销实发'
340   - },
341   - 'cxzx': {
342   - name: '撤销执行'
343   - },
344   - 'sep2': '---------',
345   - 'fcxxwt': {
346   - name: '发车信息微调'
347   - },
348   - 'sep3': '---------',
349   - 'lj_zrw': {
350   - name: '临加/子任务'
351   - },
352   - 'add_temp_sch': {
353   - name: '新增临加班次'
354   - },
355   - 'add_sub_task': {
356   - name: '新增子任务'
357   - },
358   - 'sep4': '---------',
359   - 'tzrc': {
360   - name: '调整人车'
361   - },
362   - 'zlcf': {
363   - name: '指令重发'
364   - },
365   - 'wdtz': {
366   - name: '误点调整'
367   - },
368   - 'sep5': '---------',
369   - 'lp_change': {
370   - name: '路牌对调'
371   - },
372   - 'sep6': '---------',
373   - 'wxsb': {
374   - name: '维修上报'
375   - }
376   - }
377   - });
378   -
379   - $.contextMenu({
380   - selector: '.line_schedule .schedule-wrap .card-panel',
381   - className: 'schedule-ct-menu',
382   - callback: function (key, options) {
383   - var $tbody = options.$trigger.parent(), lineCode = $tbody.parents('li.line_schedule').data('id');
384   -
385   - callbackHandler[key] && callbackHandler[key]({ xlBm : lineCode });
386   - },
387   - items: {
388   - 'add_temp_sch_v2': {
389   - name: '新增临加班次'
390   - }
391   - }
392   - });
393   -
394   - $.contextMenu({
395   - selector: '.line_schedule .ct_table_body dl.drag-active',
396   - className: 'schedule-ct-menu',
397   - callback: function (key, options) {
398   - var $tbody = options.$trigger.parent(),
399   - lineCode = $tbody.parents('li.line_schedule').data('id'),
400   - schArray = [],
401   - all = gb_schedule_table.findScheduleByLine(lineCode);
402   -
403   - $tbody.find('dl.drag-active').each(function () {
404   - schArray.push(all[$(this).data('id')]);
405   - });
406   -
407   - callbackHandler[key] && callbackHandler[key](schArray);
408   - },
409   - items: {
410   - 'multi_dftz': {
411   - name: '待发调整'
412   - },
413   - 'jgtz': {
414   - name: '间隔调整'
415   - },
416   - 'multi_tzrc': {
417   - name: '调整人车'
418   - },
419   - 'multi_wdtz': {
420   - name: '误点调整'
421   - }
422   - }
423   - });
424   -
425   - return callbackHandler;
426   -})();
  1 +/* line schedule table context menu*/
  2 +
  3 +var gb_schedule_context_menu = (function () {
  4 +
  5 + var modal_opts = {
  6 + center: false,
  7 + bgclose: false
  8 + },
  9 + folder = '/real_control_v2/fragments/line_schedule/context_menu';
  10 +
  11 + //提前缓存子任务的片段页面
  12 + var st_doms={};
  13 + $.get(folder + '/sub_task_v2/add_custom.html', function (dom) {
  14 + st_doms.custom_dom=dom;
  15 + });
  16 + $.get(folder + '/sub_task_v2/add_in_out.html', function (dom) {
  17 + st_doms.inout_dom=dom;
  18 + });
  19 + $.get(folder + '/sub_task_v2/add_range_turn.html', function (dom) {
  20 + st_doms.range_dom=dom;
  21 + });
  22 + $.get(folder + '/sub_task_v2/add_range_normal.html', function (dom) {
  23 + st_doms.range_2_normal_dom=dom;
  24 + });
  25 + //提前缓存临加的片段页面
  26 + var add_sch_doms={}, add_sch_doms_v2 = {};
  27 + $.get(folder + '/temp_sch/add_normal.html', function (dom) {
  28 + add_sch_doms.normal_dom=dom;
  29 + });
  30 + $.get(folder + '/temp_sch/add_two_way.html', function (dom) {
  31 + add_sch_doms.two_way_dom=dom;
  32 + });
  33 + $.get(folder + '/temp_sch/add_park_to_park.html', function (dom) {
  34 + add_sch_doms.park_to_park_dom=dom;
  35 + });
  36 + $.get(folder + '/temp_sch_v2/add_normal.html', function (dom) {
  37 + add_sch_doms_v2.normal_dom=dom;
  38 + });
  39 + $.get(folder + '/temp_sch_v2/add_two_way.html', function (dom) {
  40 + add_sch_doms_v2.two_way_dom=dom;
  41 + });
  42 + $.get(folder + '/temp_sch_v2/add_park_to_park.html', function (dom) {
  43 + add_sch_doms_v2.park_to_park_dom=dom;
  44 + });
  45 +
  46 +
  47 + var callbackHandler = {
  48 + get_st_doms: function () {
  49 + return st_doms;
  50 + },
  51 + get_add_sch_doms: function () {
  52 + return add_sch_doms;
  53 + },
  54 + get_add_sch_doms_v2: function () {
  55 + return add_sch_doms_v2;
  56 + },
  57 + dftz: function (sch) {
  58 + if(sch.status > 0){
  59 + notify_err((sch.status==1?'已发出':'已执行') + '的班次不能修改待发');
  60 + return;
  61 + }
  62 + open_modal(folder + '/dftz.html', {
  63 + sch: sch
  64 + }, modal_opts);
  65 + },
  66 + multi_tzrc: function (schArray) {
  67 + open_modal(folder + '/multi_tzrc.html', {
  68 + list: schArray
  69 + }, modal_opts);
  70 + },
  71 + multi_dftz: function (schArray) {
  72 + var list = schArray.filter(function (sch) {
  73 + return sch.bcType != 'out' && sch.bcType != 'in' && sch.fcsjActual == null;
  74 + });
  75 + if(list.length == 0){
  76 + notify_err('没有需要调整的班次!');
  77 + return;
  78 + }
  79 + open_modal(folder + '/multi_dftz.html', {
  80 + list: list
  81 + }, modal_opts);
  82 + },
  83 + jhlb: function (sch) {
  84 + open_modal(folder + '/jhlb.html', {
  85 + sch: sch
  86 + }, modal_opts);
  87 + },
  88 + cxlb: function (sch) {
  89 + if (!sch.destroy)
  90 + return notify_err('烂掉的班次才能执行此操作!');
  91 +
  92 + var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的烂班设置?</h3>'
  93 + alt_confirm(content, function () {
  94 + gb_common.$post('/realSchedule/revokeDestroy', {
  95 + id: sch.id
  96 + }, function (rs) {
  97 + gb_schedule_table.updateSchedule(rs.t);
  98 + notify_succ('撤销烂班操作成功!');
  99 +
  100 + //calc 应发未发
  101 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
  102 + });
  103 + }, '确认撤销');
  104 + },
  105 + sftz: function (sch) {
  106 + open_modal(folder + '/sftz.html?r=' + Math.random(), {
  107 + sch: sch
  108 + }, modal_opts);
  109 + },
  110 + cxsf: function (sch, cb) {
  111 + if (!sch.fcsjActual)
  112 + return notify_err('车辆未实发,无法执行该操作!');
  113 +
  114 + var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的实发时间?</h3>'
  115 + alt_confirm(content, function () {
  116 + gb_common.$post('/realSchedule/revokeRealOutgo', {
  117 + id: sch.id
  118 + }, function (rs) {
  119 + gb_schedule_table.updateSchedule(rs.ts);
  120 + notify_succ('撤销实发操作成功!');
  121 + //calc 应发未发
  122 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
  123 +
  124 + cb && cb();
  125 + });
  126 + }, '确认撤销实发');
  127 + },
  128 + fcxxwt: function (sch) {
  129 + open_modal(folder + '/fcxxwt.html?r=' + Math.random(), {
  130 + sch: sch
  131 + }, modal_opts);
  132 + },
  133 + lj_zrw: function (sch) {
  134 + open_modal(folder + '/lj_zrw.html', {
  135 + sch: sch
  136 + }, modal_opts);
  137 + },
  138 + tzrc: function (sch) {
  139 + open_modal(folder + '/tzrc.html', {
  140 + sch: sch
  141 + }, modal_opts);
  142 + },
  143 + zlcf: function (sch) {
  144 + var text = sch.clZbh + '重发调度指令? [路牌: ' + sch.lpName + ' 计划时间:' + sch.fcsj + ' 待发时间:' + sch.dfsj + ']';
  145 + alt_confirm(text, function () {
  146 + //走短语下发
  147 + $.post('/directive/dispatch', {id: sch.id},
  148 + function (code) {
  149 + if (code == 0)
  150 + notify_succ('发送指令成功');
  151 + else
  152 + notify_err('发送指令失败');
  153 + });
  154 + }, '确定下发指令');
  155 + },
  156 + jgtz: function (schArray) {
  157 + //忽略进出场班次
  158 + schArray = schArray.filter(function (sch) {
  159 + return sch.bcType != 'in' && sch.bcType != 'out' && sch.status!=-1;
  160 + });
  161 +
  162 + var gap = 0;
  163 + if (schArray.length > 1) {
  164 + var first = schArray[0].dfsjT, last = schArray[schArray.length - 1].dfsjT;
  165 + gap = Math.floor((last - first) / 60000 / (schArray.length - 1));
  166 + }
  167 +
  168 + var idArr = [], qdz = schArray[0].qdzCode;
  169 + $.each(schArray, function () {
  170 + if(this.qdzCode==qdz)
  171 + idArr.push(this.id);
  172 + });
  173 +
  174 + var ps = '<div class="ps-help-panel"><small>1、忽略进出场班次</small><small>2、与选中的第一个班次起点站不同的也将被忽略</small><small>3、忽略烂班</small></div>';
  175 + var elem = UIkit.modal.prompt('请输入间隔(分钟)' + ps, gap, function (newValue) {
  176 + if (!isNaN(newValue) && newValue > 0) {
  177 + gb_common.$post_arr('/realSchedule/spaceAdjust', {ids: idArr, space: newValue}, function (rs) {
  178 + //刷新数据
  179 + //if(rs.t){
  180 + // gb_schedule_table.reLoadAndRefresh(rs.t.xlBm);
  181 + //}
  182 + gb_schedule_table.updateSchedule(rs.ts);
  183 + notify_succ('调整间隔成功!');
  184 + });
  185 + } else
  186 + notify_err('不合理的间隔时间!');
  187 + }, {
  188 + labels: {
  189 + Ok: '确定调整',
  190 + Cancel: '取消'
  191 + }
  192 + });
  193 + },
  194 + lp_change: function (sch) {
  195 + open_modal(folder + '/lp_change.html', {
  196 + sch: sch
  197 + }, modal_opts);
  198 + },
  199 + cxzx: function (sch, cb) {
  200 + if (!sch.zdsjActual && !sch.fcsjActual)
  201 + return notify_err('车辆未执行,无法撤销执行!');
  202 +
  203 + var content = '<h3>确定要撤销<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>的实达时间?</h3>'
  204 + alt_confirm(content, function () {
  205 + gb_common.$post('/realSchedule/revokeRealArrive', {
  206 + id: sch.id
  207 + }, function (rs) {
  208 + gb_schedule_table.updateSchedule(rs.ts);
  209 + notify_succ('撤销执行成功!');
  210 +
  211 + cb && cb();
  212 + });
  213 + }, '确认撤销执行');
  214 + },
  215 +
  216 + add_sub_task_in: function (sch) {
  217 + if(sch.bcType == 'out' || sch.bcType == 'in'){
  218 + notify_err('暂不能在进出场班次上做回场子任务!');
  219 + return;
  220 + }
  221 + open_modal(folder + '/sub_task/add_sub_task_inpark.html', {
  222 + sch: sch
  223 + }, modal_opts);
  224 + },
  225 + add_sub_task_out: function (sch) {
  226 + if(sch.bcType == 'out' || sch.bcType == 'in'){
  227 + notify_err('暂不能在进出场班次上做出场子任务!');
  228 + return;
  229 + }
  230 + open_modal(folder + '/sub_task/add_sub_task_outpark.html', {
  231 + sch: sch
  232 + }, modal_opts);
  233 + },
  234 + add_sub_task_range_turn: function (sch) {
  235 + if(sch.bcType == 'out' || sch.bcType == 'in')
  236 + return notify_err('进出场班次不能做区间掉头!');
  237 + if(sch.destroy)
  238 + return notify_err('没有理由在烂班上做区间调头!!');
  239 + open_modal(folder + '/sub_task/add_sub_task_range_turn.html', {
  240 + sch: sch
  241 + }, modal_opts);
  242 + },
  243 + add_oil: function (sch) {
  244 + if(sch.bcType == 'out' || sch.bcType == 'in'){
  245 + notify_err('暂不能在进出场班次上做这个操作!');
  246 + return;
  247 + }
  248 + open_modal(folder + '/sub_task/add_sub_task_oil.html', {
  249 + sch: sch
  250 + }, modal_opts);
  251 + },
  252 + wdtz: function (sch) {
  253 + this.multi_wdtz(sch);
  254 + },
  255 + multi_wdtz: function (schArray) {
  256 + if (!isArray(schArray))
  257 + schArray = [schArray];
  258 +
  259 + var idx='', minute=0;
  260 + $.each(schArray, function () {
  261 + if(this.bcType=='in' || this.bcType=='out' ||
  262 + (this.fcsjActual && this.status != 0)){
  263 + return true;
  264 + }
  265 + else
  266 + idx += (this.id + ',');
  267 + minute = this.lateMinute;
  268 + });
  269 +
  270 + if(!idx || idx==''){
  271 + notify_err('没有需要设置误点停靠时间的班次!');
  272 + return;
  273 + }
  274 +
  275 + var elem = UIkit.modal.prompt('请输入误点停靠时间(分钟)', minute, function (newValue) {
  276 + if (!isNaN(newValue) && newValue >= 0) {
  277 + gb_common.$post_arr('/realSchedule/lateAdjust', {idx: idx, minute: newValue}, function (rs) {
  278 + console.log('误点调整rs', rs);
  279 + if(rs.ts){
  280 + gb_schedule_table.updateSchedule(rs.ts);
  281 + notify_succ('成功为' + rs.count + '个班次设置误点停靠时间');
  282 + }
  283 + });
  284 + } else
  285 + notify_err('不合理的停靠时间!');
  286 + }, {
  287 + labels: {
  288 + Ok: '确定调整',
  289 + Cancel: '取消'
  290 + }
  291 + });
  292 + },
  293 + add_temp_sch: function (sch) {
  294 + open_modal(folder + '/temp_sch/main.html', {
  295 + sch: sch
  296 + }, modal_opts);
  297 + },
  298 + add_temp_sch_v2: function (sch) {
  299 + open_modal(folder + '/temp_sch_v2/main.html', {
  300 + sch: sch
  301 + }, modal_opts);
  302 + },
  303 + add_sub_task: function (sch) {
  304 + if ($('#add-sub-task-main-modal').length>0) {
  305 + layer.msg('已存在正在添加的子任务.');
  306 + return;
  307 + }
  308 + open_modal(folder + '/sub_task_v2/main.html', {
  309 + sch: sch
  310 + }, {center: false, bgclose: false, modal: false});
  311 + },
  312 + wxsb: function (sch) {
  313 + open_modal(folder + '/wxsb.html', {
  314 + sch: sch
  315 + }, {center: true, bgclose: false, modal: true});
  316 + }
  317 + };
  318 +
  319 + $.contextMenu({
  320 + selector: '.line_schedule .ct_table_body dl:not([class="drag-active"])',
  321 + className: 'schedule-ct-menu',
  322 + callback: function (key, options) {
  323 + var $tbody = options.$trigger.parent(),
  324 + id = $('.context-menu-active', $tbody).data('id'),
  325 + lineCode = $tbody.parents('li.line_schedule').data('id'),
  326 + sch = gb_schedule_table.findScheduleByLine(lineCode)[id];
  327 +
  328 + callbackHandler[key] && callbackHandler[key](sch);
  329 + },
  330 + items: {
  331 + 'dftz': {
  332 + name: '待发调整'
  333 + },
  334 + 'sep1': '---------',
  335 + 'jhlb': {
  336 + name: '计划烂班'
  337 + },
  338 + 'cxlb': {
  339 + name: '撤销烂班'
  340 + },
  341 + 'sftz': {
  342 + name: '实发调整'
  343 + },
  344 + 'cxsf': {
  345 + name: '撤销实发'
  346 + },
  347 + 'cxzx': {
  348 + name: '撤销执行'
  349 + },
  350 + 'sep2': '---------',
  351 + 'fcxxwt': {
  352 + name: '发车信息微调'
  353 + },
  354 + 'sep3': '---------',
  355 + 'lj_zrw': {
  356 + name: '临加/子任务'
  357 + },
  358 + 'add_temp_sch': {
  359 + name: '新增临加班次'
  360 + },
  361 + 'add_sub_task': {
  362 + name: '新增子任务'
  363 + },
  364 + 'sep4': '---------',
  365 + 'tzrc': {
  366 + name: '调整人车'
  367 + },
  368 + 'zlcf': {
  369 + name: '指令重发'
  370 + },
  371 + 'wdtz': {
  372 + name: '误点调整'
  373 + },
  374 + 'sep5': '---------',
  375 + 'lp_change': {
  376 + name: '路牌对调'
  377 + },
  378 + 'sep6': '---------',
  379 + 'wxsb': {
  380 + name: '维修上报'
  381 + }
  382 + }
  383 + });
  384 +
  385 + $.contextMenu({
  386 + selector: '.line_schedule .schedule-wrap .card-panel',
  387 + className: 'schedule-ct-menu',
  388 + callback: function (key, options) {
  389 + var $tbody = options.$trigger.parent(), lineCode = $tbody.parents('li.line_schedule').data('id');
  390 +
  391 + callbackHandler[key] && callbackHandler[key]({ xlBm : lineCode });
  392 + },
  393 + items: {
  394 + 'add_temp_sch_v2': {
  395 + name: '新增临加班次'
  396 + }
  397 + }
  398 + });
  399 +
  400 + $.contextMenu({
  401 + selector: '.line_schedule .ct_table_body dl.drag-active',
  402 + className: 'schedule-ct-menu',
  403 + callback: function (key, options) {
  404 + var $tbody = options.$trigger.parent(),
  405 + lineCode = $tbody.parents('li.line_schedule').data('id'),
  406 + schArray = [],
  407 + all = gb_schedule_table.findScheduleByLine(lineCode);
  408 +
  409 + $tbody.find('dl.drag-active').each(function () {
  410 + schArray.push(all[$(this).data('id')]);
  411 + });
  412 +
  413 + callbackHandler[key] && callbackHandler[key](schArray);
  414 + },
  415 + items: {
  416 + 'multi_dftz': {
  417 + name: '待发调整'
  418 + },
  419 + 'jgtz': {
  420 + name: '间隔调整'
  421 + },
  422 + 'multi_tzrc': {
  423 + name: '调整人车'
  424 + },
  425 + 'multi_wdtz': {
  426 + name: '误点调整'
  427 + }
  428 + }
  429 + });
  430 +
  431 + return callbackHandler;
  432 +})();
... ...
src/main/resources/static/real_control_v2/js/safe_driv/safeDriv.js
... ... @@ -113,23 +113,27 @@ var gb_safe_driv = (function () {
113 113 if (!url || url.endsWith('.bin')) return;
114 114 items.push(url);
115 115 });
116   - gb_common.$get('/api/minio/preSignedUrl', {objects: items}, function(res) {
117   - $(that).remove();
118   - urls = res.urls;
119   - items = [];
120   - urls.forEach(function (url, idx) {
121   - file = url.substring(0, url.indexOf('?'));
122   - if (file.endsWith('.png') || file.endsWith('.jpg')) {
123   - type = 'image';
124   - } else {
125   - type = 'video';
  116 + if (items.length > 0) {
  117 + gb_common.$get('/api/minio/preSignedUrl', {objects: items}, function(res) {
  118 + $(that).remove();
  119 + urls = res.urls;
  120 + items = [];
  121 + urls.forEach(function (url, idx) {
  122 + file = url.substring(0, url.indexOf('?'));
  123 + if (file.endsWith('.png') || file.endsWith('.jpg')) {
  124 + type = 'image';
  125 + } else {
  126 + type = 'video';
  127 + }
  128 + items.push({title: '附件' + (idx + 1), source: url, type: type});
  129 + });
  130 + if (items.length > 0) {
  131 + UIkit.lightbox.create(items, {keyboard: true}).show();
126 132 }
127   - items.push({title: '附件' + (idx + 1), source: url, type: type});
128   - });
129   - if (items.length > 0) {
130   - UIkit.lightbox.create(items, {keyboard: true}).show();
131   - }
132   - })
  133 + })
  134 + } else {
  135 + $(that).remove();
  136 + }
133 137 break;
134 138 default:
135 139 break;
... ...