Commit c922dd4485e7f38b2a33882203fe590d1d76073b
1 parent
485ba583
update
Showing
9 changed files
with
209 additions
and
70 deletions
src/main/java/com/bsth/XDApplication.java
| ... | ... | @@ -107,7 +107,7 @@ public class XDApplication implements CommandLineRunner { |
| 107 | 107 | //dayOfSchedule.dataRecovery(); |
| 108 | 108 | //sexec.scheduleWithFixedDelay(gpsDataLoader, 30, 2, TimeUnit.SECONDS); |
| 109 | 109 | //实际排班更新线程 |
| 110 | - sexec.scheduleWithFixedDelay(scheduleRefreshThread, 15, 240, TimeUnit.SECONDS); | |
| 110 | + //sexec.scheduleWithFixedDelay(scheduleRefreshThread, 15, 240, TimeUnit.SECONDS); | |
| 111 | 111 | //实际排班延迟入库线程 |
| 112 | 112 | //sexec.scheduleWithFixedDelay(schedulePstThread, 60, 15, TimeUnit.SECONDS); |
| 113 | 113 | //班次修正日志延迟入库 |
| ... | ... | @@ -140,7 +140,7 @@ public class XDApplication implements CommandLineRunner { |
| 140 | 140 | sexec.scheduleWithFixedDelay(fcxxUpdateThread, 60, 40, TimeUnit.SECONDS);//发车信息(发车屏、信息发布) |
| 141 | 141 | //线路首末班数据(网关用,班次更新时写入) |
| 142 | 142 | //com.bsth.data.schedule.f_a_l.FirstAndLastHandler |
| 143 | - //无法自动完成的班次信息(网关用,补信号) | |
| 143 | + //靠GPS信号无法自动完成的班次信息(网关用,补信号) | |
| 144 | 144 | |
| 145 | 145 | |
| 146 | 146 | //运管处静态数据提交 | ... | ... |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| ... | ... | @@ -729,7 +729,7 @@ public class DayOfSchedule { |
| 729 | 729 | /** |
| 730 | 730 | * @Title: prveNotExecNum |
| 731 | 731 | * @Description: TODO(班次之前未执行班次数量) |
| 732 | - */ | |
| 732 | + | |
| 733 | 733 | public int prveNotExecNum(ScheduleRealInfo sch) { |
| 734 | 734 | int n = 0; |
| 735 | 735 | List<ScheduleRealInfo> list = nbbmScheduleMap.get(sch.getClZbh()); |
| ... | ... | @@ -741,29 +741,29 @@ public class DayOfSchedule { |
| 741 | 741 | break; |
| 742 | 742 | } |
| 743 | 743 | return n; |
| 744 | - } | |
| 744 | + }*/ | |
| 745 | 745 | |
| 746 | 746 | /** |
| 747 | 747 | * @Title: validEndTime |
| 748 | 748 | * @Description: TODO(是否是有效的到达时间) |
| 749 | - */ | |
| 749 | + | |
| 750 | 750 | public boolean validEndTime(ScheduleRealInfo sch, Long ts) { |
| 751 | 751 | if (sch.getFcsjActualTime() != null && sch.getFcsjActualTime() > ts) |
| 752 | 752 | return false; |
| 753 | 753 | |
| 754 | 754 | return validTime(sch, ts); |
| 755 | - } | |
| 755 | + }*/ | |
| 756 | 756 | |
| 757 | 757 | /** |
| 758 | 758 | * @Title: validStartTime |
| 759 | 759 | * @Description: TODO(是否是合适的发车时间) |
| 760 | - */ | |
| 760 | + | |
| 761 | 761 | public boolean validStartTime(ScheduleRealInfo sch, Long ts) { |
| 762 | 762 | if (sch.getZdsjActualTime() != null && sch.getZdsjActualTime() < ts) |
| 763 | 763 | return false; |
| 764 | 764 | |
| 765 | 765 | return validTime(sch, ts); |
| 766 | - } | |
| 766 | + }*/ | |
| 767 | 767 | |
| 768 | 768 | public boolean validTime(ScheduleRealInfo sch, Long ts) { |
| 769 | 769 | List<ScheduleRealInfo> list = nbbmScheduleMap.get(sch.getClZbh()); |
| ... | ... | @@ -875,9 +875,9 @@ public class DayOfSchedule { |
| 875 | 875 | return outList; |
| 876 | 876 | } |
| 877 | 877 | |
| 878 | - public Set<String> allCar() { | |
| 878 | +/* public Set<String> allCar() { | |
| 879 | 879 | return nbbmScheduleMap.keySet(); |
| 880 | - } | |
| 880 | + }*/ | |
| 881 | 881 | |
| 882 | 882 | public Collection<ScheduleRealInfo> findAll() { |
| 883 | 883 | return nbbmScheduleMap.values(); |
| ... | ... | @@ -939,12 +939,12 @@ public class DayOfSchedule { |
| 939 | 939 | return ups; |
| 940 | 940 | } |
| 941 | 941 | |
| 942 | - public void removeNbbm2SchMapp(ScheduleRealInfo sch, String nbbm) { | |
| 943 | - nbbmScheduleMap.remove(nbbm, sch); | |
| 942 | + public void removeNbbm2SchMapp(ScheduleRealInfo sch) { | |
| 943 | + nbbmScheduleMap.remove(sch.getClZbh(), sch); | |
| 944 | 944 | } |
| 945 | 945 | |
| 946 | - public void addNbbm2SchMapp(ScheduleRealInfo sch, String nbbm) { | |
| 947 | - nbbmScheduleMap.put(nbbm, sch); | |
| 946 | + public void addNbbm2SchMapp(ScheduleRealInfo sch) { | |
| 947 | + nbbmScheduleMap.put(sch.getClZbh(), sch); | |
| 948 | 948 | } |
| 949 | 949 | |
| 950 | 950 | public void reCalcExecPlan(String nbbm) { | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -3011,10 +3011,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3011 | 3011 | if (sch == null) |
| 3012 | 3012 | continue; |
| 3013 | 3013 | |
| 3014 | - if (cpc.getClZbh() != null && !carExist(sch.getGsBm(), cpc.getClZbh())) { | |
| 3015 | - rs.put("msg", "车辆 " + cpc.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!"); | |
| 3016 | - rs.put("status", ResponseCode.ERROR); | |
| 3017 | - return rs; | |
| 3014 | + if (cpc.getClZbh() != null) { | |
| 3015 | + if(!carExist(sch.getGsBm(), cpc.getClZbh())) { | |
| 3016 | + rs.put("msg", "车辆 " + cpc.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!"); | |
| 3017 | + rs.put("status", ResponseCode.ERROR); | |
| 3018 | + return rs; | |
| 3019 | + } | |
| 3020 | + else if(!sch.getGsBm().equals(BasicData.nbbm2CompanyCodeMap.get(cpc.getClZbh()))){ | |
| 3021 | + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到自编号为【" + cpc.getClZbh() + "】的车辆"); | |
| 3022 | + rs.put("status", ResponseCode.ERROR); | |
| 3023 | + return rs; | |
| 3024 | + } | |
| 3018 | 3025 | } |
| 3019 | 3026 | |
| 3020 | 3027 | if (StringUtils.isNotEmpty(cpc.getJsy())) { |
| ... | ... | @@ -4439,9 +4446,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4439 | 4446 | try { |
| 4440 | 4447 | List<String> leftList = Splitter.on(",").splitToList(leftIdx); |
| 4441 | 4448 | List<String> rightList = Splitter.on(",").splitToList(rightIdx); |
| 4442 | - | |
| 4443 | - //有班次变更的车辆 | |
| 4444 | - Set<String> cars = new HashSet<>(); | |
| 4449 | + Set<String> lpSet = new HashSet<>(); | |
| 4445 | 4450 | |
| 4446 | 4451 | List<ScheduleRealInfo> largeList, smallList; |
| 4447 | 4452 | if (leftList.size() > rightList.size()) { |
| ... | ... | @@ -4462,7 +4467,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4462 | 4467 | //不对称时多出来的 |
| 4463 | 4468 | lpChangeByLeft(leftSch, largeList.get(i - 1), type); |
| 4464 | 4469 | ts.add(leftSch); |
| 4465 | - cars.add(leftSch.getClZbh()); | |
| 4470 | + lpSet.add(leftSch.getXlBm() + "_" + leftSch.getLpName()); | |
| 4466 | 4471 | continue; |
| 4467 | 4472 | } |
| 4468 | 4473 | |
| ... | ... | @@ -4470,13 +4475,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4470 | 4475 | lpChange(leftSch, rightSch, type); |
| 4471 | 4476 | ts.add(leftSch); |
| 4472 | 4477 | |
| 4473 | - cars.add(leftSch.getClZbh()); | |
| 4474 | - cars.add(rightSch.getClZbh()); | |
| 4478 | + lpSet.add(leftSch.getXlBm() + "_" + leftSch.getLpName()); | |
| 4479 | + lpSet.add(rightSch.getXlBm() + "_" + rightSch.getLpName()); | |
| 4475 | 4480 | } |
| 4476 | 4481 | |
| 4477 | - //重新计算起点应到时间 | |
| 4478 | - for(String nbbm : cars){ | |
| 4479 | - ts.addAll(dayOfSchedule.updateQdzTimePlan(nbbm)); | |
| 4482 | + //重新计算路牌的起点应到时间 | |
| 4483 | + for(String lpName : lpSet){ | |
| 4484 | + ts.addAll(dayOfSchedule.updateQdzTimePlan(lpName)); | |
| 4480 | 4485 | } |
| 4481 | 4486 | |
| 4482 | 4487 | for (ScheduleRealInfo sch : ts) { |
| ... | ... | @@ -4504,6 +4509,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4504 | 4509 | |
| 4505 | 4510 | @Override |
| 4506 | 4511 | public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { |
| 4512 | + //释放班次映射 | |
| 4513 | + if(type > 0) { | |
| 4514 | + dayOfSchedule.removeNbbm2SchMapp(leftSch); | |
| 4515 | + dayOfSchedule.removeNbbm2SchMapp(rightSch); | |
| 4516 | + } | |
| 4517 | + | |
| 4518 | + //对调数据 | |
| 4507 | 4519 | LpData leftData = new LpData(leftSch); |
| 4508 | 4520 | LpData rightData = new LpData(rightSch); |
| 4509 | 4521 | |
| ... | ... | @@ -4511,12 +4523,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4511 | 4523 | rightData.appendTo(leftSch, type); |
| 4512 | 4524 | |
| 4513 | 4525 | if(type > 0){ |
| 4514 | - //更新车辆和班次映射信息 | |
| 4515 | - dayOfSchedule.removeNbbm2SchMapp(leftSch, leftData.getNbbm()); | |
| 4516 | - dayOfSchedule.removeNbbm2SchMapp(rightSch, rightData.getNbbm()); | |
| 4517 | - | |
| 4518 | - dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | |
| 4519 | - dayOfSchedule.addNbbm2SchMapp(rightSch, leftData.getNbbm()); | |
| 4526 | + //重新映射 | |
| 4527 | + dayOfSchedule.addNbbm2SchMapp(leftSch); | |
| 4528 | + dayOfSchedule.addNbbm2SchMapp(rightSch); | |
| 4520 | 4529 | } |
| 4521 | 4530 | } |
| 4522 | 4531 | |
| ... | ... | @@ -4527,14 +4536,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4527 | 4536 | * @param type |
| 4528 | 4537 | */ |
| 4529 | 4538 | public void lpChangeByLeft(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { |
| 4530 | - LpData rightData = new LpData(rightSch); | |
| 4539 | + //释放班次映射 | |
| 4540 | + if(type > 0) | |
| 4541 | + dayOfSchedule.removeNbbm2SchMapp(leftSch); | |
| 4531 | 4542 | |
| 4543 | + LpData rightData = new LpData(rightSch); | |
| 4532 | 4544 | rightData.appendTo(leftSch, type); |
| 4533 | 4545 | |
| 4534 | - if(type > 0){ | |
| 4535 | - //更新车辆和班次映射信息 | |
| 4536 | - dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | |
| 4537 | - } | |
| 4546 | + //重新映射 | |
| 4547 | + if(type > 0) | |
| 4548 | + dayOfSchedule.addNbbm2SchMapp(leftSch); | |
| 4549 | + | |
| 4538 | 4550 | } |
| 4539 | 4551 | |
| 4540 | 4552 | @Override | ... | ... |
src/main/resources/static/real_control_v2/css/ct_table.css
src/main/resources/static/real_control_v2/css/line_schedule.css
| ... | ... | @@ -771,27 +771,30 @@ input.i-cbox[type=checkbox]{ |
| 771 | 771 | |
| 772 | 772 | |
| 773 | 773 | .sch-tzrc-table dl dt:nth-of-type(1), .sch-tzrc-table dl dd:nth-of-type(1) { |
| 774 | - width: 30%; | |
| 774 | + width: 25%; | |
| 775 | 775 | } |
| 776 | 776 | .sch-tzrc-table dl dt:nth-of-type(2), .sch-tzrc-table dl dd:nth-of-type(2) { |
| 777 | - width: 25%; | |
| 777 | + width: 18%; | |
| 778 | 778 | } |
| 779 | 779 | .sch-tzrc-table dl dt:nth-of-type(3), .sch-tzrc-table dl dd:nth-of-type(3) { |
| 780 | - width: 25%; | |
| 780 | + width: 21%; | |
| 781 | 781 | } |
| 782 | 782 | .sch-tzrc-table dl dt:nth-of-type(4), .sch-tzrc-table dl dd:nth-of-type(4) { |
| 783 | - width: 20%; | |
| 783 | + width: 21%; | |
| 784 | +} | |
| 785 | +.sch-tzrc-table dl dt:nth-of-type(5), .sch-tzrc-table dl dd:nth-of-type(5) { | |
| 786 | + width: 15%; | |
| 784 | 787 | } |
| 785 | 788 | |
| 786 | 789 | .ct-form-modal .uk-autocomplete{ |
| 787 | 790 | width: 100%; |
| 788 | 791 | } |
| 789 | 792 | |
| 790 | -.sch-tzrc-table.ct_table dl.active, | |
| 793 | +/*.sch-tzrc-table.ct_table dl.active, | |
| 791 | 794 | .sch-tzrc-table.ct_table>.ct_table_body dl.active:hover, |
| 792 | 795 | .sch-tzrc-table.ct_table>.ct_table_body dl.context-menu-active{ |
| 793 | 796 | background: #e6e6e6; |
| 794 | -} | |
| 797 | +}*/ | |
| 795 | 798 | |
| 796 | 799 | .search_sch_panel{ |
| 797 | 800 | float: right; | ... | ... |
src/main/resources/static/real_control_v2/css/main.css
| ... | ... | @@ -1597,3 +1597,62 @@ ul.left_tabs_lg li{ |
| 1597 | 1597 | text-decoration: underline; |
| 1598 | 1598 | font-size: 13px; |
| 1599 | 1599 | } |
| 1600 | + | |
| 1601 | +#schedule-tzrc-modal input[type=checkbox]{ | |
| 1602 | + margin-right: 9px; | |
| 1603 | +} | |
| 1604 | + | |
| 1605 | +#schedule-tzrc-modal span.ct_zt_yzx{ | |
| 1606 | + color: #2196F3; | |
| 1607 | + font-size: 12px; | |
| 1608 | +} | |
| 1609 | + | |
| 1610 | +#schedule-tzrc-modal span.ct_zt_lb{ | |
| 1611 | + color: red; | |
| 1612 | + font-size: 12px; | |
| 1613 | +} | |
| 1614 | + | |
| 1615 | +#schedule-tzrc-modal span.ct_zt_zzzx{ | |
| 1616 | + font-size: 12px; | |
| 1617 | + color: #38ad3c; | |
| 1618 | +} | |
| 1619 | + | |
| 1620 | +#schedule-tzrc-modal .tzrc_form{ | |
| 1621 | + padding: 20px; | |
| 1622 | + border: 1px solid #f0eded; | |
| 1623 | + box-shadow: 0px -3px 15px rgba(0,0,0,0.08); | |
| 1624 | + background: #f9f9f9; | |
| 1625 | +} | |
| 1626 | + | |
| 1627 | +.uk-panel.ct_search_panel{ | |
| 1628 | + padding: 15px; | |
| 1629 | + border: 1px solid #f0eded; | |
| 1630 | + box-shadow: 0px 3px 15px rgba(0,0,0,0.08); | |
| 1631 | + background: #f9f9f9; | |
| 1632 | +} | |
| 1633 | + | |
| 1634 | +.sch-tzrc-table.ct_table dl.active, | |
| 1635 | +.sch-tzrc-table.ct_table>.ct_table_body dl.active:hover{ | |
| 1636 | + background: #5bd460; | |
| 1637 | + color: white; | |
| 1638 | +} | |
| 1639 | + | |
| 1640 | +#schedule-tzrc-modal dl.active span.ct_zt_yzx{ | |
| 1641 | + color: #545252; | |
| 1642 | +} | |
| 1643 | + | |
| 1644 | +#schedule-tzrc-modal dl.active span.ct_zt_lb{ | |
| 1645 | + color: #d64949; | |
| 1646 | +} | |
| 1647 | + | |
| 1648 | +#schedule-tzrc-modal dl.active span.ct_zt_zzzx{ | |
| 1649 | + color: white; | |
| 1650 | +} | |
| 1651 | + | |
| 1652 | +#schedule-tzrc-modal dl.active input[type=checkbox]{ | |
| 1653 | + border: 0; | |
| 1654 | +} | |
| 1655 | + | |
| 1656 | +#schedule-tzrc-modal dl.active input[type=checkbox]:before{ | |
| 1657 | + color: #ffffff; | |
| 1658 | +} | |
| 1600 | 1659 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/add_in_out.html
| ... | ... | @@ -100,7 +100,7 @@ |
| 100 | 100 | else if (sch.status == 2) { |
| 101 | 101 | $f('destroy', f).parents('label').remove(); |
| 102 | 102 | $f('endDate', f).val(sch.zdsjActual); |
| 103 | - $('input,select', f).attr('disabled', 'disabled'); | |
| 103 | + //$('input,select', f).attr('disabled', 'disabled'); | |
| 104 | 104 | } |
| 105 | 105 | } |
| 106 | 106 | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/tzrc.html
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | <a href="" class="uk-modal-close uk-close"></a> |
| 4 | 4 | <div class="uk-modal-header"> |
| 5 | 5 | <h2>调整人车</h2></div> |
| 6 | - <div class="uk-panel uk-panel-box uk-panel-box-primary"> | |
| 6 | + <div class="uk-panel ct_search_panel"> | |
| 7 | 7 | <form class="uk-form uk-form-horizontal search-form"> |
| 8 | 8 | <div class="uk-grid"> |
| 9 | 9 | <div class="uk-width-1-3"> |
| ... | ... | @@ -26,21 +26,23 @@ |
| 26 | 26 | </form> |
| 27 | 27 | </div> |
| 28 | 28 | |
| 29 | - <div class="ct_table_wrap ct_table_no_border tzrc-table-wrap" style="height: 300px;"> | |
| 29 | + <form class="uk-form"> | |
| 30 | + <div class="ct_table_wrap ct_table_no_border tzrc-table-wrap" style="height: 340px;"> | |
| 30 | 31 | <div class="ct_table sch-tzrc-table"> |
| 31 | 32 | <div class="ct_table_head"> |
| 32 | 33 | <dl> |
| 33 | - <dt><input type="checkbox" id="globalCheckBox" class="i-cbox" style="margin-top: 0px;">时间</dt> | |
| 34 | + <dt><input type="checkbox" id="globalCheckBox" class="i-cbox" >时间</dt> | |
| 34 | 35 | <dt>车辆</dt> |
| 35 | 36 | <dt>驾驶员</dt> |
| 36 | 37 | <dt>售票员</dt> |
| 38 | + <dt>状态</dt> | |
| 37 | 39 | </dl> |
| 38 | 40 | </div> |
| 39 | 41 | <div class="ct_table_body"></div> |
| 40 | 42 | </div> |
| 41 | 43 | </div> |
| 42 | - | |
| 43 | - <form class="uk-form uk-form-horizontal tzrc_form" style="padding-top: 20px;border-top: 1px solid whitesmoke;"> | |
| 44 | + </form> | |
| 45 | + <form class="uk-form uk-form-horizontal tzrc_form"> | |
| 44 | 46 | <div class="uk-grid"> |
| 45 | 47 | <div class="uk-width-1-2"> |
| 46 | 48 | <div class="uk-form-row"> |
| ... | ... | @@ -77,7 +79,7 @@ |
| 77 | 79 | </div> |
| 78 | 80 | <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> |
| 79 | 81 | <button type="button" class="uk-button uk-modal-close">取消</button> |
| 80 | - <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存 | |
| 82 | + <button type="submit" class="uk-button uk-button-primary" ><i class="uk-icon-check"></i> 保存 | |
| 81 | 83 | </button> |
| 82 | 84 | </div> |
| 83 | 85 | </form> |
| ... | ... | @@ -85,10 +87,9 @@ |
| 85 | 87 | |
| 86 | 88 | <script id="schedule-tzrc-table-temp" type="text/html"> |
| 87 | 89 | {{each list as sch i}} |
| 88 | - <dl data-id="{{sch.id}}"> | |
| 90 | + <dl data-id="{{sch.id}}" {{if sch.status==0}}class="no_exec_sch_row"{{/if}}> | |
| 89 | 91 | <dd> |
| 90 | - <label> | |
| 91 | - <input type="checkbox" value=1 name="schCBox" class="i-cbox" style="margin-top: 0px;"> | |
| 92 | + <input type="checkbox" value=1 name="schCBox" class="i-cbox" > | |
| 92 | 93 | {{sch.dfsj}} |
| 93 | 94 | {{if sch.bcType == "out"}} |
| 94 | 95 | <span class="uk-badge uk-badge-success">出场</span> |
| ... | ... | @@ -105,11 +106,19 @@ |
| 105 | 106 | {{if sch.cTasks.length > 0}} |
| 106 | 107 | <span class="uk-badge uk-badge-notification">{{sch.cTasks.length}}</span> |
| 107 | 108 | {{/if}} |
| 108 | - </label> | |
| 109 | 109 | </dd> |
| 110 | 110 | <dd>{{sch.clZbh}}</dd> |
| 111 | 111 | <dd>{{sch.jGh}}/{{sch.jName}}</dd> |
| 112 | 112 | <dd>{{sch.sGh}}/{{sch.sName}}</dd> |
| 113 | + <dd> | |
| 114 | + {{if sch.status==2}} | |
| 115 | + <span class="ct_zt_yzx">已执行</span> | |
| 116 | + {{else if sch.status==1}} | |
| 117 | + <span class="ct_zt_zzzx">正在执行</span> | |
| 118 | + {{else if sch.status==-1}} | |
| 119 | + <span class="ct_zt_lb">烂班</span> | |
| 120 | + {{/if}} | |
| 121 | + </dd> | |
| 113 | 122 | </dl> |
| 114 | 123 | {{/each}} |
| 115 | 124 | </script> |
| ... | ... | @@ -151,17 +160,21 @@ |
| 151 | 160 | $('.tzrc-table-wrap', modal).perfectScrollbar('update'); |
| 152 | 161 | }); |
| 153 | 162 | |
| 154 | - $(modal).on('click', '.sch-tzrc-table .ct_table_body dl input[type=checkbox]', function () { | |
| 155 | - if ($(this).attr('disabled')) return; | |
| 156 | - var dl = $(this).parents('dl'); | |
| 157 | - if (this.checked) { | |
| 158 | - dl.addClass('active'); | |
| 163 | + $(modal).on('click', '.sch-tzrc-table .ct_table_body dl', function () { | |
| 164 | + var cbox = $('input[type=checkbox]',this)[0]; | |
| 165 | + //var active = $(); | |
| 166 | + if(!$(this).hasClass('active')){ | |
| 167 | + $(this).addClass('active'); | |
| 168 | + cbox.checked = true; | |
| 159 | 169 | var lineCode = $('[name=lineSelect]', modal).val(); |
| 160 | - var sch = gb_schedule_table.findScheduleByLine(lineCode)[dl.data('id')]; | |
| 170 | + var sch = gb_schedule_table.findScheduleByLine(lineCode)[$(this).data('id')]; | |
| 161 | 171 | |
| 162 | 172 | writeSch2Form(sch); |
| 163 | - } else | |
| 164 | - dl.removeClass('active'); | |
| 173 | + } | |
| 174 | + else{ | |
| 175 | + $(this).removeClass('active'); | |
| 176 | + cbox.checked = false; | |
| 177 | + } | |
| 165 | 178 | }); |
| 166 | 179 | |
| 167 | 180 | //默认选中项 |
| ... | ... | @@ -191,7 +204,42 @@ |
| 191 | 204 | //}); |
| 192 | 205 | |
| 193 | 206 | //submit |
| 194 | - var f = $('form.tzrc_form', modal).formValidation({ | |
| 207 | + var f = $('form.tzrc_form', modal); | |
| 208 | + f.on('submit', function (e) { | |
| 209 | + e.stopPropagation(); | |
| 210 | + | |
| 211 | + var checkeds = $('.sch-tzrc-table .ct_table_body input[type=checkbox]:checked', modal); | |
| 212 | + if (checkeds.length == 0) | |
| 213 | + return notify_err('请选中要调整的班次'); | |
| 214 | + | |
| 215 | + var param = $(this).serializeJSON(); | |
| 216 | + var data = []; | |
| 217 | + var schId; | |
| 218 | + $.each(checkeds, function () { | |
| 219 | + schId = $(this).parents('dl').data('id'); | |
| 220 | + data.push({ | |
| 221 | + schId: schId, | |
| 222 | + jsy: param.jsy, | |
| 223 | + spy: param.spy, | |
| 224 | + clZbh: param.clZbh | |
| 225 | + }); | |
| 226 | + }); | |
| 227 | + | |
| 228 | + //检查一下是否跨公司换人,换车 | |
| 229 | + // gb_common.$get('/') | |
| 230 | + | |
| 231 | + gb_common.$post('/realSchedule/multi_tzrc', { | |
| 232 | + cpcsJson: JSON.stringify(data) | |
| 233 | + }, function (rs) { | |
| 234 | + if (rs.ts && rs.ts.length > 0) { | |
| 235 | + gb_schedule_table.updateSchedule(rs.ts); | |
| 236 | + UIkit.modal(modal).hide(); | |
| 237 | + notify_succ('调整人车成功'); | |
| 238 | + } | |
| 239 | + }); | |
| 240 | + return false; | |
| 241 | + }); | |
| 242 | + /*var f = $('form.tzrc_form', modal).formValidation({ | |
| 195 | 243 | framework: 'uikit', |
| 196 | 244 | locale: 'zh_CN' |
| 197 | 245 | }); |
| ... | ... | @@ -222,7 +270,7 @@ |
| 222 | 270 | notify_succ('调整人车成功'); |
| 223 | 271 | } |
| 224 | 272 | }); |
| 225 | - }); | |
| 273 | + });*/ | |
| 226 | 274 | }); |
| 227 | 275 | |
| 228 | 276 | function writeSch2Form(sch) { |
| ... | ... | @@ -235,11 +283,28 @@ |
| 235 | 283 | |
| 236 | 284 | //全选 |
| 237 | 285 | $('#globalCheckBox', modal).on('click', function () { |
| 286 | + clearCheckAll(); | |
| 238 | 287 | var status = this.checked; |
| 239 | - $('input[name=schCBox]', modal).each(function () { | |
| 240 | - this.checked = status; | |
| 241 | - }); | |
| 288 | + if(status){ | |
| 289 | + var id; | |
| 290 | + $('.no_exec_sch_row', modal).each(function () { | |
| 291 | + $(this).addClass('active'); | |
| 292 | + $('input[type=checkbox]',this)[0].checked = true; | |
| 293 | + id = $(this).data('id'); | |
| 294 | + }); | |
| 295 | + | |
| 296 | + var lineCode = $('[name=lineSelect]', modal).val(); | |
| 297 | + var sch = gb_schedule_table.findScheduleByLine(lineCode)[id]; | |
| 298 | + writeSch2Form(sch); | |
| 299 | + } | |
| 242 | 300 | }); |
| 301 | + | |
| 302 | + function clearCheckAll() { | |
| 303 | + $('.sch-tzrc-table .ct_table_body>dl', modal).each(function () { | |
| 304 | + $(this).removeClass('active'); | |
| 305 | + $('input[type=checkbox]',this)[0].checked = false; | |
| 306 | + }); | |
| 307 | + } | |
| 243 | 308 | })(); |
| 244 | 309 | </script> |
| 245 | 310 | </div> | ... | ... |
src/main/resources/static/real_control_v2/js/common.js
| ... | ... | @@ -112,7 +112,7 @@ var gb_common = (function () { |
| 112 | 112 | }); |
| 113 | 113 | }; |
| 114 | 114 | |
| 115 | - var errorHead = '<span style="color:red;">服务器出现异常:</span>'; | |
| 115 | + var errorHead = '<span style="color:red;">异常:</span>'; | |
| 116 | 116 | |
| 117 | 117 | function successHandle(json, handle) { |
| 118 | 118 | var status = json.status; | ... | ... |