Commit 398be398a02b2b00df9fdd161f71df9eff5b8fd2
1 parent
abd9f44a
update...
Showing
14 changed files
with
1007 additions
and
134 deletions
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -1025,7 +1025,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1025,7 +1025,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1025 | sch.setLate2(false); | 1025 | sch.setLate2(false); |
| 1026 | LateAdjustHandle.remove(sch); | 1026 | LateAdjustHandle.remove(sch); |
| 1027 | } | 1027 | } |
| 1028 | - } else if (sch.getFcsjActual() != null){ | 1028 | + } else if (StringUtils.isNotEmpty(sch.getFcsjActual()) && StringUtils.isEmpty(fcsjActual)){ |
| 1029 | //撤销实发 | 1029 | //撤销实发 |
| 1030 | revokeRealOutgo(sch.getId()); | 1030 | revokeRealOutgo(sch.getId()); |
| 1031 | } | 1031 | } |
| @@ -1049,7 +1049,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1049,7 +1049,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1049 | 1049 | ||
| 1050 | //重新计算车辆执行班次 | 1050 | //重新计算车辆执行班次 |
| 1051 | dayOfSchedule.reCalcExecPlan(sch.getClZbh()); | 1051 | dayOfSchedule.reCalcExecPlan(sch.getClZbh()); |
| 1052 | - } else if(StringUtils.isNotEmpty(sch.getZdsjActual())){ | 1052 | + } else if(StringUtils.isNotEmpty(sch.getZdsjActual()) && StringUtils.isEmpty(zdsjActual)){ |
| 1053 | //清除实达时间 | 1053 | //清除实达时间 |
| 1054 | sch.clearZdsjActual(); | 1054 | sch.clearZdsjActual(); |
| 1055 | //清除路牌下一班起点到达时间 | 1055 | //清除路牌下一班起点到达时间 |
src/main/resources/static/real_control_v2/css/main.css
| @@ -1134,3 +1134,27 @@ dl.intimity span.late-badge{ | @@ -1134,3 +1134,27 @@ dl.intimity span.late-badge{ | ||
| 1134 | margin: 0; | 1134 | margin: 0; |
| 1135 | width: auto; | 1135 | width: auto; |
| 1136 | } | 1136 | } |
| 1137 | + | ||
| 1138 | +ul.left_tabs_lg{ | ||
| 1139 | + border: 1px solid #efeded; | ||
| 1140 | + height: 100%; | ||
| 1141 | + background: #fafafa; | ||
| 1142 | +} | ||
| 1143 | + | ||
| 1144 | +ul.left_tabs_lg li{ | ||
| 1145 | + line-height: 40px; | ||
| 1146 | + font-size: 15px; | ||
| 1147 | +} | ||
| 1148 | + | ||
| 1149 | +#schedule-addsch-modal .uk-modal-footer{ | ||
| 1150 | + border-top: none; | ||
| 1151 | + background: none; | ||
| 1152 | +} | ||
| 1153 | + | ||
| 1154 | +.ct_line_lp_badge{ | ||
| 1155 | + float: left; | ||
| 1156 | + margin-top: 6px; | ||
| 1157 | + background: #e0e0e0; | ||
| 1158 | + padding: 2px 7px; | ||
| 1159 | + border-radius: 3px; | ||
| 1160 | +} |
src/main/resources/static/real_control_v2/css/modal_extend.css
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch.html
| 1 | <div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal"> | 1 | <div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal"> |
| 2 | - <div class="uk-modal-dialog"> | 2 | + <div class="uk-modal-dialog" style="width: 800px;"> |
| 3 | <a href="" class="uk-modal-close uk-close"></a> | 3 | <a href="" class="uk-modal-close uk-close"></a> |
| 4 | <div class="uk-modal-header"> | 4 | <div class="uk-modal-header"> |
| 5 | <h2>新增临加班次</h2></div> | 5 | <h2>新增临加班次</h2></div> |
| 6 | + | ||
| 7 | + <div class="uk-grid"> | ||
| 8 | + <div class="uk-width-1-4"> | ||
| 9 | + <ul data-uk-switcher="{connect:'#tempScheduleContent'}" class="uk-nav uk-nav-side left_tabs_lg" > | ||
| 10 | + <li data-handle="normal"><a>1、临加班次</a></li> | ||
| 11 | + <li data-handle="toAndFro"><a>2、往返</a></li> | ||
| 12 | + <!--<li data-handle="parkToPark"><a>3、场到场</a></li>--> | ||
| 13 | + </ul> | ||
| 14 | + </div> | ||
| 15 | + <div class="uk-width-3-4"> | ||
| 16 | + <ul id="tempScheduleContent" class="uk-switcher"> | ||
| 17 | + <li class="normalCont"></li> | ||
| 18 | + <li class="toAndFroCont"></li> | ||
| 19 | + <!--<li></li>--> | ||
| 20 | + </ul> | ||
| 21 | + </div> | ||
| 22 | + </div> | ||
| 23 | + </div> | ||
| 24 | + | ||
| 25 | + <!-- 普通单程临加班次 --> | ||
| 26 | + <script id="add_normal_sch-form-temp" type="text/html"> | ||
| 6 | <form class="uk-form uk-form-horizontal"> | 27 | <form class="uk-form uk-form-horizontal"> |
| 28 | + <div class="uk-grid"> | ||
| 29 | + <div class="uk-width-1-2"> | ||
| 30 | + <div class="uk-form-row"> | ||
| 31 | + <label class="uk-form-label">班次类型</label> | ||
| 32 | + <div class="uk-form-controls"> | ||
| 33 | + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}" | ||
| 34 | + data-group=ScheduleType></select> | ||
| 35 | + </div> | ||
| 36 | + </div> | ||
| 37 | + </div> | ||
| 38 | + <div class="uk-width-1-2"> | ||
| 39 | + <div class="uk-form-row"> | ||
| 40 | + <label class="uk-form-label">上下行</label> | ||
| 41 | + <div class="uk-form-controls"> | ||
| 42 | + <select name="xlDir"> | ||
| 43 | + <option value="0">上行</option> | ||
| 44 | + <option value="1">下行</option> | ||
| 45 | + </select> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | + </div> | ||
| 49 | + </div> | ||
| 50 | + <div class="uk-grid"> | ||
| 51 | + <div class="uk-width-1-2"> | ||
| 52 | + <div class="uk-form-row"> | ||
| 53 | + <label class="uk-form-label">起点站</label> | ||
| 54 | + <div class="uk-form-controls"> | ||
| 55 | + <select name="qdzCode" required> | ||
| 56 | + </select> | ||
| 57 | + </div> | ||
| 58 | + </div> | ||
| 59 | + </div> | ||
| 60 | + <div class="uk-width-1-2"> | ||
| 61 | + <div class="uk-form-row"> | ||
| 62 | + <label class="uk-form-label">终点站</label> | ||
| 63 | + <div class="uk-form-controls"> | ||
| 64 | + <select name="zdzCode" required> | ||
| 65 | + </select> | ||
| 66 | + </div> | ||
| 67 | + </div> | ||
| 68 | + </div> | ||
| 69 | + </div> | ||
| 70 | + <div class="uk-grid"> | ||
| 71 | + <div class="uk-width-1-2"> | ||
| 72 | + <div class="uk-form-row"> | ||
| 73 | + <label class="uk-form-label">开始时间</label> | ||
| 74 | + <div class="uk-form-controls"> | ||
| 75 | + <input type="time" value="{{zdsj}}" name="fcsj" required> | ||
| 76 | + </div> | ||
| 77 | + </div> | ||
| 78 | + </div> | ||
| 79 | + <div class="uk-width-1-2"> | ||
| 80 | + <div class="uk-form-row"> | ||
| 81 | + <label class="uk-form-label">结束时间</label> | ||
| 82 | + <div class="uk-form-controls"> | ||
| 83 | + <input type="time" name="zdsj" required> | ||
| 84 | + </div> | ||
| 85 | + </div> | ||
| 86 | + </div> | ||
| 87 | + </div> | ||
| 88 | + <div class="uk-grid"> | ||
| 89 | + <div class="uk-width-1-2"> | ||
| 90 | + <div class="uk-form-row"> | ||
| 91 | + <label class="uk-form-label">车辆</label> | ||
| 92 | + <div class="uk-form-controls"> | ||
| 93 | + <div class="uk-autocomplete uk-form car-autocom"> | ||
| 94 | + <input type="text" value="{{clZbh}}" name="clZbh" required> | ||
| 95 | + </div> | ||
| 96 | + </div> | ||
| 97 | + </div> | ||
| 98 | + </div> | ||
| 99 | + <div class="uk-width-1-2"> | ||
| 100 | + <div class="uk-form-row"> | ||
| 101 | + <label class="uk-form-label">里程</label> | ||
| 102 | + <div class="uk-form-controls"> | ||
| 103 | + <input type="text" name="jhlc" value="{{jhlc}}" max=222 data-fv-lessthan-inclusive="false" | ||
| 104 | + required> | ||
| 105 | + </div> | ||
| 106 | + </div> | ||
| 107 | + </div> | ||
| 108 | + </div> | ||
| 109 | + <div class="uk-grid"> | ||
| 110 | + <div class="uk-width-1-2"> | ||
| 111 | + <div class="uk-form-row"> | ||
| 112 | + <label class="uk-form-label">驾驶员</label> | ||
| 113 | + <div class="uk-form-controls"> | ||
| 114 | + <div class="uk-autocomplete uk-form jsy-autocom"> | ||
| 115 | + <input type="text" value="{{jGh}}/{{jName}}" name="jsy" required> | ||
| 116 | + </div> | ||
| 117 | + </div> | ||
| 118 | + </div> | ||
| 119 | + </div> | ||
| 120 | + <div class="uk-width-1-2"> | ||
| 121 | + <div class="uk-form-row"> | ||
| 122 | + <label class="uk-form-label">售票员</label> | ||
| 123 | + <div class="uk-form-controls"> | ||
| 124 | + <div class="uk-autocomplete uk-form spy-autocom"> | ||
| 125 | + <input type="text" name="spy" value="{{sGh}}/{{sName}}"> | ||
| 126 | + </div> | ||
| 127 | + </div> | ||
| 128 | + </div> | ||
| 129 | + </div> | ||
| 130 | + </div> | ||
| 131 | + <div class="uk-grid"> | ||
| 132 | + <div class="uk-width-1-1"> | ||
| 133 | + <div class="uk-form-row"> | ||
| 134 | + <label class="uk-form-label">备注</label> | ||
| 135 | + <div class="uk-form-controls"> | ||
| 136 | + <div class="uk-autocomplete uk-form remarks-autocom"> | ||
| 137 | + <input type="text" name="remarks"> | ||
| 138 | + </div> | ||
| 139 | + </div> | ||
| 140 | + </div> | ||
| 141 | + </div> | ||
| 142 | + </div> | ||
| 143 | + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> | ||
| 144 | + <span class="ct_line_lp_badge" ></span> | ||
| 145 | + <button type="button" class="uk-button uk-modal-close">取消</button> | ||
| 146 | + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | ||
| 147 | + </div> | ||
| 7 | </form> | 148 | </form> |
| 8 | - </div> | 149 | + </script> |
| 9 | 150 | ||
| 10 | - <script id="schedule-addsch-form-temp" type="text/html"> | 151 | + <!-- 线路上往返临加班次 --> |
| 152 | + <script id="add_toAndFro_sch-form-temp" type="text/html"> | ||
| 153 | + <form class="uk-form uk-form-horizontal one_form"> | ||
| 11 | <div class="uk-grid"> | 154 | <div class="uk-grid"> |
| 12 | <div class="uk-width-1-2"> | 155 | <div class="uk-width-1-2"> |
| 13 | <div class="uk-form-row"> | 156 | <div class="uk-form-row"> |
| @@ -92,8 +235,7 @@ | @@ -92,8 +235,7 @@ | ||
| 92 | <div class="uk-grid"> | 235 | <div class="uk-grid"> |
| 93 | <div class="uk-width-1-2"> | 236 | <div class="uk-width-1-2"> |
| 94 | <div class="uk-form-row"> | 237 | <div class="uk-form-row"> |
| 95 | - <label class="uk-form-label">驾驶员 | ||
| 96 | - <!--<i class="uk-icon-question-circle" data-uk-tooltip title="如果有驾驶员未提示,请至后台“基础信息 -人员信息”里纠正该员工的“工种”类别 "></i>--></label> | 238 | + <label class="uk-form-label">驾驶员</label> |
| 97 | <div class="uk-form-controls"> | 239 | <div class="uk-form-controls"> |
| 98 | <div class="uk-autocomplete uk-form jsy-autocom"> | 240 | <div class="uk-autocomplete uk-form jsy-autocom"> |
| 99 | <input type="text" value="{{jGh}}/{{jName}}" name="jsy" required> | 241 | <input type="text" value="{{jGh}}/{{jName}}" name="jsy" required> |
| @@ -112,7 +254,140 @@ | @@ -112,7 +254,140 @@ | ||
| 112 | </div> | 254 | </div> |
| 113 | </div> | 255 | </div> |
| 114 | </div> | 256 | </div> |
| 257 | + <div class="uk-grid"> | ||
| 258 | + <div class="uk-width-1-1"> | ||
| 259 | + <div class="uk-form-row"> | ||
| 260 | + <label class="uk-form-label">备注</label> | ||
| 261 | + <div class="uk-form-controls"> | ||
| 262 | + <div class="uk-autocomplete uk-form remarks-autocom"> | ||
| 263 | + <input type="text" name="remarks"> | ||
| 264 | + </div> | ||
| 265 | + </div> | ||
| 266 | + </div> | ||
| 267 | + </div> | ||
| 268 | + </div> | ||
| 269 | + </form> | ||
| 270 | + <hr style="margin-top: 35px;"> | ||
| 271 | + <form class="uk-form uk-form-horizontal two_form"> | ||
| 272 | + <div class="uk-grid"> | ||
| 273 | + <div class="uk-width-1-2"> | ||
| 274 | + <div class="uk-form-row"> | ||
| 275 | + <label class="uk-form-label">班次类型</label> | ||
| 276 | + <div class="uk-form-controls"> | ||
| 277 | + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}" | ||
| 278 | + data-group=ScheduleType></select> | ||
| 279 | + </div> | ||
| 280 | + </div> | ||
| 281 | + </div> | ||
| 282 | + <div class="uk-width-1-2"> | ||
| 283 | + <div class="uk-form-row"> | ||
| 284 | + <label class="uk-form-label">上下行</label> | ||
| 285 | + <div class="uk-form-controls"> | ||
| 286 | + <select name="xlDir"> | ||
| 287 | + <option value="0">上行</option> | ||
| 288 | + <option value="1">下行</option> | ||
| 289 | + </select> | ||
| 290 | + </div> | ||
| 291 | + </div> | ||
| 292 | + </div> | ||
| 293 | + </div> | ||
| 294 | + <div class="uk-grid"> | ||
| 295 | + <div class="uk-width-1-2"> | ||
| 296 | + <div class="uk-form-row"> | ||
| 297 | + <label class="uk-form-label">起点站</label> | ||
| 298 | + <div class="uk-form-controls"> | ||
| 299 | + <select name="qdzCode" required> | ||
| 300 | + </select> | ||
| 301 | + </div> | ||
| 302 | + </div> | ||
| 303 | + </div> | ||
| 304 | + <div class="uk-width-1-2"> | ||
| 305 | + <div class="uk-form-row"> | ||
| 306 | + <label class="uk-form-label">终点站</label> | ||
| 307 | + <div class="uk-form-controls"> | ||
| 308 | + <select name="zdzCode" required> | ||
| 309 | + </select> | ||
| 310 | + </div> | ||
| 311 | + </div> | ||
| 312 | + </div> | ||
| 313 | + </div> | ||
| 314 | + <div class="uk-grid"> | ||
| 315 | + <div class="uk-width-1-2"> | ||
| 316 | + <div class="uk-form-row"> | ||
| 317 | + <label class="uk-form-label">开始时间</label> | ||
| 318 | + <div class="uk-form-controls"> | ||
| 319 | + <input type="time" value="{{zdsj}}" name="fcsj" required> | ||
| 320 | + </div> | ||
| 321 | + </div> | ||
| 322 | + </div> | ||
| 323 | + <div class="uk-width-1-2"> | ||
| 324 | + <div class="uk-form-row"> | ||
| 325 | + <label class="uk-form-label">结束时间</label> | ||
| 326 | + <div class="uk-form-controls"> | ||
| 327 | + <input type="time" name="zdsj" required> | ||
| 328 | + </div> | ||
| 329 | + </div> | ||
| 330 | + </div> | ||
| 331 | + </div> | ||
| 332 | + <div class="uk-grid"> | ||
| 333 | + <div class="uk-width-1-2"> | ||
| 334 | + <div class="uk-form-row"> | ||
| 335 | + <label class="uk-form-label">车辆</label> | ||
| 336 | + <div class="uk-form-controls"> | ||
| 337 | + <div class="uk-autocomplete uk-form car-autocom"> | ||
| 338 | + <input type="text" value="{{clZbh}}" name="clZbh" required> | ||
| 339 | + </div> | ||
| 340 | + </div> | ||
| 341 | + </div> | ||
| 342 | + </div> | ||
| 343 | + <div class="uk-width-1-2"> | ||
| 344 | + <div class="uk-form-row"> | ||
| 345 | + <label class="uk-form-label">里程</label> | ||
| 346 | + <div class="uk-form-controls"> | ||
| 347 | + <input type="text" name="jhlc" value="{{jhlc}}" max=222 data-fv-lessthan-inclusive="false" | ||
| 348 | + required> | ||
| 349 | + </div> | ||
| 350 | + </div> | ||
| 351 | + </div> | ||
| 352 | + </div> | ||
| 353 | + <div class="uk-grid"> | ||
| 354 | + <div class="uk-width-1-2"> | ||
| 355 | + <div class="uk-form-row"> | ||
| 356 | + <label class="uk-form-label">驾驶员</label> | ||
| 357 | + <div class="uk-form-controls"> | ||
| 358 | + <div class="uk-autocomplete uk-form jsy-autocom"> | ||
| 359 | + <input type="text" value="{{jGh}}/{{jName}}" name="jsy" required> | ||
| 360 | + </div> | ||
| 361 | + </div> | ||
| 362 | + </div> | ||
| 363 | + </div> | ||
| 364 | + <div class="uk-width-1-2"> | ||
| 365 | + <div class="uk-form-row"> | ||
| 366 | + <label class="uk-form-label">售票员</label> | ||
| 367 | + <div class="uk-form-controls"> | ||
| 368 | + <div class="uk-autocomplete uk-form spy-autocom"> | ||
| 369 | + <input type="text" name="spy" value="{{sGh}}/{{sName}}"> | ||
| 370 | + </div> | ||
| 371 | + </div> | ||
| 372 | + </div> | ||
| 373 | + </div> | ||
| 374 | + </div> | ||
| 375 | + <div class="uk-grid"> | ||
| 376 | + <div class="uk-width-1-1"> | ||
| 377 | + <div class="uk-form-row"> | ||
| 378 | + <label class="uk-form-label">备注</label> | ||
| 379 | + <div class="uk-form-controls"> | ||
| 380 | + <div class="uk-autocomplete uk-form remarks-autocom"> | ||
| 381 | + <input type="text" name="remarks"> | ||
| 382 | + </div> | ||
| 383 | + </div> | ||
| 384 | + </div> | ||
| 385 | + </div> | ||
| 386 | + </div> | ||
| 387 | + </form> | ||
| 388 | + | ||
| 115 | <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> | 389 | <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> |
| 390 | + <span class="ct_line_lp_badge" ></span> | ||
| 116 | <button type="button" class="uk-button uk-modal-close">取消</button> | 391 | <button type="button" class="uk-button uk-modal-close">取消</button> |
| 117 | <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | 392 | <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> |
| 118 | </div> | 393 | </div> |
| @@ -121,146 +396,404 @@ | @@ -121,146 +396,404 @@ | ||
| 121 | <script> | 396 | <script> |
| 122 | (function () { | 397 | (function () { |
| 123 | var modal = '#schedule-addsch-modal', | 398 | var modal = '#schedule-addsch-modal', |
| 124 | - sch, stationRoutes, parks, information; | 399 | + sch, stationRoutes, parks, information,carsArray; |
| 125 | 400 | ||
| 126 | - var normalInfo = []; | ||
| 127 | $(modal).on('init', function (e, data) { | 401 | $(modal).on('init', function (e, data) { |
| 128 | e.stopPropagation(); | 402 | e.stopPropagation(); |
| 129 | sch = data.sch; | 403 | sch = data.sch; |
| 130 | - //normal 班次里程和耗时 | ||
| 131 | - var list = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm)); | ||
| 132 | - var upPlan = getNormalSch(list, 0) | ||
| 133 | - , downPlan = getNormalSch(list, 1); | ||
| 134 | - normalInfo[0] = {time: upPlan.bcsj, mileage: upPlan.jhlc}; | ||
| 135 | - normalInfo[1] = {time: downPlan.bcsj, mileage: downPlan.jhlc}; | ||
| 136 | - | ||
| 137 | - | ||
| 138 | - var formHtml = template('schedule-addsch-form-temp', sch); | ||
| 139 | - $('form', modal).html(formHtml); | ||
| 140 | - //字典转换 | ||
| 141 | - dictionaryUtils.transformDom($('.nt-dictionary', modal)); | ||
| 142 | - | ||
| 143 | - //----------- Autocomplete -------------- | ||
| 144 | - $.get('/basic/cars', function (rs) { | ||
| 145 | - //车辆 | ||
| 146 | - gb_common.carAutocomplete($('.car-autocom', modal), rs); | ||
| 147 | - }); | ||
| 148 | - //驾驶员 | ||
| 149 | - gb_common.personAutocomplete($('.jsy-autocom', modal)); | ||
| 150 | - | ||
| 151 | - //售票员 | ||
| 152 | - gb_common.personAutocomplete($('.spy-autocom', modal)); | ||
| 153 | - | ||
| 154 | //站点路由 | 404 | //站点路由 |
| 155 | stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | 405 | stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { |
| 156 | return a.stationRouteCode - b.stationRouteCode; | 406 | return a.stationRouteCode - b.stationRouteCode; |
| 157 | }), 'directions'); | 407 | }), 'directions'); |
| 158 | //停车场 | 408 | //停车场 |
| 159 | - $.get('/basic/parks', function (rs) { | ||
| 160 | - parks = rs; | ||
| 161 | - }); | 409 | + parks = gb_data_basic.simpleParksArray(); |
| 162 | //线路标准 | 410 | //线路标准 |
| 163 | information = gb_data_basic.getLineInformation(sch.xlBm); | 411 | information = gb_data_basic.getLineInformation(sch.xlBm); |
| 412 | + //车辆信息 | ||
| 413 | + carsArray = gb_data_basic.carsArray(); | ||
| 164 | 414 | ||
| 165 | - //submit | ||
| 166 | - var f = $('form', modal).formValidation(gb_form_validation_opts); | ||
| 167 | - f.on('success.form.fv', function (e) { | ||
| 168 | - disabled_submit_btn(this); | ||
| 169 | - e.preventDefault(); | ||
| 170 | - var data = $(this).serializeJSON(); | ||
| 171 | - data.xlBm = sch.xlBm; | ||
| 172 | - data.xlName = sch.xlName; | ||
| 173 | - data.lpName = sch.lpName; | ||
| 174 | - //拆分驾驶员工号和姓名 | ||
| 175 | - data.jGh = data.jsy.split('/')[0]; | ||
| 176 | - data.jName = data.jsy.split('/')[1]; | ||
| 177 | - delete data.jsy; | ||
| 178 | - //拆分售票员工号和姓名 | ||
| 179 | - if (data.sGh != null) { | ||
| 180 | - data.sGh = data.spy.split('/')[0]; | ||
| 181 | - data.sName = data.spy.split('/')[1]; | ||
| 182 | - delete data.spy; | ||
| 183 | - } | 415 | + //监听tab切换事件 |
| 416 | + $('.left_tabs_lg[data-uk-switcher]', modal).on('show.uk.switcher', function (event, area) { | ||
| 417 | + var handle = area.data('handle'); | ||
| 418 | + $('#tempScheduleContent>li').empty(); | ||
| 419 | + leftTabsHandles[handle](); | ||
| 420 | + }); | ||
| 421 | + }); | ||
| 184 | 422 | ||
| 185 | - //公司信息 | ||
| 186 | - var line = gb_data_basic.findLineByCodes([data.xlBm]); | ||
| 187 | - if(line && line.length > 0){ | ||
| 188 | - line = line[0]; | ||
| 189 | - data.gsBm = line.company; | ||
| 190 | - data.fgsBm = line.brancheCompany; | ||
| 191 | - } | 423 | + function setEndTime(diff, f) { |
| 424 | + var et = moment($('[name=fcsj]', f).val(), 'HH:mm').add(diff, 'minutes').format('HH:mm'); | ||
| 425 | + $('[name=zdsj]', f).val(et); | ||
| 426 | + } | ||
| 427 | + | ||
| 428 | + function initAutoCom(f) { | ||
| 429 | + //车辆 | ||
| 430 | + if(carsArray) | ||
| 431 | + gb_common.carAutocomplete($('.car-autocom', f), carsArray); | ||
| 432 | + //驾驶员 | ||
| 433 | + gb_common.personAutocomplete($('.jsy-autocom', f)); | ||
| 434 | + //售票员 | ||
| 435 | + gb_common.personAutocomplete($('.spy-autocom', f)); | ||
| 436 | + //备注补全 | ||
| 437 | + gb_common.remarksAutocomplete($('.remarks-autocom', f)); | ||
| 438 | + } | ||
| 439 | + | ||
| 440 | + function initScheduleTypeChange(f, cb) { | ||
| 441 | + (function (f, cb) { | ||
| 442 | + $('[name=bcType],[name=xlDir]', f).on('change', function () { | ||
| 443 | + var bcType_e = $('[name=bcType]', f) | ||
| 444 | + , xlDir_e = $('[name=xlDir]', f); | ||
| 445 | + | ||
| 446 | + var routes = stationRoutes[xlDir_e.val()] | ||
| 447 | + , lastCode = routes[routes.length - 1].stationCode | ||
| 448 | + , opts = '', park_opts = ''; | ||
| 449 | + //station options | ||
| 450 | + $.each(routes, function () { | ||
| 451 | + opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>' | ||
| 452 | + }); | ||
| 453 | + //park options | ||
| 454 | + for (var code in parks) | ||
| 455 | + park_opts += '<option value="' + code + '">' + parks[code] + '</option>'; | ||
| 456 | + | ||
| 457 | + var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f); | ||
| 458 | + var time, mileage; | ||
| 459 | + switch (bcType_e.val()) { | ||
| 460 | + case 'out': | ||
| 461 | + qdz.html(park_opts).val(information.carPark); | ||
| 462 | + zdz.html(opts); | ||
| 463 | + //出场结束时间 | ||
| 464 | + time = xlDir_e.val() == 0 ? information.upOutTimer : information.downOutTimer; | ||
| 465 | + mileage = xlDir_e.val() == 0 ? information.upOutMileage : information.downOutMileage; | ||
| 466 | + break; | ||
| 467 | + case 'in': | ||
| 468 | + qdz.html(opts); | ||
| 469 | + zdz.html(park_opts).val(information.carPark); | ||
| 470 | + //进场结束时间 | ||
| 471 | + time = xlDir_e.val() == 0 ? information.upInTimer : information.downInTimer; | ||
| 472 | + mileage = xlDir_e.val() == 0 ? information.upInMileage : information.downInMileage; | ||
| 473 | + break; | ||
| 474 | + default: | ||
| 475 | + qdz.html(opts); | ||
| 476 | + zdz.html(opts).val(lastCode); | ||
| 477 | + time = xlDir_e.val() == 0?information.upTravelTime:information.downTravelTime; | ||
| 478 | + mileage = xlDir_e.val() == 0?information.upMileage:information.downMileage; | ||
| 479 | + } | ||
| 192 | 480 | ||
| 193 | - gb_common.$post('/realSchedule', data, function (rs) { | ||
| 194 | - //插入 | ||
| 195 | - gb_schedule_table.insertSchedule(rs.t, rs.ts); | ||
| 196 | - $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: rs.t}); | ||
| 197 | - UIkit.modal(modal).hide(); | ||
| 198 | - notify_succ('新增临加班次成功'); | 481 | + setEndTime(time, f); |
| 482 | + $('[name=jhlc]', f).val(mileage); | ||
| 483 | + | ||
| 484 | + cb && cb(); | ||
| 485 | + }).trigger('change'); | ||
| 486 | + })(f, cb); | ||
| 487 | + } | ||
| 488 | + | ||
| 489 | + function initStationChange(f, cb) { | ||
| 490 | + (function (f, cb) { | ||
| 491 | + //起点站改变 | ||
| 492 | + $('[name=qdzCode]', f).on('change', function () { | ||
| 493 | + var bcType = $('[name=bcType]', f).val(); | ||
| 494 | + if(bcType!='in' && bcType!='out'){ | ||
| 495 | + var ops = $('[name=zdzCode]', f).find('option'); | ||
| 496 | + var flag, code = $(this).val(); | ||
| 497 | + $.each(ops, function () { | ||
| 498 | + if (!flag) | ||
| 499 | + $(this).attr('disabled', 'disabled'); | ||
| 500 | + else | ||
| 501 | + $(this).removeAttr('disabled'); | ||
| 502 | + if (this.value == code) | ||
| 503 | + flag = true; | ||
| 504 | + }); | ||
| 505 | + setBcType(f); | ||
| 506 | + } | ||
| 507 | + cb && cb(); | ||
| 199 | }); | 508 | }); |
| 200 | - }); | 509 | + //终点站改变 |
| 510 | + $('[name=zdzCode]', f).on('change', function () { | ||
| 511 | + var bcType = $('[name=bcType]', f).val(); | ||
| 512 | + if(bcType!='in' && bcType!='out'){ | ||
| 513 | + var ops = $('[name=qdzCode]', f).find('option'); | ||
| 514 | + var flag, code = $(this).val(); | ||
| 515 | + $.each(ops, function () { | ||
| 516 | + if (this.value == code) | ||
| 517 | + flag = true; | ||
| 518 | + | ||
| 519 | + if (flag) | ||
| 520 | + $(this).attr('disabled', 'disabled'); | ||
| 521 | + else | ||
| 522 | + $(this).removeAttr('disabled'); | ||
| 523 | + }); | ||
| 524 | + setBcType(f); | ||
| 525 | + } | ||
| 201 | 526 | ||
| 202 | - //班次类型 和 上下行切换 | ||
| 203 | - $('[name=bcType],[name=xlDir]', f).on('change', function () { | ||
| 204 | - var bcType_e = $('[name=bcType]', f) | ||
| 205 | - , xlDir_e = $('[name=xlDir]', f); | ||
| 206 | - | ||
| 207 | - var routes = stationRoutes[xlDir_e.val()] | ||
| 208 | - , lastCode = routes[routes.length - 1].stationCode | ||
| 209 | - , opts = '', park_opts = ''; | ||
| 210 | - //station options | ||
| 211 | - $.each(routes, function () { | ||
| 212 | - opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>' | 527 | + cb && cb(); |
| 213 | }); | 528 | }); |
| 214 | - //park options | ||
| 215 | - for (var code in parks) | ||
| 216 | - park_opts += '<option value="' + code + '">' + parks[code] + '</option>'; | ||
| 217 | - | ||
| 218 | - var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f); | ||
| 219 | - var time, mileage; | ||
| 220 | - switch (bcType_e.val()) { | ||
| 221 | - case 'out': | ||
| 222 | - qdz.html(park_opts).val(information.carPark); | ||
| 223 | - zdz.html(opts); | ||
| 224 | - //出场结束时间 | ||
| 225 | - time = xlDir_e.val() == 0 ? information.upOutTimer : information.downOutTimer; | ||
| 226 | - mileage = xlDir_e.val() == 0 ? information.upOutMileage : information.downOutMileage; | ||
| 227 | - break; | ||
| 228 | - case 'in': | ||
| 229 | - qdz.html(opts); | ||
| 230 | - zdz.html(park_opts).val(information.carPark); | ||
| 231 | - //进场结束时间 | ||
| 232 | - time = xlDir_e.val() == 0 ? information.upInTimer : information.downInTimer; | ||
| 233 | - mileage = xlDir_e.val() == 0 ? information.upInMileage : information.downInMileage; | ||
| 234 | - break; | ||
| 235 | - default: | ||
| 236 | - qdz.html(opts); | ||
| 237 | - zdz.html(opts).val(lastCode); | ||
| 238 | - time = xlDir_e.val() == 0?normalInfo[0].time:normalInfo[1].time; | ||
| 239 | - mileage = xlDir_e.val() == 0?normalInfo[0].mileage:normalInfo[1].mileage; | ||
| 240 | - } | 529 | + })(f, cb); |
| 530 | + } | ||
| 241 | 531 | ||
| 242 | - setEndTime(time); | 532 | + function setBcType(f) { |
| 533 | + var qdzCode = $('[name=qdzCode]', f).val(), | ||
| 534 | + zdzCode =$('[name=zdzCode]', f).val(), | ||
| 535 | + updown = $('[name=xlDir]', f).val(); | ||
| 536 | + var rts = stationRoutes[updown]; | ||
| 537 | + if(rts[0].stationCode == qdzCode | ||
| 538 | + && rts[rts.length - 1].stationCode == zdzCode){ | ||
| 539 | + $('[name=bcType]', f).val('normal'); | ||
| 540 | + $('[name=jhlc]', f).val(updown == 0?information.upMileage:information.downMileage); | ||
| 541 | + } | ||
| 542 | + else { | ||
| 543 | + var type = $('[name=bcType]', f).val(); | ||
| 544 | + if(type=='in' || type=='out') | ||
| 545 | + return; | ||
| 546 | + $('[name=bcType]', f).val('region'); | ||
| 547 | + //计算区间站点间公里 | ||
| 548 | + var mileage = calcMileage(qdzCode, zdzCode, rts); | ||
| 243 | $('[name=jhlc]', f).val(mileage); | 549 | $('[name=jhlc]', f).val(mileage); |
| 244 | - }).trigger('change'); | 550 | + } |
| 551 | + } | ||
| 245 | 552 | ||
| 553 | + function calcMileage(s, e, rts) { | ||
| 554 | + var mileage = 0, flag, code; | ||
| 555 | + //从原始站点路由字段里取值 | ||
| 556 | + $.each(rts, function () { | ||
| 557 | + code = this['stationCode']; | ||
| 558 | + if (flag) | ||
| 559 | + mileage = gb_common.accAdd(mileage, this.distances); | ||
| 560 | + if (code == s) | ||
| 561 | + flag = true; | ||
| 562 | + if (code == e) | ||
| 563 | + return false; | ||
| 564 | + }); | ||
| 565 | + return mileage; | ||
| 566 | + } | ||
| 246 | 567 | ||
| 247 | - function setEndTime(diff) { | ||
| 248 | - var et = moment($('[name=fcsj]', f).val(), 'HH:mm').add(diff, 'minutes').format('HH:mm'); | ||
| 249 | - $('[name=zdsj]', f).val(et); | 568 | + /** |
| 569 | + * 提交表单 | ||
| 570 | + */ | ||
| 571 | + var submitScheduleForm = function (data, cb) { | ||
| 572 | + data.xlBm = sch.xlBm; | ||
| 573 | + data.xlName = sch.xlName; | ||
| 574 | + data.lpName = sch.lpName; | ||
| 575 | + //拆分驾驶员工号和姓名 | ||
| 576 | + data.jGh = data.jsy.split('/')[0]; | ||
| 577 | + data.jName = data.jsy.split('/')[1]; | ||
| 578 | + delete data.jsy; | ||
| 579 | + //拆分售票员工号和姓名 | ||
| 580 | + if (data.sGh != null) { | ||
| 581 | + data.sGh = data.spy.split('/')[0]; | ||
| 582 | + data.sName = data.spy.split('/')[1]; | ||
| 583 | + delete data.spy; | ||
| 250 | } | 584 | } |
| 251 | - }); | ||
| 252 | 585 | ||
| 253 | - function getNormalSch(list, updown) { | ||
| 254 | - var sch; | ||
| 255 | - $.each(list, function () { | ||
| 256 | - if (this.bcType == 'normal' && this.xlDir == updown) { | ||
| 257 | - sch = this; | ||
| 258 | - return false; | ||
| 259 | - } | 586 | + //公司信息 |
| 587 | + var line = gb_data_basic.findLineByCodes([data.xlBm]); | ||
| 588 | + if(line && line.length > 0){ | ||
| 589 | + line = line[0]; | ||
| 590 | + data.gsBm = line.company; | ||
| 591 | + data.fgsBm = line.brancheCompany; | ||
| 592 | + } | ||
| 593 | + | ||
| 594 | + gb_common.$post('/realSchedule', data, function (rs) { | ||
| 595 | + notify_succ('新增临加班次成功'); | ||
| 596 | + cb && cb(rs); | ||
| 260 | }); | 597 | }); |
| 598 | + }; | ||
| 599 | + | ||
| 600 | + /** | ||
| 601 | + * 普通单程临加班次 | ||
| 602 | + * @type {{show}} | ||
| 603 | + */ | ||
| 604 | + var normalObj = (function () { | ||
| 605 | + var cont = $('.normalCont', modal); | ||
| 606 | + var show = function () { | ||
| 607 | + var formHtml = template('add_normal_sch-form-temp', sch); | ||
| 608 | + cont.html(formHtml); | ||
| 609 | + var f = $('form', cont); | ||
| 610 | + | ||
| 611 | + initAutoCom(f); | ||
| 612 | + //字典转换 | ||
| 613 | + dictionaryUtils.transformDom($('.nt-dictionary', f)); | ||
| 614 | + //站点切换 | ||
| 615 | + initStationChange(f); | ||
| 616 | + //类型、走向切换 | ||
| 617 | + initScheduleTypeChange(f); | ||
| 618 | + | ||
| 619 | + //校验 | ||
| 620 | + f.formValidation({framework: 'uikit', locale: 'zh_CN'}); | ||
| 621 | + //提交 | ||
| 622 | + f.on('success.form.fv', function (e) { | ||
| 623 | + e.preventDefault(); | ||
| 624 | + | ||
| 625 | + disabled_submit_btn(f); | ||
| 626 | + var data = $(f).serializeJSON(); | ||
| 627 | + submitScheduleForm(data, function (rs) { | ||
| 628 | + //前端数据更新 | ||
| 629 | + gb_schedule_table.insertSchedule(rs.t, rs.ts); | ||
| 630 | + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: rs.t}); | ||
| 631 | + UIkit.modal(modal).hide(); | ||
| 632 | + }); | ||
| 633 | + }); | ||
| 634 | + $('.ct_line_lp_badge', f).html(sch.xlName + ', '+sch.lpName); | ||
| 635 | + }; | ||
| 636 | + | ||
| 637 | + return { | ||
| 638 | + show: show | ||
| 639 | + } | ||
| 640 | + })(); | ||
| 641 | + | ||
| 642 | + /** | ||
| 643 | + * 线路上往返 | ||
| 644 | + */ | ||
| 645 | + var toAndFroObj = (function () { | ||
| 646 | + var cont = $('.toAndFroCont', modal); | ||
| 647 | + var show = function () { | ||
| 648 | + var formHtml = template('add_toAndFro_sch-form-temp', sch); | ||
| 649 | + cont.html(formHtml); | ||
| 650 | + //字典转换 | ||
| 651 | + dictionaryUtils.transformDom($('.nt-dictionary', cont)); | ||
| 652 | + var f1 = $('.one_form', cont); | ||
| 653 | + var f2 = $('.two_form', cont); | ||
| 654 | + //第1个表单事件 | ||
| 655 | + initStationChange(f1, synchroFormData); | ||
| 656 | + initScheduleTypeChange(f1, synchroFormData); | ||
| 657 | + //第2个表单事件 | ||
| 658 | + initStationChange(f2); | ||
| 659 | + initScheduleTypeChange(f2); | ||
| 660 | + //第一个结束时间改变 | ||
| 661 | + $('[name=zdsj]', f1).on('input', synchroTimes).trigger('input'); | ||
| 662 | + //默认1备注同步到2 | ||
| 663 | + $('.remarks-autocom', f1).on('selectitem.uk.autocomplete', function (e, data, acobject) { | ||
| 664 | + $('[name=remarks]', f2).val(data.value); | ||
| 665 | + }); | ||
| 666 | + //自动补全 | ||
| 667 | + initAutoCom(f1); | ||
| 668 | + initAutoCom(f2); | ||
| 669 | + | ||
| 670 | + //表单校验提交相关 | ||
| 671 | + var dataArray; | ||
| 672 | + var fs = $('form', cont); | ||
| 673 | + fs.formValidation({framework: 'uikit', locale: 'zh_CN'}); | ||
| 674 | + fs.on('success.form.fv', function (e) { | ||
| 675 | + e.preventDefault(); | ||
| 676 | + dataArray.push($(this).serializeJSON()); | ||
| 677 | + $(this).data('valid', true); | ||
| 678 | + if (allValidSuccess()) { | ||
| 679 | + //开始post | ||
| 680 | + var i = 0; | ||
| 681 | + var inArr = []; | ||
| 682 | + var upArr = []; | ||
| 683 | + (function () { | ||
| 684 | + var f = arguments.callee; | ||
| 685 | + if (i >= dataArray.length) { | ||
| 686 | + //前端数据更新 | ||
| 687 | + var last = inArr.pop(); | ||
| 688 | + gb_schedule_table.insertSchedule(last, upArr); | ||
| 689 | + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: last}); | ||
| 690 | + UIkit.modal(modal).hide(); | ||
| 691 | + return; | ||
| 692 | + } | ||
| 693 | + submitScheduleForm(dataArray[i], function (rs) { | ||
| 694 | + inArr.push(rs.t); | ||
| 695 | + upArr = upArr.concat(rs.ts); | ||
| 696 | + upArr.push(rs.t); | ||
| 697 | + i++; | ||
| 698 | + f(); | ||
| 699 | + }); | ||
| 700 | + })(); | ||
| 701 | + } | ||
| 702 | + }); | ||
| 703 | + //提交 | ||
| 704 | + $('[type=submit]', cont).on('click', function () { | ||
| 705 | + $(this).addClass('disabled').attr('disabled', 'disabled'); | ||
| 706 | + dataArray = []; | ||
| 707 | + fs.data('valid', false); | ||
| 708 | + fs.formValidation('validate'); | ||
| 709 | + }); | ||
| 710 | + $('.ct_line_lp_badge', cont).html(sch.xlName + ', '+sch.lpName); | ||
| 711 | + }; | ||
| 712 | + | ||
| 713 | + function allValidSuccess() { | ||
| 714 | + var flag = true; | ||
| 715 | + $('form:visible', cont).each(function (i, f) { | ||
| 716 | + if (!$(f).data('valid')) { | ||
| 717 | + flag = false; | ||
| 718 | + return false; | ||
| 719 | + } | ||
| 720 | + }); | ||
| 721 | + return flag; | ||
| 722 | + } | ||
| 261 | 723 | ||
| 262 | - return sch; | 724 | + /** |
| 725 | + * 同步2个表单的数据 | ||
| 726 | + */ | ||
| 727 | + var bcTypes = {'normal': 'normal', 'region': 'region', 'out': 'in', 'in': 'out'}; | ||
| 728 | + var synchroFormData = function () { | ||
| 729 | + var f1 = $('.one_form', cont); | ||
| 730 | + var f2 = $('.two_form', cont); | ||
| 731 | + | ||
| 732 | + //同步班次类型 | ||
| 733 | + var type = $('[name=bcType]', f1).val(); | ||
| 734 | + if (bcTypes[type]) | ||
| 735 | + $('[name=bcType]', f2).val(bcTypes[type]).trigger('change'); | ||
| 736 | + var updown = $('[name=xlDir]', f1).val(); | ||
| 737 | + | ||
| 738 | + if (type != 'out' && type != 'in') { | ||
| 739 | + //走向 | ||
| 740 | + $('[name=xlDir]', f2).val(updown == 0 ? 1 : 0).trigger('change'); | ||
| 741 | + | ||
| 742 | + //第一个表单终点 = 第二个起点 | ||
| 743 | + var oneZdName = $('[name=zdzCode] option:selected', f1).text(); | ||
| 744 | + $('[name=qdzCode]', f2).val(searchParallelStation(oneZdName, updown == 0 ? 1 : 0)).trigger('change'); | ||
| 745 | + //第一个表单起点 = 第二个终点 | ||
| 746 | + var oneQdName = $('[name=qdzCode] option:selected', f1).text(); | ||
| 747 | + $('[name=zdzCode]', f2).val(searchParallelStation(oneQdName, updown == 0 ? 1 : 0)).trigger('change'); | ||
| 748 | + } | ||
| 749 | + else { | ||
| 750 | + //进出场走向相同 | ||
| 751 | + $('[name=xlDir]', f2).val(updown).trigger('change'); | ||
| 752 | + //第一个表单终点 = 第二个起点 | ||
| 753 | + $('[name=qdzCode]', f2).val($('[name=zdzCode]', f1).val()); | ||
| 754 | + //第一个表单起点 = 第二个终点 | ||
| 755 | + $('[name=zdzCode]', f2).val($('[name=qdzCode]', f1).val()); | ||
| 756 | + } | ||
| 757 | + }; | ||
| 758 | + | ||
| 759 | + /** | ||
| 760 | + * 同步时间 | ||
| 761 | + */ | ||
| 762 | + var synchroTimes = function () { | ||
| 763 | + var f1 = $('.one_form', cont); | ||
| 764 | + var f2 = $('.two_form', cont); | ||
| 765 | + var updown = $('[name=xlDir]', f2).val(); | ||
| 766 | + var oneZdsj = $('[name=zdsj]', f1).val(); | ||
| 767 | + | ||
| 768 | + //全程班次历时 | ||
| 769 | + var diff = updown==0?information.upTravelTime:information.downTravelTime; | ||
| 770 | + //设置第二个表单开始时间 | ||
| 771 | + $('[name=fcsj]', f2).val(oneZdsj); | ||
| 772 | + setEndTime(diff, f2); | ||
| 773 | + }; | ||
| 774 | + | ||
| 775 | + return { | ||
| 776 | + show : show | ||
| 777 | + } | ||
| 778 | + })(); | ||
| 779 | + | ||
| 780 | + /** 左 tabs 切换处理*/ | ||
| 781 | + var leftTabsHandles = { | ||
| 782 | + normal: normalObj.show, | ||
| 783 | + toAndFro: toAndFroObj.show | ||
| 784 | + }; | ||
| 785 | + | ||
| 786 | + //返回另一个走向对应的站点 | ||
| 787 | + function searchParallelStation(stationName, updown) { | ||
| 788 | + var routes = stationRoutes[updown] | ||
| 789 | + , len = routes.length; | ||
| 790 | + | ||
| 791 | + for (var i = 0; i < len; i++) { | ||
| 792 | + if (routes[i].stationName == stationName) | ||
| 793 | + return routes[i].stationCode; | ||
| 794 | + } | ||
| 263 | } | 795 | } |
| 796 | + | ||
| 264 | })(); | 797 | })(); |
| 265 | </script> | 798 | </script> |
| 266 | </div> | 799 | </div> |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch_old.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal"> | ||
| 2 | + <div class="uk-modal-dialog"> | ||
| 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"> | ||
| 7 | + </form> | ||
| 8 | + </div> | ||
| 9 | + | ||
| 10 | + <script id="schedule-addsch-form-temp" type="text/html"> | ||
| 11 | + <div class="uk-grid"> | ||
| 12 | + <div class="uk-width-1-2"> | ||
| 13 | + <div class="uk-form-row"> | ||
| 14 | + <label class="uk-form-label">班次类型</label> | ||
| 15 | + <div class="uk-form-controls"> | ||
| 16 | + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}" | ||
| 17 | + data-group=ScheduleType></select> | ||
| 18 | + </div> | ||
| 19 | + </div> | ||
| 20 | + </div> | ||
| 21 | + <div class="uk-width-1-2"> | ||
| 22 | + <div class="uk-form-row"> | ||
| 23 | + <label class="uk-form-label">上下行</label> | ||
| 24 | + <div class="uk-form-controls"> | ||
| 25 | + <select name="xlDir"> | ||
| 26 | + <option value="0">上行</option> | ||
| 27 | + <option value="1">下行</option> | ||
| 28 | + </select> | ||
| 29 | + </div> | ||
| 30 | + </div> | ||
| 31 | + </div> | ||
| 32 | + </div> | ||
| 33 | + <div class="uk-grid"> | ||
| 34 | + <div class="uk-width-1-2"> | ||
| 35 | + <div class="uk-form-row"> | ||
| 36 | + <label class="uk-form-label">起点站</label> | ||
| 37 | + <div class="uk-form-controls"> | ||
| 38 | + <select name="qdzCode" required> | ||
| 39 | + </select> | ||
| 40 | + </div> | ||
| 41 | + </div> | ||
| 42 | + </div> | ||
| 43 | + <div class="uk-width-1-2"> | ||
| 44 | + <div class="uk-form-row"> | ||
| 45 | + <label class="uk-form-label">终点站</label> | ||
| 46 | + <div class="uk-form-controls"> | ||
| 47 | + <select name="zdzCode" required> | ||
| 48 | + </select> | ||
| 49 | + </div> | ||
| 50 | + </div> | ||
| 51 | + </div> | ||
| 52 | + </div> | ||
| 53 | + <div class="uk-grid"> | ||
| 54 | + <div class="uk-width-1-2"> | ||
| 55 | + <div class="uk-form-row"> | ||
| 56 | + <label class="uk-form-label">开始时间</label> | ||
| 57 | + <div class="uk-form-controls"> | ||
| 58 | + <input type="time" value="{{zdsj}}" name="fcsj" required> | ||
| 59 | + </div> | ||
| 60 | + </div> | ||
| 61 | + </div> | ||
| 62 | + <div class="uk-width-1-2"> | ||
| 63 | + <div class="uk-form-row"> | ||
| 64 | + <label class="uk-form-label">结束时间</label> | ||
| 65 | + <div class="uk-form-controls"> | ||
| 66 | + <input type="time" name="zdsj" required> | ||
| 67 | + </div> | ||
| 68 | + </div> | ||
| 69 | + </div> | ||
| 70 | + </div> | ||
| 71 | + <div class="uk-grid"> | ||
| 72 | + <div class="uk-width-1-2"> | ||
| 73 | + <div class="uk-form-row"> | ||
| 74 | + <label class="uk-form-label">车辆</label> | ||
| 75 | + <div class="uk-form-controls"> | ||
| 76 | + <div class="uk-autocomplete uk-form car-autocom"> | ||
| 77 | + <input type="text" value="{{clZbh}}" name="clZbh" required> | ||
| 78 | + </div> | ||
| 79 | + </div> | ||
| 80 | + </div> | ||
| 81 | + </div> | ||
| 82 | + <div class="uk-width-1-2"> | ||
| 83 | + <div class="uk-form-row"> | ||
| 84 | + <label class="uk-form-label">里程</label> | ||
| 85 | + <div class="uk-form-controls"> | ||
| 86 | + <input type="text" name="jhlc" value="{{jhlc}}" max=222 data-fv-lessthan-inclusive="false" | ||
| 87 | + required> | ||
| 88 | + </div> | ||
| 89 | + </div> | ||
| 90 | + </div> | ||
| 91 | + </div> | ||
| 92 | + <div class="uk-grid"> | ||
| 93 | + <div class="uk-width-1-2"> | ||
| 94 | + <div class="uk-form-row"> | ||
| 95 | + <label class="uk-form-label">驾驶员 | ||
| 96 | + <!--<i class="uk-icon-question-circle" data-uk-tooltip title="如果有驾驶员未提示,请至后台“基础信息 -人员信息”里纠正该员工的“工种”类别 "></i>--></label> | ||
| 97 | + <div class="uk-form-controls"> | ||
| 98 | + <div class="uk-autocomplete uk-form jsy-autocom"> | ||
| 99 | + <input type="text" value="{{jGh}}/{{jName}}" name="jsy" required> | ||
| 100 | + </div> | ||
| 101 | + </div> | ||
| 102 | + </div> | ||
| 103 | + </div> | ||
| 104 | + <div class="uk-width-1-2"> | ||
| 105 | + <div class="uk-form-row"> | ||
| 106 | + <label class="uk-form-label">售票员</label> | ||
| 107 | + <div class="uk-form-controls"> | ||
| 108 | + <div class="uk-autocomplete uk-form spy-autocom"> | ||
| 109 | + <input type="text" name="spy" value="{{sGh}}/{{sName}}"> | ||
| 110 | + </div> | ||
| 111 | + </div> | ||
| 112 | + </div> | ||
| 113 | + </div> | ||
| 114 | + </div> | ||
| 115 | + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> | ||
| 116 | + <button type="button" class="uk-button uk-modal-close">取消</button> | ||
| 117 | + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | ||
| 118 | + </div> | ||
| 119 | + </script> | ||
| 120 | + | ||
| 121 | + <script> | ||
| 122 | + (function () { | ||
| 123 | + var modal = '#schedule-addsch-modal', | ||
| 124 | + sch, stationRoutes, parks, information; | ||
| 125 | + | ||
| 126 | + var normalInfo = []; | ||
| 127 | + $(modal).on('init', function (e, data) { | ||
| 128 | + e.stopPropagation(); | ||
| 129 | + sch = data.sch; | ||
| 130 | + //normal 班次里程和耗时 | ||
| 131 | + var list = gb_common.get_vals(gb_schedule_table.findScheduleByLine(sch.xlBm)); | ||
| 132 | + var upPlan = getNormalSch(list, 0) | ||
| 133 | + , downPlan = getNormalSch(list, 1); | ||
| 134 | + normalInfo[0] = {time: upPlan.bcsj, mileage: upPlan.jhlc}; | ||
| 135 | + normalInfo[1] = {time: downPlan.bcsj, mileage: downPlan.jhlc}; | ||
| 136 | + | ||
| 137 | + | ||
| 138 | + var formHtml = template('schedule-addsch-form-temp', sch); | ||
| 139 | + $('form', modal).html(formHtml); | ||
| 140 | + //字典转换 | ||
| 141 | + dictionaryUtils.transformDom($('.nt-dictionary', modal)); | ||
| 142 | + | ||
| 143 | + //----------- Autocomplete -------------- | ||
| 144 | + $.get('/basic/cars', function (rs) { | ||
| 145 | + //车辆 | ||
| 146 | + gb_common.carAutocomplete($('.car-autocom', modal), rs); | ||
| 147 | + }); | ||
| 148 | + //驾驶员 | ||
| 149 | + gb_common.personAutocomplete($('.jsy-autocom', modal)); | ||
| 150 | + | ||
| 151 | + //售票员 | ||
| 152 | + gb_common.personAutocomplete($('.spy-autocom', modal)); | ||
| 153 | + | ||
| 154 | + //站点路由 | ||
| 155 | + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | ||
| 156 | + return a.stationRouteCode - b.stationRouteCode; | ||
| 157 | + }), 'directions'); | ||
| 158 | + //停车场 | ||
| 159 | + $.get('/basic/parks', function (rs) { | ||
| 160 | + parks = rs; | ||
| 161 | + }); | ||
| 162 | + //线路标准 | ||
| 163 | + information = gb_data_basic.getLineInformation(sch.xlBm); | ||
| 164 | + | ||
| 165 | + //submit | ||
| 166 | + var f = $('form', modal).formValidation(gb_form_validation_opts); | ||
| 167 | + f.on('success.form.fv', function (e) { | ||
| 168 | + disabled_submit_btn(this); | ||
| 169 | + e.preventDefault(); | ||
| 170 | + var data = $(this).serializeJSON(); | ||
| 171 | + data.xlBm = sch.xlBm; | ||
| 172 | + data.xlName = sch.xlName; | ||
| 173 | + data.lpName = sch.lpName; | ||
| 174 | + //拆分驾驶员工号和姓名 | ||
| 175 | + data.jGh = data.jsy.split('/')[0]; | ||
| 176 | + data.jName = data.jsy.split('/')[1]; | ||
| 177 | + delete data.jsy; | ||
| 178 | + //拆分售票员工号和姓名 | ||
| 179 | + if (data.sGh != null) { | ||
| 180 | + data.sGh = data.spy.split('/')[0]; | ||
| 181 | + data.sName = data.spy.split('/')[1]; | ||
| 182 | + delete data.spy; | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + //公司信息 | ||
| 186 | + var line = gb_data_basic.findLineByCodes([data.xlBm]); | ||
| 187 | + if(line && line.length > 0){ | ||
| 188 | + line = line[0]; | ||
| 189 | + data.gsBm = line.company; | ||
| 190 | + data.fgsBm = line.brancheCompany; | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + gb_common.$post('/realSchedule', data, function (rs) { | ||
| 194 | + //插入 | ||
| 195 | + gb_schedule_table.insertSchedule(rs.t, rs.ts); | ||
| 196 | + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: rs.t}); | ||
| 197 | + UIkit.modal(modal).hide(); | ||
| 198 | + notify_succ('新增临加班次成功'); | ||
| 199 | + }); | ||
| 200 | + }); | ||
| 201 | + | ||
| 202 | + //班次类型 和 上下行切换 | ||
| 203 | + $('[name=bcType],[name=xlDir]', f).on('change', function () { | ||
| 204 | + var bcType_e = $('[name=bcType]', f) | ||
| 205 | + , xlDir_e = $('[name=xlDir]', f); | ||
| 206 | + | ||
| 207 | + var routes = stationRoutes[xlDir_e.val()] | ||
| 208 | + , lastCode = routes[routes.length - 1].stationCode | ||
| 209 | + , opts = '', park_opts = ''; | ||
| 210 | + //station options | ||
| 211 | + $.each(routes, function () { | ||
| 212 | + opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>' | ||
| 213 | + }); | ||
| 214 | + //park options | ||
| 215 | + for (var code in parks) | ||
| 216 | + park_opts += '<option value="' + code + '">' + parks[code] + '</option>'; | ||
| 217 | + | ||
| 218 | + var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f); | ||
| 219 | + var time, mileage; | ||
| 220 | + switch (bcType_e.val()) { | ||
| 221 | + case 'out': | ||
| 222 | + qdz.html(park_opts).val(information.carPark); | ||
| 223 | + zdz.html(opts); | ||
| 224 | + //出场结束时间 | ||
| 225 | + time = xlDir_e.val() == 0 ? information.upOutTimer : information.downOutTimer; | ||
| 226 | + mileage = xlDir_e.val() == 0 ? information.upOutMileage : information.downOutMileage; | ||
| 227 | + break; | ||
| 228 | + case 'in': | ||
| 229 | + qdz.html(opts); | ||
| 230 | + zdz.html(park_opts).val(information.carPark); | ||
| 231 | + //进场结束时间 | ||
| 232 | + time = xlDir_e.val() == 0 ? information.upInTimer : information.downInTimer; | ||
| 233 | + mileage = xlDir_e.val() == 0 ? information.upInMileage : information.downInMileage; | ||
| 234 | + break; | ||
| 235 | + default: | ||
| 236 | + qdz.html(opts); | ||
| 237 | + zdz.html(opts).val(lastCode); | ||
| 238 | + time = xlDir_e.val() == 0?normalInfo[0].time:normalInfo[1].time; | ||
| 239 | + mileage = xlDir_e.val() == 0?normalInfo[0].mileage:normalInfo[1].mileage; | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + setEndTime(time); | ||
| 243 | + $('[name=jhlc]', f).val(mileage); | ||
| 244 | + }).trigger('change'); | ||
| 245 | + | ||
| 246 | + | ||
| 247 | + function setEndTime(diff) { | ||
| 248 | + var et = moment($('[name=fcsj]', f).val(), 'HH:mm').add(diff, 'minutes').format('HH:mm'); | ||
| 249 | + $('[name=zdsj]', f).val(et); | ||
| 250 | + } | ||
| 251 | + }); | ||
| 252 | + | ||
| 253 | + function getNormalSch(list, updown) { | ||
| 254 | + var sch; | ||
| 255 | + $.each(list, function () { | ||
| 256 | + if (this.bcType == 'normal' && this.xlDir == updown) { | ||
| 257 | + sch = this; | ||
| 258 | + return false; | ||
| 259 | + } | ||
| 260 | + }); | ||
| 261 | + | ||
| 262 | + return sch; | ||
| 263 | + } | ||
| 264 | + })(); | ||
| 265 | + </script> | ||
| 266 | +</div> |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_inpark.html
| @@ -304,10 +304,12 @@ | @@ -304,10 +304,12 @@ | ||
| 304 | $(this).data('valid', true); | 304 | $(this).data('valid', true); |
| 305 | 305 | ||
| 306 | if(allValidSuccess()){ | 306 | if(allValidSuccess()){ |
| 307 | - var i = 0; | 307 | + var i = 0, rst; |
| 308 | (function () { | 308 | (function () { |
| 309 | var f = arguments.callee; | 309 | var f = arguments.callee; |
| 310 | if(i >= dataArray.length){ | 310 | if(i >= dataArray.length){ |
| 311 | + //完成后更新前端数据 | ||
| 312 | + gb_schedule_table.updateSchedule(rst); | ||
| 311 | UIkit.modal(modal).hide(); | 313 | UIkit.modal(modal).hide(); |
| 312 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | 314 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); |
| 313 | return; | 315 | return; |
| @@ -324,7 +326,7 @@ | @@ -324,7 +326,7 @@ | ||
| 324 | data.remarks = ''; | 326 | data.remarks = ''; |
| 325 | gb_common.$post('/childTask', data, function (rs) { | 327 | gb_common.$post('/childTask', data, function (rs) { |
| 326 | notify_succ('子任务添加成功'); | 328 | notify_succ('子任务添加成功'); |
| 327 | - gb_schedule_table.updateSchedule(rs.t); | 329 | + rst = rs.t; |
| 328 | i++; | 330 | i++; |
| 329 | f(); | 331 | f(); |
| 330 | }); | 332 | }); |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_oil.html
| @@ -262,10 +262,11 @@ | @@ -262,10 +262,11 @@ | ||
| 262 | $(this).data('valid', true); | 262 | $(this).data('valid', true); |
| 263 | 263 | ||
| 264 | if(allValidSuccess()){ | 264 | if(allValidSuccess()){ |
| 265 | - var i = 0; | 265 | + var i = 0, rst; |
| 266 | (function () { | 266 | (function () { |
| 267 | var f = arguments.callee; | 267 | var f = arguments.callee; |
| 268 | if(i >= dataArray.length){ | 268 | if(i >= dataArray.length){ |
| 269 | + gb_schedule_table.updateSchedule(rst); | ||
| 269 | UIkit.modal(modal).hide(); | 270 | UIkit.modal(modal).hide(); |
| 270 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | 271 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); |
| 271 | return; | 272 | return; |
| @@ -282,7 +283,7 @@ | @@ -282,7 +283,7 @@ | ||
| 282 | data.remarks = ''; | 283 | data.remarks = ''; |
| 283 | gb_common.$post('/childTask', data, function (rs) { | 284 | gb_common.$post('/childTask', data, function (rs) { |
| 284 | notify_succ('子任务添加成功'); | 285 | notify_succ('子任务添加成功'); |
| 285 | - gb_schedule_table.updateSchedule(rs.t); | 286 | + rst = rs.t; |
| 286 | i++; | 287 | i++; |
| 287 | f(); | 288 | f(); |
| 288 | }); | 289 | }); |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_outpark.html
| @@ -240,10 +240,11 @@ | @@ -240,10 +240,11 @@ | ||
| 240 | $(this).data('valid', true); | 240 | $(this).data('valid', true); |
| 241 | 241 | ||
| 242 | if (allValidSuccess()) { | 242 | if (allValidSuccess()) { |
| 243 | - var i = 0; | 243 | + var i = 0,rst; |
| 244 | (function () { | 244 | (function () { |
| 245 | var f = arguments.callee; | 245 | var f = arguments.callee; |
| 246 | if (i >= dataArray.length) { | 246 | if (i >= dataArray.length) { |
| 247 | + gb_schedule_table.updateSchedule(rst); | ||
| 247 | UIkit.modal(modal).hide(); | 248 | UIkit.modal(modal).hide(); |
| 248 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | 249 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); |
| 249 | return; | 250 | return; |
| @@ -251,7 +252,7 @@ | @@ -251,7 +252,7 @@ | ||
| 251 | var data = dataArray[i]; | 252 | var data = dataArray[i]; |
| 252 | gb_common.$post('/childTask', data, function (rs) { | 253 | gb_common.$post('/childTask', data, function (rs) { |
| 253 | notify_succ('子任务添加成功'); | 254 | notify_succ('子任务添加成功'); |
| 254 | - gb_schedule_table.updateSchedule(rs.t); | 255 | + rst = rs.t; |
| 255 | i++; | 256 | i++; |
| 256 | f(); | 257 | f(); |
| 257 | }); | 258 | }); |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
| @@ -347,7 +347,7 @@ | @@ -347,7 +347,7 @@ | ||
| 347 | /** | 347 | /** |
| 348 | * 为班次添加备注 | 348 | * 为班次添加备注 |
| 349 | */ | 349 | */ |
| 350 | - var remarks = '调头' + $('[name=endDate]', csf).val() + ' 因 ' + $('#turnReason', modal).val() + '在' + $('[name=endStation] option:selected', csf).text() + '调头'; | 350 | + var remarks = '调头' + $('[name=endDate]', csf).val() + ' 因 ' + $.trim($('#turnReason', modal).val()) + '在' + $('[name=endStation] option:selected', csf).text() + '调头'; |
| 351 | gb_schedule_table.addRemarks([sch, nextSch], gb_common.trim(remarks, 'g')); | 351 | gb_schedule_table.addRemarks([sch, nextSch], gb_common.trim(remarks, 'g')); |
| 352 | UIkit.modal(modal).hide(); | 352 | UIkit.modal(modal).hide(); |
| 353 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | 353 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); |
src/main/resources/static/real_control_v2/js/common.js
| @@ -217,6 +217,10 @@ var gb_common = (function () { | @@ -217,6 +217,10 @@ var gb_common = (function () { | ||
| 217 | //init_autocom_pinyin(element, data); | 217 | //init_autocom_pinyin(element, data); |
| 218 | init_autocom_pinyin(element, gb_data_basic.allPersonnel()); | 218 | init_autocom_pinyin(element, gb_data_basic.allPersonnel()); |
| 219 | }; | 219 | }; |
| 220 | + | ||
| 221 | + var remarksAutocomplete = function (element) { | ||
| 222 | + init_autocom_pinyin(element, gb_data_basic.remarksMapps()); | ||
| 223 | + }; | ||
| 220 | 224 | ||
| 221 | var carAutocomplete = function (element, list) { | 225 | var carAutocomplete = function (element, list) { |
| 222 | var data = []; | 226 | var data = []; |
| @@ -345,7 +349,8 @@ var gb_common = (function () { | @@ -345,7 +349,8 @@ var gb_common = (function () { | ||
| 345 | init_autocom_pinyin: init_autocom_pinyin, | 349 | init_autocom_pinyin: init_autocom_pinyin, |
| 346 | accAdd: accAdd, | 350 | accAdd: accAdd, |
| 347 | numSubtr: numSubtr, | 351 | numSubtr: numSubtr, |
| 348 | - trim: trim | 352 | + trim: trim, |
| 353 | + remarksAutocomplete: remarksAutocomplete | ||
| 349 | 354 | ||
| 350 | //whichTransitionEvent:whichTransitionEvent | 355 | //whichTransitionEvent:whichTransitionEvent |
| 351 | }; | 356 | }; |
src/main/resources/static/real_control_v2/js/data/data_basic.js
| @@ -78,6 +78,12 @@ var gb_data_basic = (function () { | @@ -78,6 +78,12 @@ var gb_data_basic = (function () { | ||
| 78 | }); | 78 | }); |
| 79 | }); | 79 | }); |
| 80 | 80 | ||
| 81 | + //车辆数据 | ||
| 82 | + var carsArray; | ||
| 83 | + $.get('/basic/cars?t=' + Math.random(), function (rs) { | ||
| 84 | + carsArray = rs; | ||
| 85 | + }); | ||
| 86 | + | ||
| 81 | var getCarparkByCode = function (code) { | 87 | var getCarparkByCode = function (code) { |
| 82 | return carparks[code]; | 88 | return carparks[code]; |
| 83 | }; | 89 | }; |
| @@ -132,6 +138,24 @@ var gb_data_basic = (function () { | @@ -132,6 +138,24 @@ var gb_data_basic = (function () { | ||
| 132 | var stationRouteSort = function (a, b) { | 138 | var stationRouteSort = function (a, b) { |
| 133 | return a.stationRouteCode - b.stationRouteCode; | 139 | return a.stationRouteCode - b.stationRouteCode; |
| 134 | }; | 140 | }; |
| 141 | + | ||
| 142 | + /** | ||
| 143 | + * 常用的备注补全列表 | ||
| 144 | + */ | ||
| 145 | + var remarksArray = ['保养', '故障', '肇事', '加油', '维修', '援外', '路阻' | ||
| 146 | + , '故障(离合器坏)', '故障,(方向盘坏)', '故障(排挡坏)', '故障(门坏)', '故障(雨刮器坏)','故障(刹车坏)', '故障(气打不上)' | ||
| 147 | + ,'故障(整车无电)', '故障(故障灯常亮)', '故障(警报灯亮)', '故障(玻璃坏)', '故障(反光镜坏)', '故障(发电机坏)', '故障(漏防冻液)' | ||
| 148 | + , '故障(漏水)','故障(轮胎坏)', '故障(无动力)', '故障(喷机油)', '故障(水温高)', '保养(一级保养)' | ||
| 149 | + , '保养(二级保养)', '保养(三级保养)', '换车出场', '临加进场', '临加出场']; | ||
| 150 | + var remarksMapps = []; | ||
| 151 | + $.each(remarksArray, function (i, t) { | ||
| 152 | + remarksMapps.push({ | ||
| 153 | + value: t, | ||
| 154 | + fullChars: pinyin.getFullChars(t).toUpperCase(), | ||
| 155 | + camelChars: pinyin.getCamelChars(t) | ||
| 156 | + }); | ||
| 157 | + }); | ||
| 158 | + | ||
| 135 | //文件载入完毕 | 159 | //文件载入完毕 |
| 136 | res_load_ep.emitLater('load_data_basic'); | 160 | res_load_ep.emitLater('load_data_basic'); |
| 137 | 161 | ||
| @@ -198,6 +222,18 @@ var gb_data_basic = (function () { | @@ -198,6 +222,18 @@ var gb_data_basic = (function () { | ||
| 198 | }, | 222 | }, |
| 199 | nbbm2PlateMap: function () { | 223 | nbbm2PlateMap: function () { |
| 200 | return nbbm2PlateMap; | 224 | return nbbm2PlateMap; |
| 225 | + }, | ||
| 226 | + carsArray: function () { | ||
| 227 | + return carsArray; | ||
| 228 | + }, | ||
| 229 | + simpleParksArray: function () { | ||
| 230 | + var map = {}; | ||
| 231 | + for(var code in carparks) | ||
| 232 | + map[code] = carparks[code].parkName; | ||
| 233 | + return map; | ||
| 234 | + }, | ||
| 235 | + remarksMapps: function () { | ||
| 236 | + return remarksMapps; | ||
| 201 | } | 237 | } |
| 202 | }; | 238 | }; |
| 203 | })(); | 239 | })(); |
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
| @@ -229,6 +229,11 @@ var gb_schedule_context_menu = (function () { | @@ -229,6 +229,11 @@ var gb_schedule_context_menu = (function () { | ||
| 229 | Cancel: '取消' | 229 | Cancel: '取消' |
| 230 | } | 230 | } |
| 231 | }); | 231 | }); |
| 232 | + }, | ||
| 233 | + add_temp_sch: function (sch) { | ||
| 234 | + open_modal(folder + '/add_temp_sch.html', { | ||
| 235 | + sch: sch | ||
| 236 | + }, modal_opts); | ||
| 232 | } | 237 | } |
| 233 | }; | 238 | }; |
| 234 | 239 | ||
| @@ -273,6 +278,9 @@ var gb_schedule_context_menu = (function () { | @@ -273,6 +278,9 @@ var gb_schedule_context_menu = (function () { | ||
| 273 | 'shortcut': { | 278 | 'shortcut': { |
| 274 | name: '...', | 279 | name: '...', |
| 275 | items: { | 280 | items: { |
| 281 | + 'add_temp_sch':{ | ||
| 282 | + name: '新增临加班次' | ||
| 283 | + }, | ||
| 276 | 'add_oil': { | 284 | 'add_oil': { |
| 277 | name: '(子任务)空驶进出场' | 285 | name: '(子任务)空驶进出场' |
| 278 | }, | 286 | }, |
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
| @@ -440,8 +440,6 @@ var gb_schedule_table = (function () { | @@ -440,8 +440,6 @@ var gb_schedule_table = (function () { | ||
| 440 | 440 | ||
| 441 | //头部点击去掉选中光标 | 441 | //头部点击去掉选中光标 |
| 442 | $(document).on('click', '.header-title', function () { | 442 | $(document).on('click', '.header-title', function () { |
| 443 | - // $(this).parents('.schedule-wrap').find('.relevance-active') | ||
| 444 | - // .removeClass('relevance-active'); | ||
| 445 | reset_drag_active_all(this); | 443 | reset_drag_active_all(this); |
| 446 | }); | 444 | }); |
| 447 | 445 |
src/main/resources/static/real_control_v2/js/main.js
| @@ -171,8 +171,8 @@ var disabled_submit_btn = function (form) { | @@ -171,8 +171,8 @@ var disabled_submit_btn = function (form) { | ||
| 171 | function showUpdateDescription() { | 171 | function showUpdateDescription() { |
| 172 | //更新说明 | 172 | //更新说明 |
| 173 | var updateDescription = { | 173 | var updateDescription = { |
| 174 | - date: '2017-04-24', | ||
| 175 | - text: '<h5>应到实到时间按路牌连接显示</h5><h5>批量子任务时,如果主任务烂班,则自动复一个全程烂班子任务</h5><h5>鼠标悬停在子任务数字徽章上可查看详细</h5>' | 174 | + date: '2017-04-25', |
| 175 | + text: '<h5>临加班次功能扩展!</h5>' | ||
| 176 | }; | 176 | }; |
| 177 | 177 | ||
| 178 | var storage = window.localStorage | 178 | var storage = window.localStorage |