Commit f7946b7bb230f37cb5c90fdbdee27e11c00fb0a4

Authored by 王通
1 parent 857c2d0b

1.去除配车、保养、抽减(这两项是统计在其他当中的)

src/main/resources/static/pages/summary/destory_sch_detail/list.html
@@ -153,8 +153,6 @@ @@ -153,8 +153,6 @@
153 <label>原因: 153 <label>原因:
154 <select class="uk-select" name="reason_eq"> 154 <select class="uk-select" name="reason_eq">
155 <option value="">全部</option> 155 <option value="">全部</option>
156 - <option value="配车">配车</option>  
157 - <option value="保养">保养</option>  
158 <option value="故障">故障</option> 156 <option value="故障">故障</option>
159 <option value="肇事">肇事</option> 157 <option value="肇事">肇事</option>
160 <option value="路阻">路阻</option> 158 <option value="路阻">路阻</option>
@@ -165,7 +163,6 @@ @@ -165,7 +163,6 @@
165 <option value="气候">气候</option> 163 <option value="气候">气候</option>
166 <option value="援外">援外</option> 164 <option value="援外">援外</option>
167 <option value="吊慢">吊慢</option> 165 <option value="吊慢">吊慢</option>
168 - <option value="抽减">抽减</option>  
169 <option value="路救抛锚">路救抛锚</option> 166 <option value="路救抛锚">路救抛锚</option>
170 <option value="其他">其他</option> 167 <option value="其他">其他</option>
171 </select> 168 </select>
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/jhlb.html
@@ -106,7 +106,7 @@ @@ -106,7 +106,7 @@
106 106
107 <script> 107 <script>
108 (function() { 108 (function() {
109 - var adjustExps = ['配车', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '路救抛锚', '其他']; 109 + var adjustExps = ['故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '路救抛锚', '其他'];
110 var modal = '#schedule-jhlb-modal', 110 var modal = '#schedule-jhlb-modal',
111 sch;fr 111 sch;fr
112 $(modal).on('init', function(e, data) { 112 $(modal).on('init', function(e, data) {
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_inpark.html
@@ -246,7 +246,7 @@ @@ -246,7 +246,7 @@
246 emptyForm = $('form[empty_form]', modal), 246 emptyForm = $('form[empty_form]', modal),
247 destroyForm = $('form[destroy_form]', modal), 247 destroyForm = $('form[destroy_form]', modal),
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 e.stopPropagation();
252 sch = data.sch; 252 sch = data.sch;
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_other.html
@@ -128,7 +128,7 @@ @@ -128,7 +128,7 @@
128 (function () { 128 (function () {
129 var modal = '#add-sub-task-other-modal', 129 var modal = '#add-sub-task-other-modal',
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 e.stopPropagation();
134 sch = data.sch; 134 sch = data.sch;
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/editor.html
1 -<div class="uk-modal ct-form-modal ct_move_modal" id="history-sch-edit-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 - <form class="uk-form uk-form-horizontal sch_form">  
7 - </form>  
8 -  
9 - <div class="uk-panel uk-panel-box uk-panel-box-secondary" style="padding-bottom: 0;">  
10 - <h3 class="uk-panel-title" id="childTaskTitle">  
11 - 子任务列表  
12 - <a id="addChildTaskBtn" data-uk-tooltip title="添加子任务"><i  
13 - class="uk-icon-plus"></i> </a>  
14 - </h3>  
15 - <div class="ct_table_wrap ct_table_no_border sub_task_table_wrap" style="height: 142px;">  
16 - <div class="ct_table sub-task-table">  
17 - <div class="ct_table_head">  
18 - <dl>  
19 - <dt>序号</dt>  
20 - <dt>类型</dt>  
21 - <dt>起点</dt>  
22 - <dt>终点</dt>  
23 - <dt>开始时间</dt>  
24 - <dt>结束时间</dt>  
25 - <dt>里程</dt>  
26 - <dt>备注</dt>  
27 - </dl>  
28 - </div>  
29 - <div class="ct_table_body">  
30 - </div>  
31 - </div>  
32 - </div>  
33 - </div>  
34 - </div>  
35 -  
36 - <script id="history-sch-edit-form-temp" type="text/html">  
37 - <input type="hidden" name="id" value="{{sch.id}}"/>  
38 -  
39 - <div class="uk-grid">  
40 - <div class="uk-width-1-3">  
41 - <div class="uk-form-row">  
42 - <label class="uk-form-label" >班次类型</label>  
43 - <div class="uk-form-controls">  
44 - <select class="form-control nt-dictionary" data-code="{{sch.bcType}}" name="bcType" data-group=ScheduleType></select>  
45 - </div>  
46 - </div>  
47 - </div>  
48 - <div class="uk-width-1-3">  
49 - <div class="uk-form-row">  
50 - <label class="uk-form-label" >起点</label>  
51 - <div class="uk-form-controls">  
52 - <select type="text" name="qdzCode" ></select>  
53 - </div>  
54 - </div>  
55 - </div>  
56 - <div class="uk-width-1-3">  
57 - <div class="uk-form-row">  
58 - <label class="uk-form-label" >终点</label>  
59 - <div class="uk-form-controls">  
60 - <select type="text" name="zdzCode" ></select>  
61 - </div>  
62 - </div>  
63 - </div>  
64 - </div>  
65 -  
66 - <div class="uk-grid">  
67 - <div class="uk-width-1-3">  
68 - <div class="uk-form-row">  
69 - <label class="uk-form-label" >车辆</label>  
70 - <div class="uk-form-controls">  
71 - <div class="uk-autocomplete uk-form car-autocom">  
72 - <input type="text" value="{{sch.clZbh}}" name="clZbh" required>  
73 - </div>  
74 - </div>  
75 - </div>  
76 - </div>  
77 - <div class="uk-width-1-3">  
78 - <div class="uk-form-row">  
79 - <label class="uk-form-label" >驾驶员</label>  
80 - <div class="uk-form-controls">  
81 - <div class="uk-autocomplete uk-form jsy-autocom">  
82 - <input type="text" value="{{sch.jGh}}/{{sch.jName}}" name="jsy" required>  
83 - </div>  
84 - </div>  
85 - </div>  
86 - </div>  
87 - <div class="uk-width-1-3">  
88 - <div class="uk-form-row">  
89 - <label class="uk-form-label" >售票员</label>  
90 - <div class="uk-form-controls">  
91 - <div class="uk-autocomplete uk-form spy-autocom">  
92 - <input type="text" name="spy" value="{{sch.sGh}}/{{sch.sName}}" name="spy">  
93 - </div>  
94 - </div>  
95 - </div>  
96 - </div>  
97 - </div>  
98 -  
99 - <div class="uk-grid">  
100 - <div class="uk-width-1-3">  
101 - <div class="uk-form-row">  
102 - <label class="uk-form-label" >计发</label>  
103 - <div class="uk-form-controls">  
104 - <input type="time" value="{{sch.fcsj}}" disabled>  
105 - </div>  
106 - </div>  
107 - </div>  
108 - <div class="uk-width-1-3">  
109 - <div class="uk-form-row">  
110 - <label class="uk-form-label" >待发</label>  
111 - <div class="uk-form-controls">  
112 - <input type="time" name="dfsj" value="{{sch.dfsj}}" required>  
113 - </div>  
114 - </div>  
115 - </div>  
116 - <div class="uk-width-1-3">  
117 - <div class="uk-form-row">  
118 - <label class="uk-form-label" >实发</label>  
119 - <div class="uk-form-controls">  
120 - <input type="time" name="fcsjActual" value="{{sch.fcsjActual}}" >  
121 - </div>  
122 - </div>  
123 - </div>  
124 - </div>  
125 -  
126 - <div class="uk-grid">  
127 - <div class="uk-width-1-3">  
128 - <div class="uk-form-row">  
129 - <label class="uk-form-label" >里程</label>  
130 - <div class="uk-form-controls">  
131 - <input type="text" name="jhlc" value="{{sch.jhlc}}" max=400 data-fv-lessthan-inclusive="false"  
132 - required>  
133 - </div>  
134 - </div>  
135 - </div>  
136 - <div class="uk-width-1-3">  
137 - <div class="uk-form-row">  
138 - <label class="uk-form-label" >计达</label>  
139 - <div class="uk-form-controls">  
140 - <input type="time" value="{{sch.zdsj}}" disabled>  
141 - </div>  
142 - </div>  
143 - </div>  
144 - <div class="uk-width-1-3">  
145 - <div class="uk-form-row">  
146 - <label class="uk-form-label" >实达</label>  
147 - <div class="uk-form-controls">  
148 - <input type="time" name="zdsjActual" value="{{sch.zdsjActual}}" >  
149 - </div>  
150 - </div>  
151 - </div>  
152 - </div>  
153 - <div class="uk-grid">  
154 - <div class="uk-width-1-3">  
155 - <div class="uk-form-row">  
156 - <label class="uk-form-label" ></label>  
157 - <label>  
158 - &nbsp;<input class="i-cbox destroy-box" type="checkbox" name="status" value="-1" {{if sch.status==-1}}checked{{/if}}>  
159 - 是否烂班  
160 - </label>  
161 - </div>  
162 -  
163 - <div class="uk-form-row adjust_exps_select_wrap {{if sch.status!=-1}}display_hide{{/if}}" >  
164 - <label class="uk-form-label" >烂班原因</label>  
165 - <div class="uk-form-controls">  
166 - <select name="adjustExps">  
167 - {{each adjustExps as exp i}}  
168 - <option value="{{exp}}" {{if sch.adjustExps==exp}}selected{{/if}}>{{exp}}</option>  
169 - {{/each}}  
170 - </select>  
171 - </div>  
172 - </div>  
173 - </div>  
174 -  
175 - <div class="uk-width-2-3">  
176 - <div class="uk-form-row ct-stacked">  
177 - <label class="uk-form-label" >备注</label>  
178 - <div class="uk-form-controls" style="margin-top: 5px;">  
179 - <textarea id="form-s-t" cols="20" rows="3" name="remarks" data-fv-stringlength="true" data-fv-stringlength-max="100" placeholder="备注">{{sch.remarks}}</textarea>  
180 - </div>  
181 - </div>  
182 - </div>  
183 - </div>  
184 - <div class="uk-modal-footer uk-text-right" style="margin-bottom: 20px;">  
185 - <div class="uk-button-dropdown" data-uk-dropdown>  
186 - <a class="uk-button uk-button-success"><i class="uk-icon-pencil-square-o"></i> 添加子任务 <i class="uk-icon-caret-down"></i></a>  
187 - <div class="uk-dropdown" style="text-align: left;">  
188 - <ul class="uk-nav uk-nav-dropdown child_task_list">  
189 - <!--<li data-method="add_oil"><a>空驶进出场</a></li>  
190 - <li data-method="in_park"><a>进场</a></li>  
191 - <li data-method="out_park"><a>出场</a></li>-->  
192 - <li data-method="other"><a>自定义</a></li>  
193 - </ul>  
194 - </div>  
195 - </div>  
196 -  
197 - <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;保存主任务信息</button>  
198 - </div>  
199 - </script>  
200 -  
201 - <script id="h-sub_task-table-temp" type="text/html">  
202 - {{each list as task i}}  
203 - <dl data-id="{{task.id}}">  
204 - <dd>{{i+1}}</dd>  
205 - <dd><span class="nt-dictionary" data-group="ChildTaskType">{{task.type2}}</span></dd>  
206 - <dd>{{task.startStationName}}</dd>  
207 - <dd>{{task.endStationName}}</dd>  
208 - <dd>{{task.startDate}}</dd>  
209 - <dd>{{task.endDate}}</dd>  
210 - <dd>  
211 - {{task.mileage}}  
212 - (<span class="nt-dictionary" data-group="MileageType">{{task.mileageType}}</span>  
213 - {{if task.destroy}}  
214 - <small style="color:red;">烂班</small>  
215 - {{/if}}  
216 - )  
217 - </dd>  
218 - <dd title="{{task.remarks}}">{{task.remarks}}</dd>  
219 - </dl>  
220 - {{/each}}  
221 - </script>  
222 -  
223 - <script>  
224 - (function() {  
225 - var modal = '#history-sch-edit-modal'  
226 - ,gb_sch,parentModal;  
227 - var stationRoutes, parks, information;  
228 - var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他'];  
229 - $(modal).on('init', function(e, data) {  
230 - e.stopPropagation();  
231 - var id = data.id;  
232 - parentModal=data.parentModal;  
233 -  
234 - $.get('/realSchedule/'+id, function (sch) {  
235 - gb_sch = sch;  
236 -  
237 - var htmlStr = template('history-sch-edit-form-temp', {sch: sch, adjustExps: adjustExps});  
238 - $('form.sch_form', modal).html(htmlStr);  
239 - //子任务列表  
240 - sch.cTasks.sort(sub_task_sort);  
241 - htmlStr = template('h-sub_task-table-temp', {list: sch.cTasks});  
242 - $('.sub-task-table .ct_table_body', modal).html(htmlStr);  
243 -  
244 - //字典转换  
245 - dictionaryUtils.transformDom($('.nt-dictionary', modal));  
246 - //渲染表格,自动补全和下拉框等  
247 - renderForm();  
248 -  
249 - //submit  
250 - var f = $('form.sch_form', modal).formValidation(gb_form_validation_opts);  
251 - //是否烂班  
252 - $('[name=status]', f).on('click', function () {  
253 - if(this.checked){  
254 - $('[name=jhlc]', f).val(0);  
255 - $('.adjust_exps_select_wrap', f).show();  
256 - }  
257 - else{  
258 - $('[name=jhlc]', f).val(gb_sch.jhlcOrig);  
259 - $('.adjust_exps_select_wrap', f).hide();  
260 - }  
261 - });  
262 - f.on('success.form.fv', function(e) {  
263 - e.preventDefault();  
264 - var data = $(this).serializeJSON();  
265 -  
266 - //拆分驾驶员工号和姓名  
267 - data.jGh = data.jsy.split('/')[0];  
268 - data.jName = data.jsy.split('/')[1];  
269 - delete data.jsy;  
270 - //拆分售票员工号和姓名  
271 - if(data.spy != null){  
272 - data.sGh = data.spy.split('/')[0];  
273 - data.sName = data.spy.split('/')[1];  
274 - delete data.spy;  
275 - }  
276 -  
277 - gb_common.$post('/realSchedule/history', data, function (rs) {  
278 - //console.log(rs);  
279 - UIkit.modal(modal).hide();  
280 - $(parentModal).trigger('refresh');  
281 - });  
282 - });  
283 - });  
284 - });  
285 -  
286 - /**  
287 - * 添加子任务  
288 - */  
289 - $(modal).on('click','.child_task_list>li', function () {  
290 - var method = $(this).data('method');  
291 - addChildTaskObj[method]();  
292 - });  
293 - var modal_opts = {center: false, bgclose: false, modal: false}  
294 - ,folder = '/real_control_v2/fragments/north/nav/history_sch';  
295 - var addChildTaskObj = {  
296 - add_oil: function () {  
297 - open_modal(folder + '/h_add_sub_task_oil.html', {  
298 - sch: gb_sch  
299 - }, modal_opts);  
300 - },  
301 - in_park: function () {  
302 - open_modal(folder + '/h_add_sub_task_inpark.html', {  
303 - sch: gb_sch  
304 - }, modal_opts);  
305 - },  
306 - out_park: function () {  
307 - open_modal(folder + '/h_add_sub_task_outpark.html', {  
308 - sch: gb_sch  
309 - }, modal_opts);  
310 - },  
311 - other: function () {  
312 - open_modal(folder + '/h_add_sub_task_other.html', {  
313 - sch: gb_sch  
314 - }, modal_opts);  
315 - }  
316 - };  
317 -  
318 - $('#addChildTaskBtn', modal).on('click', addChildTaskObj.other);  
319 -  
320 -  
321 - var callbackHandler = {  
322 - remove_sub_task: function () {  
323 - var activeDl = $('.sub-task-table .ct_table_body', modal).find('dl.context-menu-active');  
324 - if (activeDl.length == 0)  
325 - return;  
326 - var dds = activeDl.find('dd');  
327 - var id = activeDl.data('id')  
328 - , str = '<h3>确定要删除子任务<span style="color:red;margin: 0 5px;">' + $(dds[4]).text() + ',' + $(dds[6]).text() + ' </span>?</h3>';  
329 - alt_confirm(str, function () {  
330 - gb_common.$del('/childTask/history/' + id, function (rs) {  
331 - notify_succ('删除子任务成功!');  
332 - //刷新界面数据  
333 - $(modal).trigger('init', {id: gb_sch.id});  
334 - });  
335 - }, '确定删除');  
336 - }  
337 - };  
338 - //右键菜单  
339 - $.contextMenu({  
340 - selector: modal + ' .sub-task-table .ct_table_body dl',  
341 - className: 'schedule-ct-menu',  
342 - callback: function (key, options) {  
343 - callbackHandler[key] && callbackHandler[key]();  
344 - },  
345 - items: {  
346 - "remove_sub_task": {  
347 - name: "删除子任务"  
348 - , icon: "delete"  
349 - }  
350 - }  
351 - });  
352 -  
353 - function renderForm() {  
354 - //站点路由  
355 - stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(gb_sch.xlBm).sort(function (a, b) {  
356 - return a.stationRouteCode - b.stationRouteCode;  
357 - }), 'directions');  
358 - //停车场  
359 - parks = gb_data_basic.simpleParksArray();  
360 - //线路标准  
361 - information = gb_data_basic.getLineInformation(gb_sch.xlBm);  
362 -  
363 - //----------- Autocomplete --------------  
364 - //车辆  
365 - gb_common.carAutocomplete($('.car-autocom', modal), gb_data_basic.carsArray());  
366 - //驾驶员  
367 - gb_common.personAutocomplete($('.jsy-autocom', modal));  
368 - //售票员  
369 - gb_common.personAutocomplete($('.spy-autocom', modal));  
370 -  
371 - //班次类型切换  
372 - var f = $('form.sch_form', modal);  
373 - initScheduleTypeChange(f);  
374 - $('[name=bcType]', f).trigger('change');  
375 - }  
376 -  
377 -  
378 - function initScheduleTypeChange(f, cb) {  
379 - (function (f, cb) {  
380 - $('[name=bcType]', f).on('change', function () {  
381 - var bcType_e = $('[name=bcType]', f)  
382 - , updown = gb_sch.xlDir;  
383 -  
384 - var routes = stationRoutes[updown]  
385 - , lastCode = routes[routes.length - 1].stationCode  
386 - , opts = '', park_opts = '';  
387 - //station options  
388 - $.each(routes, function () {  
389 - opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>'  
390 - });  
391 - //park options  
392 - for (var code in parks)  
393 - park_opts += '<option value="' + code + '">' + parks[code] + '</option>';  
394 -  
395 - var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f);  
396 - var time, mileage;  
397 - switch (bcType_e.val()) {  
398 - case 'out':  
399 - if (gb_sch && gb_sch.qdzCode) qdz.html(park_opts).val(gb_sch.qdzCode);  
400 - else qdz.html(park_opts).val(information.carPark);  
401 - zdz.html(opts);  
402 - //出场结束时间  
403 - time = updown == 0 ? information.upOutTimer : information.downOutTimer;  
404 - mileage = updown == 0 ? information.upOutMileage : information.downOutMileage;  
405 - break;  
406 - case 'in':  
407 - qdz.html(opts);  
408 - if (gb_sch && gb_sch.zdzCode) zdz.html(park_opts).val(gb_sch.zdzCode);  
409 - else zdz.html(park_opts).val(information.carPark);  
410 - //进场结束时间  
411 - time = updown == 0 ? information.upInTimer : information.downInTimer;  
412 - mileage = updown == 0 ? information.upInMileage : information.downInMileage;  
413 - break;  
414 - default:  
415 - qdz.html(opts);  
416 - zdz.html(opts).val(lastCode);  
417 - time = updown == 0?information.upTravelTime:information.downTravelTime;  
418 - mileage = updown == 0?information.upMileage:information.downMileage;  
419 - }  
420 -  
421 - cb && cb();  
422 - }).trigger('change');  
423 - })(f, cb);  
424 - }  
425 -  
426 - function sub_task_sort(a, b) {  
427 - return a.id - b.id;  
428 - }  
429 - })();  
430 - </script>  
431 -</div> 1 +<div class="uk-modal ct-form-modal ct_move_modal" id="history-sch-edit-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 + <form class="uk-form uk-form-horizontal sch_form">
  7 + </form>
  8 +
  9 + <div class="uk-panel uk-panel-box uk-panel-box-secondary" style="padding-bottom: 0;">
  10 + <h3 class="uk-panel-title" id="childTaskTitle">
  11 + 子任务列表
  12 + <a id="addChildTaskBtn" data-uk-tooltip title="添加子任务"><i
  13 + class="uk-icon-plus"></i> </a>
  14 + </h3>
  15 + <div class="ct_table_wrap ct_table_no_border sub_task_table_wrap" style="height: 142px;">
  16 + <div class="ct_table sub-task-table">
  17 + <div class="ct_table_head">
  18 + <dl>
  19 + <dt>序号</dt>
  20 + <dt>类型</dt>
  21 + <dt>起点</dt>
  22 + <dt>终点</dt>
  23 + <dt>开始时间</dt>
  24 + <dt>结束时间</dt>
  25 + <dt>里程</dt>
  26 + <dt>备注</dt>
  27 + </dl>
  28 + </div>
  29 + <div class="ct_table_body">
  30 + </div>
  31 + </div>
  32 + </div>
  33 + </div>
  34 + </div>
  35 +
  36 + <script id="history-sch-edit-form-temp" type="text/html">
  37 + <input type="hidden" name="id" value="{{sch.id}}"/>
  38 +
  39 + <div class="uk-grid">
  40 + <div class="uk-width-1-3">
  41 + <div class="uk-form-row">
  42 + <label class="uk-form-label" >班次类型</label>
  43 + <div class="uk-form-controls">
  44 + <select class="form-control nt-dictionary" data-code="{{sch.bcType}}" name="bcType" data-group=ScheduleType></select>
  45 + </div>
  46 + </div>
  47 + </div>
  48 + <div class="uk-width-1-3">
  49 + <div class="uk-form-row">
  50 + <label class="uk-form-label" >起点</label>
  51 + <div class="uk-form-controls">
  52 + <select type="text" name="qdzCode" ></select>
  53 + </div>
  54 + </div>
  55 + </div>
  56 + <div class="uk-width-1-3">
  57 + <div class="uk-form-row">
  58 + <label class="uk-form-label" >终点</label>
  59 + <div class="uk-form-controls">
  60 + <select type="text" name="zdzCode" ></select>
  61 + </div>
  62 + </div>
  63 + </div>
  64 + </div>
  65 +
  66 + <div class="uk-grid">
  67 + <div class="uk-width-1-3">
  68 + <div class="uk-form-row">
  69 + <label class="uk-form-label" >车辆</label>
  70 + <div class="uk-form-controls">
  71 + <div class="uk-autocomplete uk-form car-autocom">
  72 + <input type="text" value="{{sch.clZbh}}" name="clZbh" required>
  73 + </div>
  74 + </div>
  75 + </div>
  76 + </div>
  77 + <div class="uk-width-1-3">
  78 + <div class="uk-form-row">
  79 + <label class="uk-form-label" >驾驶员</label>
  80 + <div class="uk-form-controls">
  81 + <div class="uk-autocomplete uk-form jsy-autocom">
  82 + <input type="text" value="{{sch.jGh}}/{{sch.jName}}" name="jsy" required>
  83 + </div>
  84 + </div>
  85 + </div>
  86 + </div>
  87 + <div class="uk-width-1-3">
  88 + <div class="uk-form-row">
  89 + <label class="uk-form-label" >售票员</label>
  90 + <div class="uk-form-controls">
  91 + <div class="uk-autocomplete uk-form spy-autocom">
  92 + <input type="text" name="spy" value="{{sch.sGh}}/{{sch.sName}}" name="spy">
  93 + </div>
  94 + </div>
  95 + </div>
  96 + </div>
  97 + </div>
  98 +
  99 + <div class="uk-grid">
  100 + <div class="uk-width-1-3">
  101 + <div class="uk-form-row">
  102 + <label class="uk-form-label" >计发</label>
  103 + <div class="uk-form-controls">
  104 + <input type="time" value="{{sch.fcsj}}" disabled>
  105 + </div>
  106 + </div>
  107 + </div>
  108 + <div class="uk-width-1-3">
  109 + <div class="uk-form-row">
  110 + <label class="uk-form-label" >待发</label>
  111 + <div class="uk-form-controls">
  112 + <input type="time" name="dfsj" value="{{sch.dfsj}}" required>
  113 + </div>
  114 + </div>
  115 + </div>
  116 + <div class="uk-width-1-3">
  117 + <div class="uk-form-row">
  118 + <label class="uk-form-label" >实发</label>
  119 + <div class="uk-form-controls">
  120 + <input type="time" name="fcsjActual" value="{{sch.fcsjActual}}" >
  121 + </div>
  122 + </div>
  123 + </div>
  124 + </div>
  125 +
  126 + <div class="uk-grid">
  127 + <div class="uk-width-1-3">
  128 + <div class="uk-form-row">
  129 + <label class="uk-form-label" >里程</label>
  130 + <div class="uk-form-controls">
  131 + <input type="text" name="jhlc" value="{{sch.jhlc}}" max=400 data-fv-lessthan-inclusive="false"
  132 + required>
  133 + </div>
  134 + </div>
  135 + </div>
  136 + <div class="uk-width-1-3">
  137 + <div class="uk-form-row">
  138 + <label class="uk-form-label" >计达</label>
  139 + <div class="uk-form-controls">
  140 + <input type="time" value="{{sch.zdsj}}" disabled>
  141 + </div>
  142 + </div>
  143 + </div>
  144 + <div class="uk-width-1-3">
  145 + <div class="uk-form-row">
  146 + <label class="uk-form-label" >实达</label>
  147 + <div class="uk-form-controls">
  148 + <input type="time" name="zdsjActual" value="{{sch.zdsjActual}}" >
  149 + </div>
  150 + </div>
  151 + </div>
  152 + </div>
  153 + <div class="uk-grid">
  154 + <div class="uk-width-1-3">
  155 + <div class="uk-form-row">
  156 + <label class="uk-form-label" ></label>
  157 + <label>
  158 + &nbsp;<input class="i-cbox destroy-box" type="checkbox" name="status" value="-1" {{if sch.status==-1}}checked{{/if}}>
  159 + 是否烂班
  160 + </label>
  161 + </div>
  162 +
  163 + <div class="uk-form-row adjust_exps_select_wrap {{if sch.status!=-1}}display_hide{{/if}}" >
  164 + <label class="uk-form-label" >烂班原因</label>
  165 + <div class="uk-form-controls">
  166 + <select name="adjustExps">
  167 + {{each adjustExps as exp i}}
  168 + <option value="{{exp}}" {{if sch.adjustExps==exp}}selected{{/if}}>{{exp}}</option>
  169 + {{/each}}
  170 + </select>
  171 + </div>
  172 + </div>
  173 + </div>
  174 +
  175 + <div class="uk-width-2-3">
  176 + <div class="uk-form-row ct-stacked">
  177 + <label class="uk-form-label" >备注</label>
  178 + <div class="uk-form-controls" style="margin-top: 5px;">
  179 + <textarea id="form-s-t" cols="20" rows="3" name="remarks" data-fv-stringlength="true" data-fv-stringlength-max="100" placeholder="备注">{{sch.remarks}}</textarea>
  180 + </div>
  181 + </div>
  182 + </div>
  183 + </div>
  184 + <div class="uk-modal-footer uk-text-right" style="margin-bottom: 20px;">
  185 + <div class="uk-button-dropdown" data-uk-dropdown>
  186 + <a class="uk-button uk-button-success"><i class="uk-icon-pencil-square-o"></i> 添加子任务 <i class="uk-icon-caret-down"></i></a>
  187 + <div class="uk-dropdown" style="text-align: left;">
  188 + <ul class="uk-nav uk-nav-dropdown child_task_list">
  189 + <!--<li data-method="add_oil"><a>空驶进出场</a></li>
  190 + <li data-method="in_park"><a>进场</a></li>
  191 + <li data-method="out_park"><a>出场</a></li>-->
  192 + <li data-method="other"><a>自定义</a></li>
  193 + </ul>
  194 + </div>
  195 + </div>
  196 +
  197 + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;保存主任务信息</button>
  198 + </div>
  199 + </script>
  200 +
  201 + <script id="h-sub_task-table-temp" type="text/html">
  202 + {{each list as task i}}
  203 + <dl data-id="{{task.id}}">
  204 + <dd>{{i+1}}</dd>
  205 + <dd><span class="nt-dictionary" data-group="ChildTaskType">{{task.type2}}</span></dd>
  206 + <dd>{{task.startStationName}}</dd>
  207 + <dd>{{task.endStationName}}</dd>
  208 + <dd>{{task.startDate}}</dd>
  209 + <dd>{{task.endDate}}</dd>
  210 + <dd>
  211 + {{task.mileage}}
  212 + (<span class="nt-dictionary" data-group="MileageType">{{task.mileageType}}</span>
  213 + {{if task.destroy}}
  214 + <small style="color:red;">烂班</small>
  215 + {{/if}}
  216 + )
  217 + </dd>
  218 + <dd title="{{task.remarks}}">{{task.remarks}}</dd>
  219 + </dl>
  220 + {{/each}}
  221 + </script>
  222 +
  223 + <script>
  224 + (function() {
  225 + var modal = '#history-sch-edit-modal'
  226 + ,gb_sch,parentModal;
  227 + var stationRoutes, parks, information;
  228 + var adjustExps = ['故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '其他'];
  229 + $(modal).on('init', function(e, data) {
  230 + e.stopPropagation();
  231 + var id = data.id;
  232 + parentModal=data.parentModal;
  233 +
  234 + $.get('/realSchedule/'+id, function (sch) {
  235 + gb_sch = sch;
  236 +
  237 + var htmlStr = template('history-sch-edit-form-temp', {sch: sch, adjustExps: adjustExps});
  238 + $('form.sch_form', modal).html(htmlStr);
  239 + //子任务列表
  240 + sch.cTasks.sort(sub_task_sort);
  241 + htmlStr = template('h-sub_task-table-temp', {list: sch.cTasks});
  242 + $('.sub-task-table .ct_table_body', modal).html(htmlStr);
  243 +
  244 + //字典转换
  245 + dictionaryUtils.transformDom($('.nt-dictionary', modal));
  246 + //渲染表格,自动补全和下拉框等
  247 + renderForm();
  248 +
  249 + //submit
  250 + var f = $('form.sch_form', modal).formValidation(gb_form_validation_opts);
  251 + //是否烂班
  252 + $('[name=status]', f).on('click', function () {
  253 + if(this.checked){
  254 + $('[name=jhlc]', f).val(0);
  255 + $('.adjust_exps_select_wrap', f).show();
  256 + }
  257 + else{
  258 + $('[name=jhlc]', f).val(gb_sch.jhlcOrig);
  259 + $('.adjust_exps_select_wrap', f).hide();
  260 + }
  261 + });
  262 + f.on('success.form.fv', function(e) {
  263 + e.preventDefault();
  264 + var data = $(this).serializeJSON();
  265 +
  266 + //拆分驾驶员工号和姓名
  267 + data.jGh = data.jsy.split('/')[0];
  268 + data.jName = data.jsy.split('/')[1];
  269 + delete data.jsy;
  270 + //拆分售票员工号和姓名
  271 + if(data.spy != null){
  272 + data.sGh = data.spy.split('/')[0];
  273 + data.sName = data.spy.split('/')[1];
  274 + delete data.spy;
  275 + }
  276 +
  277 + gb_common.$post('/realSchedule/history', data, function (rs) {
  278 + //console.log(rs);
  279 + UIkit.modal(modal).hide();
  280 + $(parentModal).trigger('refresh');
  281 + });
  282 + });
  283 + });
  284 + });
  285 +
  286 + /**
  287 + * 添加子任务
  288 + */
  289 + $(modal).on('click','.child_task_list>li', function () {
  290 + var method = $(this).data('method');
  291 + addChildTaskObj[method]();
  292 + });
  293 + var modal_opts = {center: false, bgclose: false, modal: false}
  294 + ,folder = '/real_control_v2/fragments/north/nav/history_sch';
  295 + var addChildTaskObj = {
  296 + add_oil: function () {
  297 + open_modal(folder + '/h_add_sub_task_oil.html', {
  298 + sch: gb_sch
  299 + }, modal_opts);
  300 + },
  301 + in_park: function () {
  302 + open_modal(folder + '/h_add_sub_task_inpark.html', {
  303 + sch: gb_sch
  304 + }, modal_opts);
  305 + },
  306 + out_park: function () {
  307 + open_modal(folder + '/h_add_sub_task_outpark.html', {
  308 + sch: gb_sch
  309 + }, modal_opts);
  310 + },
  311 + other: function () {
  312 + open_modal(folder + '/h_add_sub_task_other.html', {
  313 + sch: gb_sch
  314 + }, modal_opts);
  315 + }
  316 + };
  317 +
  318 + $('#addChildTaskBtn', modal).on('click', addChildTaskObj.other);
  319 +
  320 +
  321 + var callbackHandler = {
  322 + remove_sub_task: function () {
  323 + var activeDl = $('.sub-task-table .ct_table_body', modal).find('dl.context-menu-active');
  324 + if (activeDl.length == 0)
  325 + return;
  326 + var dds = activeDl.find('dd');
  327 + var id = activeDl.data('id')
  328 + , str = '<h3>确定要删除子任务<span style="color:red;margin: 0 5px;">' + $(dds[4]).text() + ',' + $(dds[6]).text() + ' </span>?</h3>';
  329 + alt_confirm(str, function () {
  330 + gb_common.$del('/childTask/history/' + id, function (rs) {
  331 + notify_succ('删除子任务成功!');
  332 + //刷新界面数据
  333 + $(modal).trigger('init', {id: gb_sch.id});
  334 + });
  335 + }, '确定删除');
  336 + }
  337 + };
  338 + //右键菜单
  339 + $.contextMenu({
  340 + selector: modal + ' .sub-task-table .ct_table_body dl',
  341 + className: 'schedule-ct-menu',
  342 + callback: function (key, options) {
  343 + callbackHandler[key] && callbackHandler[key]();
  344 + },
  345 + items: {
  346 + "remove_sub_task": {
  347 + name: "删除子任务"
  348 + , icon: "delete"
  349 + }
  350 + }
  351 + });
  352 +
  353 + function renderForm() {
  354 + //站点路由
  355 + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(gb_sch.xlBm).sort(function (a, b) {
  356 + return a.stationRouteCode - b.stationRouteCode;
  357 + }), 'directions');
  358 + //停车场
  359 + parks = gb_data_basic.simpleParksArray();
  360 + //线路标准
  361 + information = gb_data_basic.getLineInformation(gb_sch.xlBm);
  362 +
  363 + //----------- Autocomplete --------------
  364 + //车辆
  365 + gb_common.carAutocomplete($('.car-autocom', modal), gb_data_basic.carsArray());
  366 + //驾驶员
  367 + gb_common.personAutocomplete($('.jsy-autocom', modal));
  368 + //售票员
  369 + gb_common.personAutocomplete($('.spy-autocom', modal));
  370 +
  371 + //班次类型切换
  372 + var f = $('form.sch_form', modal);
  373 + initScheduleTypeChange(f);
  374 + $('[name=bcType]', f).trigger('change');
  375 + }
  376 +
  377 +
  378 + function initScheduleTypeChange(f, cb) {
  379 + (function (f, cb) {
  380 + $('[name=bcType]', f).on('change', function () {
  381 + var bcType_e = $('[name=bcType]', f)
  382 + , updown = gb_sch.xlDir;
  383 +
  384 + var routes = stationRoutes[updown]
  385 + , lastCode = routes[routes.length - 1].stationCode
  386 + , opts = '', park_opts = '';
  387 + //station options
  388 + $.each(routes, function () {
  389 + opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>'
  390 + });
  391 + //park options
  392 + for (var code in parks)
  393 + park_opts += '<option value="' + code + '">' + parks[code] + '</option>';
  394 +
  395 + var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f);
  396 + var time, mileage;
  397 + switch (bcType_e.val()) {
  398 + case 'out':
  399 + if (gb_sch && gb_sch.qdzCode) qdz.html(park_opts).val(gb_sch.qdzCode);
  400 + else qdz.html(park_opts).val(information.carPark);
  401 + zdz.html(opts);
  402 + //出场结束时间
  403 + time = updown == 0 ? information.upOutTimer : information.downOutTimer;
  404 + mileage = updown == 0 ? information.upOutMileage : information.downOutMileage;
  405 + break;
  406 + case 'in':
  407 + qdz.html(opts);
  408 + if (gb_sch && gb_sch.zdzCode) zdz.html(park_opts).val(gb_sch.zdzCode);
  409 + else zdz.html(park_opts).val(information.carPark);
  410 + //进场结束时间
  411 + time = updown == 0 ? information.upInTimer : information.downInTimer;
  412 + mileage = updown == 0 ? information.upInMileage : information.downInMileage;
  413 + break;
  414 + default:
  415 + qdz.html(opts);
  416 + zdz.html(opts).val(lastCode);
  417 + time = updown == 0?information.upTravelTime:information.downTravelTime;
  418 + mileage = updown == 0?information.upMileage:information.downMileage;
  419 + }
  420 +
  421 + cb && cb();
  422 + }).trigger('change');
  423 + })(f, cb);
  424 + }
  425 +
  426 + function sub_task_sort(a, b) {
  427 + return a.id - b.id;
  428 + }
  429 + })();
  430 + </script>
  431 +</div>
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/h_add_sub_task_inpark.html
@@ -246,7 +246,7 @@ @@ -246,7 +246,7 @@
246 emptyForm = $('form[empty_form]', modal), 246 emptyForm = $('form[empty_form]', modal),
247 destroyForm = $('form[destroy_form]', modal), 247 destroyForm = $('form[destroy_form]', modal),
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 e.stopPropagation();
252 sch = data.sch; 252 sch = data.sch;
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/h_add_sub_task_other.html
@@ -144,7 +144,7 @@ @@ -144,7 +144,7 @@
144 (function () { 144 (function () {
145 var modal = '#add-sub-task-other-modal', 145 var modal = '#add-sub-task-other-modal',
146 sch, stationRoutes, parks, information; 146 sch, stationRoutes, parks, information;
147 - var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他']; 147 + var adjustExps = ['故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '其他'];
148 $(modal).on('init', function (e, data) { 148 $(modal).on('init', function (e, data) {
149 e.stopPropagation(); 149 e.stopPropagation();
150 sch = data.sch; 150 sch = data.sch;
src/main/resources/static/real_control_v2/js/common.js
@@ -22,7 +22,7 @@ var gb_common = (function () { @@ -22,7 +22,7 @@ var gb_common = (function () {
22 0x10: 'SOS', 22 0x10: 'SOS',
23 }; 23 };
24 24
25 - var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '路救抛锚', '其他']; 25 + var adjustExps = ['故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '路救抛锚', '其他'];
26 var inOutExps = ['故障', '肇事', '纠纷', '路救抛锚', '其他']; 26 var inOutExps = ['故障', '肇事', '纠纷', '路救抛锚', '其他'];
27 27
28 var groupBy = function (list, field) { 28 var groupBy = function (list, field) {