Commit dbb8dd28dfaab8a6741829d94b0722b8b7d84886
1 parent
8912e3af
update
Showing
15 changed files
with
202 additions
and
77 deletions
src/main/java/com/bsth/StartCommand.java
| 1 | package com.bsth; | 1 | package com.bsth; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | +import com.bsth.entity.Cars; | ||
| 5 | +import com.bsth.entity.Line; | ||
| 6 | +import com.bsth.entity.schedule.CarConfigInfo; | ||
| 7 | +import com.bsth.repository.schedule.CarConfigInfoRepository; | ||
| 4 | import com.bsth.security.SecurityMetadataSourceService; | 8 | import com.bsth.security.SecurityMetadataSourceService; |
| 5 | import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread; | 9 | import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread; |
| 6 | import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread; | 10 | import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread; |
| 7 | import com.bsth.util.DateUtils; | 11 | import com.bsth.util.DateUtils; |
| 8 | import com.bsth.vehicle.common.CommonRefreshThread; | 12 | import com.bsth.vehicle.common.CommonRefreshThread; |
| 13 | +import com.bsth.vehicle.directive.service.DirectiveService; | ||
| 9 | import com.bsth.vehicle.directive.thread.DirectivePersistenceThread; | 14 | import com.bsth.vehicle.directive.thread.DirectivePersistenceThread; |
| 10 | import com.bsth.vehicle.directive.thread.FirstScheduleIssuedThread; | 15 | import com.bsth.vehicle.directive.thread.FirstScheduleIssuedThread; |
| 11 | import com.bsth.vehicle.gpsdata.GpsArrivalStationThread; | 16 | import com.bsth.vehicle.gpsdata.GpsArrivalStationThread; |
| @@ -16,6 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired; | @@ -16,6 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired; | ||
| 16 | import org.springframework.boot.CommandLineRunner; | 21 | import org.springframework.boot.CommandLineRunner; |
| 17 | import org.springframework.stereotype.Component; | 22 | import org.springframework.stereotype.Component; |
| 18 | 23 | ||
| 24 | +import java.util.List; | ||
| 25 | +import java.util.Timer; | ||
| 26 | +import java.util.TimerTask; | ||
| 19 | import java.util.concurrent.Executors; | 27 | import java.util.concurrent.Executors; |
| 20 | import java.util.concurrent.ScheduledExecutorService; | 28 | import java.util.concurrent.ScheduledExecutorService; |
| 21 | import java.util.concurrent.TimeUnit; | 29 | import java.util.concurrent.TimeUnit; |
| @@ -50,6 +58,11 @@ public class StartCommand implements CommandLineRunner{ | @@ -50,6 +58,11 @@ public class StartCommand implements CommandLineRunner{ | ||
| 50 | @Autowired | 58 | @Autowired |
| 51 | FirstScheduleIssuedThread firstScheduleIssuedThread; | 59 | FirstScheduleIssuedThread firstScheduleIssuedThread; |
| 52 | 60 | ||
| 61 | + @Autowired | ||
| 62 | + DirectiveService directiveService; | ||
| 63 | + @Autowired | ||
| 64 | + CarConfigInfoRepository carConfigInfoRepository; | ||
| 65 | + | ||
| 53 | static Long hourTime = 1000 * 60 * 60L; | 66 | static Long hourTime = 1000 * 60 * 60L; |
| 54 | 67 | ||
| 55 | @Override | 68 | @Override |
| @@ -104,6 +117,30 @@ public class StartCommand implements CommandLineRunner{ | @@ -104,6 +117,30 @@ public class StartCommand implements CommandLineRunner{ | ||
| 104 | */ | 117 | */ |
| 105 | scheduler.scheduleWithFixedDelay(firstScheduleIssuedThread, 60 , 60 * 2, TimeUnit.SECONDS); | 118 | scheduler.scheduleWithFixedDelay(firstScheduleIssuedThread, 60 , 60 * 2, TimeUnit.SECONDS); |
| 106 | 119 | ||
| 120 | + | ||
| 121 | +/* //延迟一会 | ||
| 122 | + new Timer().schedule(new TimerTask() { | ||
| 123 | + | ||
| 124 | + @Override | ||
| 125 | + public void run() { | ||
| 126 | + //临时全量刷车辆线路 | ||
| 127 | + List<CarConfigInfo> ccis = carConfigInfoRepository.findAll(); | ||
| 128 | + Cars car; | ||
| 129 | + Line line; | ||
| 130 | + String lineCode; | ||
| 131 | + int code; | ||
| 132 | + for(CarConfigInfo cci : ccis){ | ||
| 133 | + car = cci.getCl(); | ||
| 134 | + line = cci.getXl(); | ||
| 135 | + lineCode = line.getLineCode(); | ||
| 136 | + System.out.println("车辆:" + car.getInsideCode() + "切换线路:" + line.getLineCode()); | ||
| 137 | + code = directiveService.lineChange(car.getInsideCode(), Integer.parseInt(lineCode)); | ||
| 138 | + //directiveService.send60Phrase(car.getInsideCode(), ""); | ||
| 139 | + System.out.println("返回值:" + code); | ||
| 140 | + } | ||
| 141 | + } | ||
| 142 | + }, 1000 * 10);*/ | ||
| 143 | + | ||
| 107 | } catch (Exception e) { | 144 | } catch (Exception e) { |
| 108 | e.printStackTrace(); | 145 | e.printStackTrace(); |
| 109 | } | 146 | } |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| @@ -4,6 +4,8 @@ import com.bsth.entity.sys.SysUser; | @@ -4,6 +4,8 @@ import com.bsth.entity.sys.SysUser; | ||
| 4 | 4 | ||
| 5 | import javax.persistence.*; | 5 | import javax.persistence.*; |
| 6 | 6 | ||
| 7 | +import org.apache.commons.lang3.StringUtils; | ||
| 8 | + | ||
| 7 | import java.text.ParseException; | 9 | import java.text.ParseException; |
| 8 | import java.text.SimpleDateFormat; | 10 | import java.text.SimpleDateFormat; |
| 9 | import java.util.Date; | 11 | import java.util.Date; |
| @@ -153,11 +155,15 @@ public class ScheduleRealInfo { | @@ -153,11 +155,15 @@ public class ScheduleRealInfo { | ||
| 153 | private String qdzArrDatesj; | 155 | private String qdzArrDatesj; |
| 154 | 156 | ||
| 155 | public void addRemarks(String remark){ | 157 | public void addRemarks(String remark){ |
| 156 | - String newRem = this.getRemarks(); | ||
| 157 | - if(null == newRem || newRem.trim() == "") | 158 | + if(StringUtils.isBlank(remark)) |
| 158 | return; | 159 | return; |
| 159 | - newRem += remark + ";"; | ||
| 160 | - this.setRemarks(newRem); | 160 | + String old = this.getRemarks(); |
| 161 | + if(StringUtils.isBlank(old)) | ||
| 162 | + old = ""; | ||
| 163 | + | ||
| 164 | + old += remark + ";"; | ||
| 165 | + this.setRemarks(old); | ||
| 166 | + | ||
| 161 | } | 167 | } |
| 162 | 168 | ||
| 163 | public Long getId() { | 169 | public Long getId() { |
| @@ -661,4 +667,27 @@ public class ScheduleRealInfo { | @@ -661,4 +667,27 @@ public class ScheduleRealInfo { | ||
| 661 | public void setRealExecDate(String realExecDate) { | 667 | public void setRealExecDate(String realExecDate) { |
| 662 | this.realExecDate = realExecDate; | 668 | this.realExecDate = realExecDate; |
| 663 | } | 669 | } |
| 670 | + | ||
| 671 | + public void calcStatus() { | ||
| 672 | + if(this.status == -1) | ||
| 673 | + return; | ||
| 674 | + | ||
| 675 | + this.status = 0; | ||
| 676 | + if(StringUtils.isNotBlank(this.fcsjActual)) | ||
| 677 | + this.status = 1; | ||
| 678 | + if(StringUtils.isNotBlank(this.zdsjActual)) | ||
| 679 | + this.status = 2; | ||
| 680 | + } | ||
| 681 | + | ||
| 682 | + public void destroy(){ | ||
| 683 | + this.status = -1; | ||
| 684 | + } | ||
| 685 | + | ||
| 686 | + public boolean isDestroy(){ | ||
| 687 | + return this.status == -1; | ||
| 688 | + } | ||
| 689 | + | ||
| 690 | + public boolean isNotDestroy(){ | ||
| 691 | + return this.status != -1; | ||
| 692 | + } | ||
| 664 | } | 693 | } |
src/main/java/com/bsth/service/realcontrol/buffer/GetSchedulePlanThread.java
| @@ -46,6 +46,7 @@ public class GetSchedulePlanThread extends Thread{ | @@ -46,6 +46,7 @@ public class GetSchedulePlanThread extends Thread{ | ||
| 46 | @Override | 46 | @Override |
| 47 | public void run() { | 47 | public void run() { |
| 48 | try{ | 48 | try{ |
| 49 | + logger.info("从计划调度抓取排班数据..."); | ||
| 49 | //清除缓存 | 50 | //清除缓存 |
| 50 | ScheduleBuffer.clear(); | 51 | ScheduleBuffer.clear(); |
| 51 | //所有指令入库 | 52 | //所有指令入库 |
src/main/java/com/bsth/service/realcontrol/buffer/ScheduleBuffer.java
| @@ -204,9 +204,9 @@ public class ScheduleBuffer { | @@ -204,9 +204,9 @@ public class ScheduleBuffer { | ||
| 204 | 204 | ||
| 205 | //重新排序 | 205 | //重新排序 |
| 206 | Collections.sort(schedulListMap.get(sch.getXlBm()), scheduleComparator); | 206 | Collections.sort(schedulListMap.get(sch.getXlBm()), scheduleComparator); |
| 207 | + //Collections.sort(vehSchListMap.get(zbh), scheduleComparator); | ||
| 207 | 208 | ||
| 208 | //重新计算应到时间 | 209 | //重新计算应到时间 |
| 209 | - //calcArrDateQd(vehLinkedMap.get(zbh)); | ||
| 210 | calcArrDateQd(vehSchListMap.get(zbh)); | 210 | calcArrDateQd(vehSchListMap.get(zbh)); |
| 211 | return 0; | 211 | return 0; |
| 212 | } | 212 | } |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| 1 | package com.bsth.service.realcontrol.impl; | 1 | package com.bsth.service.realcontrol.impl; |
| 2 | 2 | ||
| 3 | -import java.io.File; | ||
| 4 | import java.text.DecimalFormat; | 3 | import java.text.DecimalFormat; |
| 5 | import java.text.ParseException; | 4 | import java.text.ParseException; |
| 6 | import java.text.SimpleDateFormat; | 5 | import java.text.SimpleDateFormat; |
| @@ -101,7 +100,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -101,7 +100,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 101 | ScheduleRealInfo schedule = ScheduleBuffer.pkSchedulMap.get(id); | 100 | ScheduleRealInfo schedule = ScheduleBuffer.pkSchedulMap.get(id); |
| 102 | schedule.setDfsjT(sdfMinute.parse(schedule.getRealExecDate() + " " + dfsj).getTime()); | 101 | schedule.setDfsjT(sdfMinute.parse(schedule.getRealExecDate() + " " + dfsj).getTime()); |
| 103 | schedule.setDfsj(dfsj); | 102 | schedule.setDfsj(dfsj); |
| 104 | - schedule.addRemarks(remarks + ";"); | 103 | + schedule.addRemarks(remarks); |
| 105 | schedule.setClZbh(nbbm); | 104 | schedule.setClZbh(nbbm); |
| 106 | if(jsy != null && jsy.indexOf("/") != -1){ | 105 | if(jsy != null && jsy.indexOf("/") != -1){ |
| 107 | String[] jsyArray = jsy.split("/"); | 106 | String[] jsyArray = jsy.split("/"); |
| @@ -139,16 +138,15 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -139,16 +138,15 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 139 | ScheduleRealInfo schedule = null; | 138 | ScheduleRealInfo schedule = null; |
| 140 | for (String id : idList) { | 139 | for (String id : idList) { |
| 141 | schedule = ScheduleBuffer.pkSchedulMap.get(Long.parseLong(id)); | 140 | schedule = ScheduleBuffer.pkSchedulMap.get(Long.parseLong(id)); |
| 142 | - /*if(schedule.getStatus() == -1){ | 141 | + if(schedule.isDestroy()){ |
| 143 | map.put("status", ResponseCode.ERROR); | 142 | map.put("status", ResponseCode.ERROR); |
| 144 | - map.put("msg", value) | ||
| 145 | - }*/ | ||
| 146 | - if (null != schedule) { | ||
| 147 | - schedule.setStatus(-1); | ||
| 148 | - schedule.addRemarks(remarks); | ||
| 149 | - | ||
| 150 | - rsList.add(schedule); | 143 | + map.put("msg", "不必要的重复烂班!"); |
| 144 | + return map; | ||
| 151 | } | 145 | } |
| 146 | + | ||
| 147 | + schedule.destroy(); | ||
| 148 | + schedule.addRemarks(remarks); | ||
| 149 | + rsList.add(schedule); | ||
| 152 | } | 150 | } |
| 153 | 151 | ||
| 154 | // 调整间隔 | 152 | // 调整间隔 |
| @@ -276,8 +274,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -276,8 +274,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 276 | @Override | 274 | @Override |
| 277 | public Map<String, Object> save(ScheduleRealInfo t) { | 275 | public Map<String, Object> save(ScheduleRealInfo t) { |
| 278 | SysUser user = SecurityUtils.getCurrentUser(); | 276 | SysUser user = SecurityUtils.getCurrentUser(); |
| 279 | - | ||
| 280 | - t.setScheduleDate(new Date()); | 277 | + Date d = new Date(); |
| 278 | + | ||
| 279 | + t.setScheduleDate(d); | ||
| 280 | + t.setRealExecDate(sdfMonth.format(d)); | ||
| 281 | t.setCreateBy(user); | 281 | t.setCreateBy(user); |
| 282 | t.syncTime(); | 282 | t.syncTime(); |
| 283 | t.setSflj(true); | 283 | t.setSflj(true); |
| @@ -465,9 +465,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -465,9 +465,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 465 | Map<String, Object> rs = new HashMap<>(); | 465 | Map<String, Object> rs = new HashMap<>(); |
| 466 | try { | 466 | try { |
| 467 | ScheduleRealInfo sch = ScheduleBuffer.findOne(id); | 467 | ScheduleRealInfo sch = ScheduleBuffer.findOne(id); |
| 468 | - String rq = sdfMonth.format(sch.getRealExecDate()); | ||
| 469 | 468 | ||
| 470 | - sch.setFcsjActualTime(sdfMinute.parse(rq + " " + fcsjActual).getTime()); | 469 | + sch.setFcsjActualTime(sdfMinute.parse(sch.getRealExecDate() + " " + fcsjActual).getTime()); |
| 471 | sch.setFcsjActual(fcsjActual); | 470 | sch.setFcsjActual(fcsjActual); |
| 472 | sch.addRemarks(remarks); | 471 | sch.addRemarks(remarks); |
| 473 | //改变状态 | 472 | //改变状态 |
| @@ -614,33 +613,43 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -614,33 +613,43 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 614 | sch.setBcType(bcType); | 613 | sch.setBcType(bcType); |
| 615 | sch.setClZbh(clZbh); | 614 | sch.setClZbh(clZbh); |
| 616 | sch.setFcsjAll(fcsj); | 615 | sch.setFcsjAll(fcsj); |
| 616 | + | ||
| 617 | if(StringUtils.isNotBlank(fcsjActual)){ | 617 | if(StringUtils.isNotBlank(fcsjActual)){ |
| 618 | //调整实发 | 618 | //调整实发 |
| 619 | - sch.setFcsjActualAll(fcsjActual); | ||
| 620 | - sch.setStatus(1); | 619 | + if(!fcsjActual.equals(sch.getFcsjActual())) |
| 620 | + sch.setFcsjActualAll(fcsjActual); | ||
| 621 | } | 621 | } |
| 622 | else{ | 622 | else{ |
| 623 | sch.setFcsjActual(null); | 623 | sch.setFcsjActual(null); |
| 624 | sch.setFcsjActualTime(null); | 624 | sch.setFcsjActualTime(null); |
| 625 | } | 625 | } |
| 626 | 626 | ||
| 627 | + //实达时间 | ||
| 627 | if(StringUtils.isNotBlank(zdsjActual)){ | 628 | if(StringUtils.isNotBlank(zdsjActual)){ |
| 628 | - //调整实达 | ||
| 629 | - sch.setZdsjActualAll(zdsjActual); | ||
| 630 | - sch.setStatus(2); | ||
| 631 | - //下一班次起点到达 | ||
| 632 | - ScheduleRealInfo next = ScheduleBuffer.getNext(sch); | ||
| 633 | - next.setQdzArrDateSJ(zdsjActual); | ||
| 634 | - rs.put("nextSch", next); | 629 | + if(!zdsjActual.equals(sch.getZdsjActual())){ |
| 630 | + //调整实达 | ||
| 631 | + sch.setZdsjActualAll(zdsjActual); | ||
| 632 | + //下一班次起点到达时间 | ||
| 633 | + ScheduleRealInfo next = ScheduleBuffer.getNext(sch); | ||
| 634 | + next.setQdzArrDateSJ(zdsjActual); | ||
| 635 | + rs.put("nextSch", next); | ||
| 636 | + } | ||
| 635 | } | 637 | } |
| 636 | - else{ | 638 | + else /*if(StringUtils.isNotBlank(sch.getZdsjActual()))*/{ |
| 639 | + //清除实达时间 | ||
| 637 | sch.setZdsjActual(null); | 640 | sch.setZdsjActual(null); |
| 638 | sch.setZdsjActualTime(null); | 641 | sch.setZdsjActualTime(null); |
| 642 | + //清除下一班次起点到达时间 | ||
| 643 | + ScheduleRealInfo next = ScheduleBuffer.getNext(sch); | ||
| 644 | + next.setQdzArrDateSJ(null); | ||
| 645 | + rs.put("nextSch", next); | ||
| 639 | } | 646 | } |
| 640 | 647 | ||
| 641 | sch.setRemarks(remarks); | 648 | sch.setRemarks(remarks); |
| 642 | } | 649 | } |
| 643 | 650 | ||
| 651 | + //班次状态 | ||
| 652 | + sch.calcStatus(); | ||
| 644 | ScheduleBuffer.persistentList.add(sch); | 653 | ScheduleBuffer.persistentList.add(sch); |
| 645 | 654 | ||
| 646 | rs.put("status", ResponseCode.SUCCESS); | 655 | rs.put("status", ResponseCode.SUCCESS); |
src/main/java/com/bsth/vehicle/directive/service/DirectiveServiceImpl.java
| @@ -85,7 +85,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | @@ -85,7 +85,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<Directive60, Integer> | ||
| 85 | try { | 85 | try { |
| 86 | //如果发车时间距当前时间较远,则不发送 | 86 | //如果发车时间距当前时间较远,则不发送 |
| 87 | if(Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff){ | 87 | if(Math.abs(sch.getFcsjT() - System.currentTimeMillis()) > schDiff){ |
| 88 | - return 0; | 88 | + return -2; |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getFcsjT())) | 91 | String text = "已完成" + finish + "个班次,下一发车时间" + sdfHHmm.format(new Date(sch.getFcsjT())) |
src/main/resources/static/pages/control/line/child_pages/vehicAndper_adjust.html renamed to src/main/resources/static/pages/control/line/child_pages/car_and_persion.html
| @@ -253,7 +253,7 @@ | @@ -253,7 +253,7 @@ | ||
| 253 | syncSubmit(idArray, params ,function(){ | 253 | syncSubmit(idArray, params ,function(){ |
| 254 | layer.closeAll(); | 254 | layer.closeAll(); |
| 255 | layer.msg('操作完成!'); | 255 | layer.msg('操作完成!'); |
| 256 | - //刷新表格 | 256 | + //刷新弹出层表格 |
| 257 | refreshMainList(); | 257 | refreshMainList(); |
| 258 | }); | 258 | }); |
| 259 | }); | 259 | }); |
| @@ -274,7 +274,7 @@ | @@ -274,7 +274,7 @@ | ||
| 274 | $.post('/realSchedule/adjust', data, function(rs){ | 274 | $.post('/realSchedule/adjust', data, function(rs){ |
| 275 | //更新前端缓存 | 275 | //更新前端缓存 |
| 276 | if(rs.status == 200){ | 276 | if(rs.status == 200){ |
| 277 | - _data.updateSchedule(rs.t); | 277 | + _alone.refreshSchedule(rs.t); |
| 278 | } | 278 | } |
| 279 | 279 | ||
| 280 | i ++; | 280 | i ++; |
src/main/resources/static/pages/control/line/child_pages/outgo_adjust_all.html renamed to src/main/resources/static/pages/control/line/child_pages/dfsj_batch.html
src/main/resources/static/pages/control/line/index.html
| @@ -136,14 +136,15 @@ | @@ -136,14 +136,15 @@ | ||
| 136 | <li class="menu-separator"></li> | 136 | <li class="menu-separator"></li> |
| 137 | <li class="menu-item" > | 137 | <li class="menu-item" > |
| 138 | <button type="button" class="menu-btn" data-multi=1 data-method="spaceAdjust"> | 138 | <button type="button" class="menu-btn" data-multi=1 data-method="spaceAdjust"> |
| 139 | - <span class="menu-text">间隔调整</span> | 139 | + <span class="menu-text">待发间隔调整</span> |
| 140 | </button> | 140 | </button> |
| 141 | </li> | 141 | </li> |
| 142 | - <li class="menu-item disabled" > | 142 | + <!-- <li class="menu-item disabled" > |
| 143 | <button type="button" class="menu-btn"> | 143 | <button type="button" class="menu-btn"> |
| 144 | <span class="menu-text">误点调整</span> | 144 | <span class="menu-text">误点调整</span> |
| 145 | </button> | 145 | </button> |
| 146 | - </li> | 146 | + </li> --> |
| 147 | + <li class="menu-separator"></li> | ||
| 147 | <li class="menu-item" > | 148 | <li class="menu-item" > |
| 148 | <button type="button" class="menu-btn" data-method="schInfoFineTune"> | 149 | <button type="button" class="menu-btn" data-method="schInfoFineTune"> |
| 149 | <span class="menu-text">发车信息微调</span> | 150 | <span class="menu-text">发车信息微调</span> |
| @@ -156,13 +157,12 @@ | @@ -156,13 +157,12 @@ | ||
| 156 | <span class="menu-text">临加/子任务</span> | 157 | <span class="menu-text">临加/子任务</span> |
| 157 | </button> | 158 | </button> |
| 158 | </li> | 159 | </li> |
| 159 | - <li class="menu-separator"></li> | ||
| 160 | - <li class="menu-item disabled" > | 160 | +<!-- <li class="menu-item disabled" > |
| 161 | <button type="button" class="menu-btn"> | 161 | <button type="button" class="menu-btn"> |
| 162 | <i class="fa fa-reply-all"></i> | 162 | <i class="fa fa-reply-all"></i> |
| 163 | <span class="menu-text">撤销执行</span> | 163 | <span class="menu-text">撤销执行</span> |
| 164 | </button> | 164 | </button> |
| 165 | - </li> | 165 | + </li> --> |
| 166 | <li class="menu-separator"></li> | 166 | <li class="menu-separator"></li> |
| 167 | <li class="menu-item" > | 167 | <li class="menu-item" > |
| 168 | <button type="button" class="menu-btn" data-method="vehicAndPerAdjust"> | 168 | <button type="button" class="menu-btn" data-method="vehicAndPerAdjust"> |
src/main/resources/static/pages/control/line/js/alone.js
| @@ -49,7 +49,7 @@ var _alone = (function(){ | @@ -49,7 +49,7 @@ var _alone = (function(){ | ||
| 49 | }); | 49 | }); |
| 50 | }, | 50 | }, |
| 51 | //刷新单个班次 | 51 | //刷新单个班次 |
| 52 | - refreshSchedule: function(schedule){ | 52 | + refreshSchedule: function(schedule, isBatch){ |
| 53 | //更新 _data | 53 | //更新 _data |
| 54 | _data.updateSchedule(schedule); | 54 | _data.updateSchedule(schedule); |
| 55 | var tab = '#tab_line_' + schedule.xlBm; | 55 | var tab = '#tab_line_' + schedule.xlBm; |
| @@ -62,16 +62,20 @@ var _alone = (function(){ | @@ -62,16 +62,20 @@ var _alone = (function(){ | ||
| 62 | 62 | ||
| 63 | var type = schedule.xlDir==0?'up':'down'; | 63 | var type = schedule.xlDir==0?'up':'down'; |
| 64 | calculateLineNo($('.pb-table[data-type='+type+']', tab)[0]); | 64 | calculateLineNo($('.pb-table[data-type='+type+']', tab)[0]); |
| 65 | + | ||
| 66 | + if(!isBatch) | ||
| 67 | + goToSch(schedule); | ||
| 65 | }, | 68 | }, |
| 66 | //刷新多个班次,刷新完数据再统一计算行号 | 69 | //刷新多个班次,刷新完数据再统一计算行号 |
| 67 | refreshScheduleArray: function(array){ | 70 | refreshScheduleArray: function(array){ |
| 68 | if(!array || array.length == 0) | 71 | if(!array || array.length == 0) |
| 69 | return; | 72 | return; |
| 70 | $.each(array, function(){ | 73 | $.each(array, function(){ |
| 71 | - aloneObject.refreshSchedule(this); | 74 | + aloneObject.refreshSchedule(this, 1); |
| 72 | }); | 75 | }); |
| 73 | var table = $('tr[data-id='+array[0].id+']').parents('table')[0]; | 76 | var table = $('tr[data-id='+array[0].id+']').parents('table')[0]; |
| 74 | calculateLineNo(table); | 77 | calculateLineNo(table); |
| 78 | + initRemarksPop(); | ||
| 75 | }, | 79 | }, |
| 76 | //将班次所在的表格做全量更新 | 80 | //将班次所在的表格做全量更新 |
| 77 | updateTableBySch: function(schedule){ | 81 | updateTableBySch: function(schedule){ |
| @@ -83,24 +87,24 @@ var _alone = (function(){ | @@ -83,24 +87,24 @@ var _alone = (function(){ | ||
| 83 | _data.pushSchedule(this); | 87 | _data.pushSchedule(this); |
| 84 | }); | 88 | }); |
| 85 | 89 | ||
| 86 | - var upDown = xlDir==0?'up':'down'; | 90 | + /*var upDown = xlDir==0?'up':'down'; |
| 87 | var tab = $('#tab_line_' + xlBm); | 91 | var tab = $('#tab_line_' + xlBm); |
| 88 | //重新渲染表格 | 92 | //重新渲染表格 |
| 89 | - var table = tab.find('.pb-table[data-type='+upDown+']'); | 93 | + var table = tab.find('.pb-table[data-type='+upDown+']');*/ |
| 94 | + var table = getTableBySch(sch); | ||
| 90 | var schArray = _data.findSchByLine(xlBm, xlDir); | 95 | var schArray = _data.findSchByLine(xlBm, xlDir); |
| 91 | calculateLineNo( | 96 | calculateLineNo( |
| 92 | table.find('tbody').html(template('alone_plan_table_temp', {list: schArray}))[0] | 97 | table.find('tbody').html(template('alone_plan_table_temp', {list: schArray}))[0] |
| 93 | ); | 98 | ); |
| 94 | 99 | ||
| 95 | - var half = tab.find('._body').height() / 2; | ||
| 96 | - | ||
| 97 | //定位到新添加的班次 | 100 | //定位到新添加的班次 |
| 98 | - var currTr = table.find('tr[data-id='+schedule.id+']') | 101 | + goToSch(schedule); |
| 102 | + /*var currTr = table.find('tr[data-id='+schedule.id+']') | ||
| 99 | ,top = parseInt(currTr.find('td[name=lineNo]').text()) * 37 - half; | 103 | ,top = parseInt(currTr.find('td[name=lineNo]').text()) * 37 - half; |
| 100 | 104 | ||
| 101 | top = top>0?top:0; | 105 | top = top>0?top:0; |
| 102 | currTr.addClass('anim-delay animated flash'); | 106 | currTr.addClass('anim-delay animated flash'); |
| 103 | - currTr.parents('._body').slimScroll({ scrollTo: top + 'px' }); | 107 | + currTr.parents('._body').slimScroll({ scrollTo: top + 'px' });*/ |
| 104 | }); | 108 | }); |
| 105 | }, | 109 | }, |
| 106 | update2Table: function(xlBm, schedule){ | 110 | update2Table: function(xlBm, schedule){ |
| @@ -113,7 +117,7 @@ var _alone = (function(){ | @@ -113,7 +117,7 @@ var _alone = (function(){ | ||
| 113 | 117 | ||
| 114 | var rs = splitDir(array) | 118 | var rs = splitDir(array) |
| 115 | ,tab = $('#tab_line_' + xlBm) | 119 | ,tab = $('#tab_line_' + xlBm) |
| 116 | - ,half = tab.find('._body').height() / 2; | 120 | + /*,half = tab.find('._body').height() / 2*/; |
| 117 | //填充表格数据 | 121 | //填充表格数据 |
| 118 | calculateLineNo( | 122 | calculateLineNo( |
| 119 | //上行 | 123 | //上行 |
| @@ -123,19 +127,40 @@ var _alone = (function(){ | @@ -123,19 +127,40 @@ var _alone = (function(){ | ||
| 123 | //下行 | 127 | //下行 |
| 124 | tab.find('table[data-type=down] tbody').html(template('alone_plan_table_temp', {list: rs.down}))[0] | 128 | tab.find('table[data-type=down] tbody').html(template('alone_plan_table_temp', {list: rs.down}))[0] |
| 125 | ); | 129 | ); |
| 130 | + | ||
| 126 | //定位到指定的班次 | 131 | //定位到指定的班次 |
| 127 | - var currTr = tab.find('tr[data-id='+schedule.id+']') | 132 | + goToSch(schedule); |
| 133 | + /*var currTr = tab.find('tr[data-id='+schedule.id+']') | ||
| 128 | ,top = parseInt(currTr.find('td[name=lineNo]').text()) * 37 - half; | 134 | ,top = parseInt(currTr.find('td[name=lineNo]').text()) * 37 - half; |
| 129 | 135 | ||
| 130 | top = top>0?top:0; | 136 | top = top>0?top:0; |
| 131 | currTr.addClass('anim-delay animated flash'); | 137 | currTr.addClass('anim-delay animated flash'); |
| 132 | - currTr.parents('._body').slimScroll({ scrollTo: top + 'px' }); | 138 | + currTr.parents('._body').slimScroll({ scrollTo: top + 'px' });*/ |
| 133 | }); | 139 | }); |
| 134 | }, | 140 | }, |
| 135 | //重新计算行号 | 141 | //重新计算行号 |
| 136 | calculateLineNo: calculateLineNo | 142 | calculateLineNo: calculateLineNo |
| 137 | } | 143 | } |
| 138 | 144 | ||
| 145 | + //获取班次所在table | ||
| 146 | + function getTableBySch(sch){ | ||
| 147 | + var upDown = sch.xlDir==0?'up':'down'; | ||
| 148 | + var tab = $('#tab_line_' + sch.xlBm); | ||
| 149 | + return tab.find('.pb-table[data-type='+upDown+']'); | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + //定位到班次所在的行 | ||
| 153 | + function goToSch(sch){ | ||
| 154 | + var table = getTableBySch(sch) | ||
| 155 | + ,half = table.parents('._body').height() / 2 | ||
| 156 | + ,currTr = table.find('tr[data-id='+sch.id+']') | ||
| 157 | + ,top = parseInt(currTr.find('td[name=lineNo]').text()) * 37 - half; | ||
| 158 | + | ||
| 159 | + top = top>0?top:0; | ||
| 160 | + currTr.addClass('anim-delay animated flash'); | ||
| 161 | + currTr.parents('._body').slimScroll({ scrollTo: top + 'px' }); | ||
| 162 | + } | ||
| 163 | + | ||
| 139 | //计算行号 | 164 | //计算行号 |
| 140 | function calculateLineNo(table){ | 165 | function calculateLineNo(table){ |
| 141 | var rows = table.rows; | 166 | var rows = table.rows; |
src/main/resources/static/pages/control/line/js/main.js
| @@ -83,12 +83,9 @@ | @@ -83,12 +83,9 @@ | ||
| 83 | setTimeout(function(){ | 83 | setTimeout(function(){ |
| 84 | //打开GPS定时刷新 | 84 | //打开GPS定时刷新 |
| 85 | _data.startRefreshGpsTimer(); | 85 | _data.startRefreshGpsTimer(); |
| 86 | - | ||
| 87 | - setTimeout(function(){ | ||
| 88 | - //去掉loading | ||
| 89 | - $('.load-anim').fadeOut(); | ||
| 90 | - $('menu.menu').show(); | ||
| 91 | - }, 100); | 86 | + //去掉loading |
| 87 | + $('.load-anim').fadeOut(); | ||
| 88 | + $('menu.menu').show(); | ||
| 92 | }, 400); | 89 | }, 400); |
| 93 | 90 | ||
| 94 | } | 91 | } |
src/main/resources/static/pages/control/line/js/rightMenu.js
| @@ -83,11 +83,15 @@ var _menu = (function() { | @@ -83,11 +83,15 @@ var _menu = (function() { | ||
| 83 | 83 | ||
| 84 | }); | 84 | }); |
| 85 | 85 | ||
| 86 | + function msg_ct(t){ | ||
| 87 | + layer.msg(t,{offset: 'ct', shift : 5}); | ||
| 88 | + } | ||
| 89 | + | ||
| 86 | //点击路牌 | 90 | //点击路牌 |
| 87 | var lps = '.pb-table.data tr td[data-name=lpName]'; | 91 | var lps = '.pb-table.data tr td[data-name=lpName]'; |
| 88 | $('.portlet-fullscreen').on('click', lps, function(e){ | 92 | $('.portlet-fullscreen').on('click', lps, function(e){ |
| 89 | var lp = $(this).text(); | 93 | var lp = $(this).text(); |
| 90 | - layer.msg('高亮路牌:' + lp + '',{offset: 'ct', shift : 5}); | 94 | + msg_ct('高亮路牌:' + lp); |
| 91 | var lineCode = $(this).parents('.tab-pane').data('id'); | 95 | var lineCode = $(this).parents('.tab-pane').data('id'); |
| 92 | var schArray = _data.getLineLpMap()[lineCode][lp]; | 96 | var schArray = _data.getLineLpMap()[lineCode][lp]; |
| 93 | 97 | ||
| @@ -124,7 +128,7 @@ var _menu = (function() { | @@ -124,7 +128,7 @@ var _menu = (function() { | ||
| 124 | ,sch = _data.getSchedulById(schId); | 128 | ,sch = _data.getSchedulById(schId); |
| 125 | 129 | ||
| 126 | var scroll = false; | 130 | var scroll = false; |
| 127 | - console.log(_data.findByCl(clnbbm)); | 131 | + |
| 128 | $.each(_data.findByCl(clnbbm), function(){ | 132 | $.each(_data.findByCl(clnbbm), function(){ |
| 129 | if(scroll){ | 133 | if(scroll){ |
| 130 | var nextTr = $('tr[data-id='+this.id+']'); | 134 | var nextTr = $('tr[data-id='+this.id+']'); |
| @@ -235,7 +239,7 @@ var _menu = (function() { | @@ -235,7 +239,7 @@ var _menu = (function() { | ||
| 235 | $post('/realSchedule/outgoAdjust', params, function(rs){ | 239 | $post('/realSchedule/outgoAdjust', params, function(rs){ |
| 236 | layer.close(index); | 240 | layer.close(index); |
| 237 | if(rs.t){ | 241 | if(rs.t){ |
| 238 | - layer.msg('调整成功!'); | 242 | + msg_ct('调整成功!'); |
| 239 | _alone.refreshSchedule(rs.t); | 243 | _alone.refreshSchedule(rs.t); |
| 240 | } | 244 | } |
| 241 | }); | 245 | }); |
| @@ -245,10 +249,10 @@ var _menu = (function() { | @@ -245,10 +249,10 @@ var _menu = (function() { | ||
| 245 | }, | 249 | }, |
| 246 | //计划烂班 | 250 | //计划烂班 |
| 247 | planDestroy: function(schedul){ | 251 | planDestroy: function(schedul){ |
| 248 | - /*if(schedul.status == -1){ | ||
| 249 | - layer.alert('不能重复烂班!', {icon: 2, title: '提示', shift: 5}); | 252 | + if(schedul.status == -1){ |
| 253 | + layer.alert('没必要做重复烂班!', {icon: 2, title: '提示', shift: 5}); | ||
| 250 | return; | 254 | return; |
| 251 | - }*/ | 255 | + } |
| 252 | var array = []; | 256 | var array = []; |
| 253 | //获取未烂班的班次 | 257 | //获取未烂班的班次 |
| 254 | $.each(_data.getSchedulByVeh(schedul.clZbh),function(){ | 258 | $.each(_data.getSchedulByVeh(schedul.clZbh),function(){ |
| @@ -325,7 +329,7 @@ var _menu = (function() { | @@ -325,7 +329,7 @@ var _menu = (function() { | ||
| 325 | layer.close(index); | 329 | layer.close(index); |
| 326 | //刷新数据 | 330 | //刷新数据 |
| 327 | _alone.refreshScheduleArray(rs.list); | 331 | _alone.refreshScheduleArray(rs.list); |
| 328 | - layer.msg('计划烂班成功!'); | 332 | + msg_ct('计划烂班成功!'); |
| 329 | }); | 333 | }); |
| 330 | }); | 334 | }); |
| 331 | return false; | 335 | return false; |
| @@ -354,7 +358,7 @@ var _menu = (function() { | @@ -354,7 +358,7 @@ var _menu = (function() { | ||
| 354 | $post('/realSchedule/realOutAdjust', params | 358 | $post('/realSchedule/realOutAdjust', params |
| 355 | ,function(rs){ | 359 | ,function(rs){ |
| 356 | if(rs.t){ | 360 | if(rs.t){ |
| 357 | - layer.msg('实发调整成功!'); | 361 | + msg_ct('实发调整成功!'); |
| 358 | //更新前端数据 | 362 | //更新前端数据 |
| 359 | _alone.refreshSchedule(rs.t); | 363 | _alone.refreshSchedule(rs.t); |
| 360 | } | 364 | } |
| @@ -372,7 +376,7 @@ var _menu = (function() { | @@ -372,7 +376,7 @@ var _menu = (function() { | ||
| 372 | }, function(){ | 376 | }, function(){ |
| 373 | $post('/realSchedule/revokeRealOutgo', {id: schedul.id}, function(rs){ | 377 | $post('/realSchedule/revokeRealOutgo', {id: schedul.id}, function(rs){ |
| 374 | if(rs.t){ | 378 | if(rs.t){ |
| 375 | - layer.msg('撤销实发成功!'); | 379 | + msg_ct('撤销实发成功!'); |
| 376 | //更新前端数据 | 380 | //更新前端数据 |
| 377 | _alone.refreshSchedule(rs.t); | 381 | _alone.refreshSchedule(rs.t); |
| 378 | } | 382 | } |
| @@ -388,7 +392,7 @@ var _menu = (function() { | @@ -388,7 +392,7 @@ var _menu = (function() { | ||
| 388 | }, function(){ | 392 | }, function(){ |
| 389 | $post('/realSchedule/revokeDestroy', {id: schedul.id}, function(rs){ | 393 | $post('/realSchedule/revokeDestroy', {id: schedul.id}, function(rs){ |
| 390 | if(rs.t){ | 394 | if(rs.t){ |
| 391 | - layer.msg('撤销烂班成功!'); | 395 | + msg_ct('撤销烂班成功!'); |
| 392 | //更新前端数据 | 396 | //更新前端数据 |
| 393 | _alone.refreshSchedule(rs.t); | 397 | _alone.refreshSchedule(rs.t); |
| 394 | } | 398 | } |
| @@ -415,7 +419,7 @@ var _menu = (function() { | @@ -415,7 +419,7 @@ var _menu = (function() { | ||
| 415 | || rs.status == 200){ | 419 | || rs.status == 200){ |
| 416 | //刷新数据 | 420 | //刷新数据 |
| 417 | _alone.refreshScheduleArray(rs.list); | 421 | _alone.refreshScheduleArray(rs.list); |
| 418 | - layer.msg('调整间隔成功!'); | 422 | + msg_ct('调整间隔成功!'); |
| 419 | } | 423 | } |
| 420 | }, | 424 | }, |
| 421 | error: errorHandle | 425 | error: errorHandle |
| @@ -451,7 +455,7 @@ var _menu = (function() { | @@ -451,7 +455,7 @@ var _menu = (function() { | ||
| 451 | }, | 455 | }, |
| 452 | //调整人车 | 456 | //调整人车 |
| 453 | vehicAndPerAdjust: function(schedul){ | 457 | vehicAndPerAdjust: function(schedul){ |
| 454 | - $.get('/pages/control/line/child_pages/vehicAndper_adjust.html', function(content){ | 458 | + $.get('/pages/control/line/child_pages/car_and_persion.html', function(content){ |
| 455 | layer.open({ | 459 | layer.open({ |
| 456 | type: 1, | 460 | type: 1, |
| 457 | area: '730px', | 461 | area: '730px', |
| @@ -483,7 +487,10 @@ var _menu = (function() { | @@ -483,7 +487,10 @@ var _menu = (function() { | ||
| 483 | $.post('/directive/dispatch', {id: schedul.id}, | 487 | $.post('/directive/dispatch', {id: schedul.id}, |
| 484 | function(code){ | 488 | function(code){ |
| 485 | if(code == 0){ | 489 | if(code == 0){ |
| 486 | - layer.msg('发送成功'); | 490 | + msg_ct('发送成功'); |
| 491 | + } | ||
| 492 | + else if(code == -2){ | ||
| 493 | + layer.alert('该班次发车时间距离当前时间较远,系统阻止了该调度指令的下发。', {icon: 2, title: '被拦截的指令'}); | ||
| 487 | } | 494 | } |
| 488 | else | 495 | else |
| 489 | layer.alert('发送调度指令失败', {icon: 2, title: '操作失败'}); | 496 | layer.alert('发送调度指令失败', {icon: 2, title: '操作失败'}); |
| @@ -494,7 +501,7 @@ var _menu = (function() { | @@ -494,7 +501,7 @@ var _menu = (function() { | ||
| 494 | schInfoFineTune: function(schedul){ | 501 | schInfoFineTune: function(schedul){ |
| 495 | var index = layer.open({ | 502 | var index = layer.open({ |
| 496 | type: 1, | 503 | type: 1, |
| 497 | - area: '630px', | 504 | + area: '680px', |
| 498 | maxmin: true, | 505 | maxmin: true, |
| 499 | content: template('schinfo_fine_tune_temp', schedul), | 506 | content: template('schinfo_fine_tune_temp', schedul), |
| 500 | shift: 5, | 507 | shift: 5, |
| @@ -550,7 +557,7 @@ var _menu = (function() { | @@ -550,7 +557,7 @@ var _menu = (function() { | ||
| 550 | }, | 557 | }, |
| 551 | //基于车辆的待发调整 | 558 | //基于车辆的待发调整 |
| 552 | outgoAdjustAll: function(schedul){ | 559 | outgoAdjustAll: function(schedul){ |
| 553 | - $.get('/pages/control/line/child_pages/outgo_adjust_all.html', function(content){ | 560 | + $.get('/pages/control/line/child_pages/dfsj_batch.html', function(content){ |
| 554 | layer.open({ | 561 | layer.open({ |
| 555 | type: 1, | 562 | type: 1, |
| 556 | area: '830px', | 563 | area: '830px', |
src/main/resources/static/pages/control/line/temps/alone_tp.html
| @@ -136,7 +136,7 @@ | @@ -136,7 +136,7 @@ | ||
| 136 | <td data-name="dfsj" data-time="{{item.zdsjT}}">{{item.dfsj}}</td> | 136 | <td data-name="dfsj" data-time="{{item.zdsjT}}">{{item.dfsj}}</td> |
| 137 | 137 | ||
| 138 | {{if item.status == -1}} | 138 | {{if item.status == -1}} |
| 139 | - <td class="tl-qrlb sfsj-item">烂班</td> | 139 | + <td class="tl-qrlb sfsj-item" >烂班</td> |
| 140 | 140 | ||
| 141 | {{else if item.status == 2}} | 141 | {{else if item.status == 2}} |
| 142 | <td data-name="sjfcsj" class="tl-yzx sfsj-item">{{item.fcsjActual == null?"?":item.fcsjActual}}<span class="fcsj-diff">{{item.fcsj_diff}}</span></td> | 142 | <td data-name="sjfcsj" class="tl-yzx sfsj-item">{{item.fcsjActual == null?"?":item.fcsjActual}}<span class="fcsj-diff">{{item.fcsj_diff}}</span></td> |
| @@ -149,8 +149,8 @@ | @@ -149,8 +149,8 @@ | ||
| 149 | {{/if}} | 149 | {{/if}} |
| 150 | 150 | ||
| 151 | <td class="hide-lt-1080" data-name="remarks"> | 151 | <td class="hide-lt-1080" data-name="remarks"> |
| 152 | - {{if item.remarks != null && item.length > 0}} | ||
| 153 | - <a class="remarks-popover" href="javascript:;" data-toggle="popover" data-content="{{item.remarks}}" >备注...</a> | 152 | + {{if item.remarks != null && item.remarks.length > 0}} |
| 153 | + <a class="remarks-popover" href="javascript:;" data-toggle="popover" data-content="{{item.remarks}}" >查看...</a> | ||
| 154 | {{/if}} | 154 | {{/if}} |
| 155 | </td> | 155 | </td> |
| 156 | <!--<td><a href="javascript:;">主</a></td>--> | 156 | <!--<td><a href="javascript:;">主</a></td>--> |
src/main/resources/static/pages/mapmonitor/real/js/real.js
| @@ -41,9 +41,9 @@ | @@ -41,9 +41,9 @@ | ||
| 41 | } | 41 | } |
| 42 | var method = $(this).data('click'); | 42 | var method = $(this).data('click'); |
| 43 | 43 | ||
| 44 | - /*if (!method || playAnimation) | 44 | + if (!method /*|| playAnimation*/) |
| 45 | return; | 45 | return; |
| 46 | - playAnimation = true;*/ | 46 | + //playAnimation = true; |
| 47 | 47 | ||
| 48 | $('.mapTools').addClass('disable'); | 48 | $('.mapTools').addClass('disable'); |
| 49 | $('.mapTools div.item.active').removeClass('active'); | 49 | $('.mapTools div.item.active').removeClass('active'); |
src/main/resources/static/pages/mapmonitor/real/js/vehicle.js
| @@ -4,6 +4,10 @@ | @@ -4,6 +4,10 @@ | ||
| 4 | 4 | ||
| 5 | var vehiclePanel = (function() { | 5 | var vehiclePanel = (function() { |
| 6 | 6 | ||
| 7 | + //设备号和marker映射 | ||
| 8 | + var gpsMarker = {} | ||
| 9 | + ,cLineCode;// 当前线路编码 | ||
| 10 | + | ||
| 7 | function getCurrMap(){ | 11 | function getCurrMap(){ |
| 8 | return realMap[realMap.getMap().fName]; | 12 | return realMap[realMap.getMap().fName]; |
| 9 | } | 13 | } |
| @@ -16,6 +20,7 @@ var vehiclePanel = (function() { | @@ -16,6 +20,7 @@ var vehiclePanel = (function() { | ||
| 16 | // 手风琴收拢 | 20 | // 手风琴收拢 |
| 17 | $('.mapRightWrap').on('hide.bs.collapse', '.panel-collapse', function() { | 21 | $('.mapRightWrap').on('hide.bs.collapse', '.panel-collapse', function() { |
| 18 | $(this).prev().find('span.icon').addClass('rotate'); | 22 | $(this).prev().find('span.icon').addClass('rotate'); |
| 23 | + cLineCode = null; | ||
| 19 | }); | 24 | }); |
| 20 | 25 | ||
| 21 | // 手风琴展开 | 26 | // 手风琴展开 |
| @@ -24,16 +29,19 @@ var vehiclePanel = (function() { | @@ -24,16 +29,19 @@ var vehiclePanel = (function() { | ||
| 24 | var lineCode = $(this).data('line'); | 29 | var lineCode = $(this).data('line'); |
| 25 | //收拢其他 | 30 | //收拢其他 |
| 26 | closeAll(); | 31 | closeAll(); |
| 32 | + cLineCode = lineCode; | ||
| 27 | drawLineAndGps(lineCode); | 33 | drawLineAndGps(lineCode); |
| 28 | }); | 34 | }); |
| 29 | 35 | ||
| 30 | //绘制线路和GPS | 36 | //绘制线路和GPS |
| 31 | function drawLineAndGps(lineCode){ | 37 | function drawLineAndGps(lineCode){ |
| 32 | //过滤出该线路的GPS点 | 38 | //过滤出该线路的GPS点 |
| 33 | - var showList = []; | 39 | + var showList = [], gps; |
| 34 | if(lineGps[lineCode]){ | 40 | if(lineGps[lineCode]){ |
| 35 | $.each(lineGps[lineCode], function(){ | 41 | $.each(lineGps[lineCode], function(){ |
| 36 | - showList.push(allGps[this]); | 42 | + gps = allGps[this]; |
| 43 | + showList.push(gps); | ||
| 44 | + gpsMarker[gps.deviceId] = gps; | ||
| 37 | }); | 45 | }); |
| 38 | } | 46 | } |
| 39 | //显示车辆列表 | 47 | //显示车辆列表 |
| @@ -76,6 +84,7 @@ var vehiclePanel = (function() { | @@ -76,6 +84,7 @@ var vehiclePanel = (function() { | ||
| 76 | if(up) | 84 | if(up) |
| 77 | temp = temp.concat(up); | 85 | temp = temp.concat(up); |
| 78 | 86 | ||
| 87 | + var gps; | ||
| 79 | if(!$(this).is(":hidden")){ | 88 | if(!$(this).is(":hidden")){ |
| 80 | $.each(temp, function(){ | 89 | $.each(temp, function(){ |
| 81 | allGps[this.deviceId] = this; | 90 | allGps[this.deviceId] = this; |
| @@ -88,6 +97,17 @@ var vehiclePanel = (function() { | @@ -88,6 +97,17 @@ var vehiclePanel = (function() { | ||
| 88 | lineGps[this.lineId].push(this.deviceId); | 97 | lineGps[this.lineId].push(this.deviceId); |
| 89 | }) | 98 | }) |
| 90 | } | 99 | } |
| 100 | + | ||
| 101 | + //先暂时重绘,后面再优化 | ||
| 102 | + if(cLineCode){ | ||
| 103 | + var showList = []; | ||
| 104 | + if(lineGps[cLineCode]){ | ||
| 105 | + $.each(lineGps[cLineCode], function(){ | ||
| 106 | + showList.push(allGps[this]); | ||
| 107 | + }); | ||
| 108 | + } | ||
| 109 | + mapObj.drawGpsMarker(showList); | ||
| 110 | + } | ||
| 91 | }); | 111 | }); |
| 92 | 112 | ||
| 93 | var exports = { | 113 | var exports = { |