Commit 01d02c94ef36c3108fa4ce8424bf19320d1ba32e
1 parent
a2e42fe9
智能调度发车间隔、误点、满载、大间隔
Showing
14 changed files
with
1796 additions
and
205 deletions
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -884,14 +884,4 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 884 | 884 | |
| 885 | 885 | return res; |
| 886 | 886 | } |
| 887 | - | |
| 888 | - /** | |
| 889 | - * 智能调度大间隔临加班次 | |
| 890 | - * @param ids | |
| 891 | - * @return | |
| 892 | - */ | |
| 893 | - @RequestMapping(value = "thissch/{id}", method = RequestMethod.POST) | |
| 894 | - public ScheduleRealInfo thissch(@RequestParam Integer id){ | |
| 895 | - return scheduleRealInfoService.thissch(id); | |
| 896 | - } | |
| 897 | 887 | } | ... | ... |
src/main/java/com/bsth/controller/zndd/LoggerZnddController.java
| ... | ... | @@ -18,7 +18,6 @@ public class LoggerZnddController extends BaseController<LoggerZndd, Integer> { |
| 18 | 18 | |
| 19 | 19 | @RequestMapping("listall") |
| 20 | 20 | public List<Map<String, Object>> listAll(@RequestParam Map<String, Object> map){ |
| 21 | - | |
| 22 | 21 | return loggerZnddService.listAll(map); |
| 23 | 22 | } |
| 24 | 23 | |
| ... | ... | @@ -28,4 +27,21 @@ public class LoggerZnddController extends BaseController<LoggerZndd, Integer> { |
| 28 | 27 | return loggerZnddService.schlist(lineCode,dir); |
| 29 | 28 | } |
| 30 | 29 | |
| 30 | + | |
| 31 | + @RequestMapping(value = "/znddConfig", method = RequestMethod.POST) | |
| 32 | + public Map<String, Object> znddConfig(@RequestParam Map<String, Object> map){ | |
| 33 | + return loggerZnddService.znddConfig(map); | |
| 34 | + } | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 智能调度大间隔临加班次 | |
| 40 | + * @param id | |
| 41 | + * @return | |
| 42 | + */ | |
| 43 | + @RequestMapping(value = "thissch/{id}", method = RequestMethod.POST) | |
| 44 | + public ScheduleRealInfo thissch(@PathVariable("id") Integer id){ | |
| 45 | + return loggerZnddService.thissch(id); | |
| 46 | + } | |
| 31 | 47 | } | ... | ... |
src/main/java/com/bsth/data/zndd/AutomaticSch.java
| ... | ... | @@ -64,7 +64,7 @@ public class AutomaticSch { |
| 64 | 64 | // 当日60指令缓存 |
| 65 | 65 | private ConcurrentMap<Integer, D60> d60Map = new ConcurrentHashMap<>();//d60map |
| 66 | 66 | |
| 67 | - String urldkl = "http://10.10.200.202:5580/monitor/api/getMonitorInfoByDay?key=1&solt=1111&t=1&dayStr=2024-07-23"; //大间隔接口 | |
| 67 | + String urldkl = "http://10.10.200.202:5580/monitor/api/getMonitorInfoByDay?key=1&solt=1111&t=1&dayStr=2024-10-23"; //大间隔接口 | |
| 68 | 68 | |
| 69 | 69 | //http://10.10.200.201:8083/wxk-prod-api/service-api/lggj/schedule/drByInfo 维修接口 |
| 70 | 70 | |
| ... | ... | @@ -73,8 +73,9 @@ public class AutomaticSch { |
| 73 | 73 | //满载 |
| 74 | 74 | public void mz(){ |
| 75 | 75 | try { |
| 76 | - ScheduleRealInfo sr = dayOfSchedule.executeCurr("S0R-054"); | |
| 77 | - ts(addStationPeople(sr, "MZ", 0L));//第二种 设备未离线 出站时间内未出站 | |
| 76 | + | |
| 77 | + List<ScheduleRealInfo> sr = dayOfSchedule.findByBcType("W1Q-006","normal"); | |
| 78 | + ts(addStationPeople(sr.get(5), "MZ", 0L));//第二种 设备未离线 出站时间内未出站 | |
| 78 | 79 | } |
| 79 | 80 | catch (Exception e){ |
| 80 | 81 | logger.error("满载------------------",e); |
| ... | ... | @@ -82,7 +83,7 @@ public class AutomaticSch { |
| 82 | 83 | } |
| 83 | 84 | |
| 84 | 85 | //大间隔的情况 |
| 85 | - public void dfTz(){ | |
| 86 | + public void dfTz(int k ){ | |
| 86 | 87 | try{ |
| 87 | 88 | StringBuilder sb = HttpClientUtils.get(urldkl /*+ sdfMonth.format(new Date())*/); |
| 88 | 89 | if (sb == null) |
| ... | ... | @@ -97,8 +98,12 @@ public class AutomaticSch { |
| 97 | 98 | }else { |
| 98 | 99 | continue; |
| 99 | 100 | } |
| 101 | + if (k == 0 && lg.getlGType() == 0){ | |
| 102 | + ts(ConvertDJK(lg,sch,"FCJG")); | |
| 103 | + }else { | |
| 104 | + ts(ConvertDJK(lg,sch,"DJG")); | |
| 105 | + } | |
| 100 | 106 | |
| 101 | - ts(ConvertDJK(lg,sch)); | |
| 102 | 107 | } |
| 103 | 108 | |
| 104 | 109 | }catch (Exception e){ |
| ... | ... | @@ -114,9 +119,7 @@ public class AutomaticSch { |
| 114 | 119 | if (m != null) { |
| 115 | 120 | if (Integer.valueOf(m.get("num").toString()) > 15) { |
| 116 | 121 | //超过10的时候 判断为大客流 |
| 117 | - | |
| 118 | 122 | ts(ConvertDKL(m)); |
| 119 | - | |
| 120 | 123 | } |
| 121 | 124 | } |
| 122 | 125 | |
| ... | ... | @@ -326,7 +329,7 @@ public class AutomaticSch { |
| 326 | 329 | if(StringUtils.isEmpty(sch.getQdzArrDatesj())){ |
| 327 | 330 | ScheduleRealInfo prev = dayOfSchedule.prev(sch); |
| 328 | 331 | //上一个班次也没有实际终点到达时间 |
| 329 | - if(prev != null && StringUtils.isEmpty(prev.getZdsjActual())){ | |
| 332 | + if(prev != null && StringUtils.isEmpty(prev.getZdsjActual()) && (sch.getBcType().equals("normal")|| sch.getBcType().equals("region"))){ | |
| 330 | 333 | //进入误点调整程序 |
| 331 | 334 | LateAdjustHandle.putLate(sch); |
| 332 | 335 | List<Map> dzList = carMonitor.carMonitor(prev.getXlBm(), prev.getXlDir(), prev.getZdzCode()); //信息发布接口 |
| ... | ... | @@ -381,14 +384,14 @@ public class AutomaticSch { |
| 381 | 384 | |
| 382 | 385 | |
| 383 | 386 | //大间隔数据转换 |
| 384 | - public Map ConvertDJK(LargeGap lg,ScheduleRealInfo sch){ | |
| 387 | + public Map ConvertDJK(LargeGap lg,ScheduleRealInfo sch,String type){ | |
| 385 | 388 | Map sp = new HashMap(); |
| 386 | 389 | sp.put("uuid",UUID()); |
| 387 | 390 | sp.put("lineCode",lg.getLineCode()); |
| 388 | 391 | sp.put("lineName",lg.getLineName() ); |
| 389 | 392 | sp.put("rqStr",lg.getDateStr()); |
| 390 | 393 | sp.put("rq",sdfHHmm.format(lg.getTsTime())); |
| 391 | - sp.put("type","DJG"); | |
| 394 | + sp.put("type",type); | |
| 392 | 395 | sp.put("xlDir",lg.getUpDown()); |
| 393 | 396 | sp.put("numType",lg.getIntervalMinute()); |
| 394 | 397 | sp.put("stationCode",lg.getStationName()); | ... | ... |
src/main/java/com/bsth/data/zndd/ZnddThread.java
| ... | ... | @@ -34,8 +34,6 @@ public class ZnddThread extends Thread{ |
| 34 | 34 | GpsRealData gpsRealData; |
| 35 | 35 | @Autowired |
| 36 | 36 | StationRouteRepository stationRouteRepository; |
| 37 | - /* @Autowired | |
| 38 | - private UserCarCountHandler userCarCountHandler;*/ | |
| 39 | 37 | @Autowired |
| 40 | 38 | OutEntrance outEntrance; |
| 41 | 39 | @Autowired |
| ... | ... | @@ -50,7 +48,7 @@ public class ZnddThread extends Thread{ |
| 50 | 48 | String url = "https://lgapp.bsth.tech:13089/bsth_passengerflow/klbus/currentInsideNum.do"; //车内客流接口 |
| 51 | 49 | |
| 52 | 50 | |
| 53 | - String urldkl = "https://lgapp.bsth.tech:8005//monitor/api/getMonitorInfoByDay?key=1&solt=1111&t=1&dayStr="; //大客流接口 | |
| 51 | + String urldkl = "http://10.10.200.140:13089/bsth_passengerflow/klbus/currentInsideNum.do"; //大客流接口 | |
| 54 | 52 | |
| 55 | 53 | private static SimpleDateFormat sdfHHmm = new SimpleDateFormat("HH:mm"); |
| 56 | 54 | private static SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"); |
| ... | ... | @@ -59,15 +57,20 @@ public class ZnddThread extends Thread{ |
| 59 | 57 | public void run() { |
| 60 | 58 | try { |
| 61 | 59 | List<znddStatus> znddStatusList = (List<znddStatus>) znddStatusRepository.findAll(); |
| 62 | - //FCJG();//发车间隔检查 报价 | |
| 60 | + | |
| 63 | 61 | //GPSDJG();//大间隔 |
| 64 | 62 | // MZ(); //满载 |
| 65 | 63 | //DKL(); //大客流 以接口方式 |
| 66 | 64 | //automaticSch.mz(); |
| 67 | 65 | //automaticSch.dfTz();//大间隔 |
| 68 | 66 | for (znddStatus zs : znddStatusList) { |
| 69 | - | |
| 70 | 67 | if (zs.getOpenStatus().equals("0")) { |
| 68 | + //预案5个 | |
| 69 | + if (zs.getType().equals("fcjg")) { | |
| 70 | + automaticSch.dfTz(0); | |
| 71 | + logger.info("发车间隔执行完毕"); | |
| 72 | + } | |
| 73 | + | |
| 71 | 74 | if (zs.getType().equals("sftz")) { |
| 72 | 75 | automaticSch.sftz();//实发未发 |
| 73 | 76 | logger.info("实发执行完毕"); |
| ... | ... | @@ -85,14 +88,18 @@ public class ZnddThread extends Thread{ |
| 85 | 88 | logger.info("误点执行完毕"); |
| 86 | 89 | } |
| 87 | 90 | if (zs.getType().equals("djg")){ |
| 88 | - automaticSch.dfTz(); | |
| 89 | - logger.info("大间隔执行完毕"); | |
| 91 | + automaticSch.dfTz(1); | |
| 92 | + logger.info("行车大间隔执行完毕"); | |
| 90 | 93 | } |
| 91 | 94 | |
| 92 | 95 | if (zs.getType().equals("dkl")){ |
| 93 | 96 | automaticSch.Dkl(); |
| 94 | 97 | logger.info("大客流执行完毕"); |
| 95 | 98 | } |
| 99 | + if (zs.getType().equals("mz")){ | |
| 100 | + automaticSch.mz(); | |
| 101 | + logger.info("满载执行完毕"); | |
| 102 | + } | |
| 96 | 103 | |
| 97 | 104 | } |
| 98 | 105 | } |
| ... | ... | @@ -137,33 +144,7 @@ public class ZnddThread extends Thread{ |
| 137 | 144 | } |
| 138 | 145 | }*/ |
| 139 | 146 | public void ts(Map m) throws ParseException { |
| 140 | - //记录存一下 --超过当前时间的是否推送? | |
| 141 | - String st = m.get("lineCode")+"_"+m.get("type")+"_"+m.get("rqStr"); | |
| 142 | - Long sj = sdf.parse(m.get("rqStr").toString() +" "+ m.get("rq")).getTime(); | |
| 143 | - List<Long> list = new ArrayList(); | |
| 144 | - //111_DJG_2024-06-24 | |
| 145 | - if (ZnddThread.ZNDDTYPEMAP.get(st) != null ) { | |
| 146 | - list = ZnddThread.ZNDDTYPEMAP.get(st); | |
| 147 | - int i = 0; | |
| 148 | - | |
| 149 | - for (Long s : list){ //推送过的同样情况1小时内 | |
| 150 | - if (Math.abs(s - sj) > (60 * 60 * 1000)){ | |
| 151 | - i ++ ; | |
| 152 | - } | |
| 153 | - } | |
| 154 | - outEntrance.Znddjk(m);//测试推送 | |
| 155 | - if (i == list.size()){ | |
| 156 | - list.add(sj); | |
| 157 | - ZnddThread.ZNDDTYPEMAP.put(st,list);//存记录 | |
| 158 | - outEntrance.Znddjk(m);//推送 | |
| 159 | - } | |
| 160 | - return; | |
| 161 | - }else { | |
| 162 | - list.add(sj); | |
| 163 | - ZnddThread.ZNDDTYPEMAP.put(st,list);//存记录 | |
| 164 | - outEntrance.Znddjk(m);//推送 | |
| 165 | - } | |
| 166 | - | |
| 147 | + outEntrance.Znddjk(m);//测试推送 | |
| 167 | 148 | } |
| 168 | 149 | /* public void ts(Map m) throws ParseException { |
| 169 | 150 | //记录存一下 --超过当前时间的是否推送? |
| ... | ... | @@ -195,8 +176,8 @@ public class ZnddThread extends Thread{ |
| 195 | 176 | |
| 196 | 177 | */ |
| 197 | 178 | |
| 198 | - //发车间隔 | |
| 199 | - /* public void FCJG(){ | |
| 179 | + /* //发车间隔 | |
| 180 | + public void FCJG(){ | |
| 200 | 181 | try { |
| 201 | 182 | //无数据情况下 查看发车间隔配置数据是否正常bsth_c_calc_interval |
| 202 | 183 | List<CalcIntervalDetail> fcjgList = userCarCountHandler.calcLast(); |
| ... | ... | @@ -218,8 +199,8 @@ public class ZnddThread extends Thread{ |
| 218 | 199 | }catch (Exception e){ |
| 219 | 200 | logger.error("发车间隔检测出现出错-----------",e); |
| 220 | 201 | } |
| 221 | - }*/ | |
| 222 | - | |
| 202 | + } | |
| 203 | +*/ | |
| 223 | 204 | |
| 224 | 205 | //转换 |
| 225 | 206 | public Map addStationPeople(ScheduleRealInfo info,String type,Long sst,String sj) throws ParseException{ | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -7042,12 +7042,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 7042 | 7042 | } |
| 7043 | 7043 | }, 0, 10, TimeUnit.MINUTES); |
| 7044 | 7044 | } |
| 7045 | - | |
| 7046 | - | |
| 7047 | - public ScheduleRealInfo thissch(Integer ids){ | |
| 7048 | - return dayOfSchedule.next(dayOfSchedule.get(ids)); | |
| 7049 | - } | |
| 7050 | - | |
| 7051 | 7045 | } |
| 7052 | 7046 | |
| 7053 | 7047 | class AccountMap implements Comparator<Map<String, Object>> { | ... | ... |
src/main/java/com/bsth/service/zndd/LoggerZnddService.java
| ... | ... | @@ -13,4 +13,9 @@ public interface LoggerZnddService extends BaseService<LoggerZndd, Integer> { |
| 13 | 13 | List<Map<String, Object>> listAll(Map<String, Object> map); |
| 14 | 14 | |
| 15 | 15 | public ScheduleRealInfo schlist(String lineCode,Integer dir); |
| 16 | + | |
| 17 | + public Map<String, Object> znddConfig(Map<String, Object> map); | |
| 18 | + | |
| 19 | + | |
| 20 | + ScheduleRealInfo thissch(Integer ids); | |
| 16 | 21 | } | ... | ... |
src/main/java/com/bsth/service/zndd/impl/LoggerZnddServiceImpl.java
| 1 | 1 | package com.bsth.service.zndd.impl; |
| 2 | 2 | |
| 3 | +import com.bsth.controller.realcontrol.dto.DfsjChange; | |
| 3 | 4 | import com.bsth.data.schedule.DayOfSchedule; |
| 5 | +import com.bsth.data.schedule.ScheduleComparator; | |
| 4 | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 5 | -import com.bsth.entity.search.CustomerSpecs; | |
| 6 | 7 | import com.bsth.entity.zndd.LoggerZndd; |
| 8 | +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | |
| 7 | 9 | import com.bsth.repository.zndd.LoggerZnddRepository; |
| 8 | 10 | import com.bsth.service.impl.BaseServiceImpl; |
| 11 | +import com.bsth.service.realcontrol.ScheduleRealInfoService; | |
| 9 | 12 | import com.bsth.service.zndd.LoggerZnddService; |
| 10 | -import org.apache.poi.ss.formula.functions.T; | |
| 13 | +import org.slf4j.Logger; | |
| 14 | +import org.slf4j.LoggerFactory; | |
| 11 | 15 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | -import org.springframework.data.domain.Pageable; | |
| 13 | 16 | |
| 14 | 17 | import org.springframework.data.domain.Sort; |
| 15 | 18 | import org.springframework.stereotype.Service; |
| 19 | +import org.springframework.transaction.annotation.Transactional; | |
| 16 | 20 | |
| 21 | +import java.text.SimpleDateFormat; | |
| 22 | +import java.util.ArrayList; | |
| 23 | +import java.util.Collections; | |
| 17 | 24 | import java.util.List; |
| 18 | 25 | import java.util.Map; |
| 19 | 26 | |
| ... | ... | @@ -24,7 +31,16 @@ public class LoggerZnddServiceImpl extends BaseServiceImpl<LoggerZndd, Integer> |
| 24 | 31 | LoggerZnddRepository loggerZnddRepository; |
| 25 | 32 | @Autowired |
| 26 | 33 | DayOfSchedule dayOfSchedule; |
| 27 | - public List<Map<String, Object>> listAll(Map<String, Object> map){ | |
| 34 | + @Autowired | |
| 35 | + ScheduleRealInfoService scheduleRealInfoService; | |
| 36 | + @Autowired | |
| 37 | + ScheduleRealInfoRepository scheduleRealInfoRepository; | |
| 38 | + | |
| 39 | + | |
| 40 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 41 | + private static SimpleDateFormat sdfMonth = new SimpleDateFormat("HH:mm"); | |
| 42 | + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
| 43 | + public List<Map<String, Object>> listAll(Map<String, Object> map){ | |
| 28 | 44 | loggerZnddRepository.findAll((Sort) map); |
| 29 | 45 | |
| 30 | 46 | return null; |
| ... | ... | @@ -43,4 +59,86 @@ public class LoggerZnddServiceImpl extends BaseServiceImpl<LoggerZndd, Integer> |
| 43 | 59 | } |
| 44 | 60 | return null; |
| 45 | 61 | }; |
| 62 | + | |
| 63 | + @Override | |
| 64 | + @Transactional //发车间隔 误点 | |
| 65 | + public Map<String, Object> znddConfig(Map<String, Object> map){ | |
| 66 | + //查出离触发时间最近的一次路单 修改部分值 | |
| 67 | + //包装好路单添加如临加班次 | |
| 68 | + | |
| 69 | + List<DfsjChange> dfsjcs = new ArrayList<>();//返回的数据 | |
| 70 | + try { | |
| 71 | + String lineCode = map.get("lineCode") != null ? map.get("lineCode").toString() : null; | |
| 72 | + String xlDir = map.get("xlDir") != null ? map.get("xlDir").toString() : null; | |
| 73 | + String rq = map.get("rq") != null ? map.get("rq").toString() : null; | |
| 74 | + List<ScheduleRealInfo> upoldSchDateList = new ArrayList<>(), //上行 | |
| 75 | + dnoldSchDateList = new ArrayList<>(); //下行 | |
| 76 | + | |
| 77 | + | |
| 78 | + List<ScheduleRealInfo> listReal = new ArrayList<>(); | |
| 79 | + Boolean typeReal = false; | |
| 80 | + //排班依次往后 | |
| 81 | + List<ScheduleRealInfo> list = dayOfSchedule.findByLineCode(lineCode); | |
| 82 | + //区分上下行 | |
| 83 | + for (ScheduleRealInfo t : list){ | |
| 84 | + if (t.getXlDir().equals("0")){ | |
| 85 | + upoldSchDateList.add(t); | |
| 86 | + }else { | |
| 87 | + dnoldSchDateList.add(t); | |
| 88 | + } | |
| 89 | + } | |
| 90 | + if (xlDir.equals("0")){ | |
| 91 | + Collections.sort(upoldSchDateList, new ScheduleComparator.FCSJ());//排序 | |
| 92 | + list = upoldSchDateList; | |
| 93 | + }else { | |
| 94 | + Collections.sort(upoldSchDateList, new ScheduleComparator.FCSJ());//排序 | |
| 95 | + list = upoldSchDateList; | |
| 96 | + } | |
| 97 | + | |
| 98 | + for (ScheduleRealInfo info : list) { | |
| 99 | + //从相等开始 | |
| 100 | + if (info.getFcsjActual() != null && !info.getFcsjActual().equals("")) { | |
| 101 | + if (info.getFcsjActual().equals(rq)) | |
| 102 | + typeReal = true; | |
| 103 | + continue; | |
| 104 | + } | |
| 105 | + | |
| 106 | + if (typeReal && (info.getBcType().equals("normal")|| info.getBcType().equals("region"))) | |
| 107 | + listReal.add(info); | |
| 108 | + | |
| 109 | + if (listReal.size() >= 5) //或者不满5条结束 listReal.size()从1开始 | |
| 110 | + break; | |
| 111 | + | |
| 112 | + } | |
| 113 | + //处理listReal 5条数据或5条一下 | |
| 114 | + for (int i = 0; i < listReal.size() ;i++){ | |
| 115 | + DfsjChange cl = new DfsjChange(); | |
| 116 | + Integer[] mis = {3,2,2,1,1}; //往后5个班次分别延后3 2 2 1 1 | |
| 117 | + ScheduleRealInfo info = listReal.get(i); | |
| 118 | + int ms = mis[i]; | |
| 119 | + //未发车时 才可改变 | |
| 120 | + if (info.getFcsjActual() == null || info.getFcsjActual().equals("")){ | |
| 121 | + String dfsj = sdfMonth.format(sdf.parse(info.getScheduleDateStr()+ " " + info.getDfsj()).getTime() + (ms * 60 * 1000)); //延后几分钟 | |
| 122 | + cl.setSchId(info.getId()); | |
| 123 | + cl.setOld_dfsj(info.getDfsj()); | |
| 124 | + cl.setNew_dfsj(dfsj); | |
| 125 | + dfsjcs.add(cl); | |
| 126 | + } | |
| 127 | + } | |
| 128 | + | |
| 129 | + return scheduleRealInfoService.multi_dftz(dfsjcs); | |
| 130 | + }catch (Exception e){ | |
| 131 | + logger.info("--",e); | |
| 132 | + } | |
| 133 | + | |
| 134 | + | |
| 135 | + return null; | |
| 136 | + } | |
| 137 | + | |
| 138 | + | |
| 139 | + public ScheduleRealInfo thissch(Integer ids){ | |
| 140 | + return dayOfSchedule.next(dayOfSchedule.get(ids)); | |
| 141 | + } | |
| 142 | + | |
| 143 | + | |
| 46 | 144 | } | ... | ... |
src/main/resources/static/real_control_v2/js/zndd/data_zndd.js
| ... | ... | @@ -211,11 +211,14 @@ var gb_dataZndd = (function (){ |
| 211 | 211 | return 'ycsf.html'; |
| 212 | 212 | break; |
| 213 | 213 | case 'WD': |
| 214 | - //return 'wd.html'; | |
| 214 | + return 'wd.html'; | |
| 215 | 215 | break; |
| 216 | 216 | case 'DJG': |
| 217 | 217 | return 'djg1.html'; |
| 218 | 218 | break; |
| 219 | + case 'MZ': | |
| 220 | + return 'mz.html'; | |
| 221 | + break; | |
| 219 | 222 | case 'DKL': |
| 220 | 223 | return 'dkl.html'; |
| 221 | 224 | break; |
| ... | ... | @@ -314,16 +317,16 @@ var gb_dataZndd = (function (){ |
| 314 | 317 | if (date == null) |
| 315 | 318 | return |
| 316 | 319 | if (type == "DJG"){ |
| 317 | - $.post('/znddLogger/znddadd', date, function(res) { | |
| 318 | - if (res.code == 200){ | |
| 319 | - notify_succ('新增临加班次成功(自动)'); | |
| 320 | - } | |
| 321 | - if (res.code == 201){ | |
| 322 | - notify_err('新增临加班次失败(自动),受影响的站点为终点站,不可自动添加'); | |
| 323 | - } | |
| 324 | - | |
| 325 | - gb_schedule_table.refreshAll(); | |
| 326 | - }); | |
| 320 | + // $.post('/znddLogger/znddadd', date, function(res) { | |
| 321 | + // if (res.code == 200){ | |
| 322 | + // notify_succ('新增临加班次成功(自动)'); | |
| 323 | + // } | |
| 324 | + // if (res.code == 201){ | |
| 325 | + // notify_err('新增临加班次失败(自动),受影响的站点为终点站,不可自动添加'); | |
| 326 | + // } | |
| 327 | + // | |
| 328 | + // gb_schedule_table.refreshAll(); | |
| 329 | + // }); | |
| 327 | 330 | }else if (type == "YCSF"){ |
| 328 | 331 | gb_common.$post('/realSchedule/revokeRealOutgo_zndd', { |
| 329 | 332 | id: sch.sch.id, | ... | ... |
src/main/resources/static/real_control_v2/zndd/type/djg1.html
| ... | ... | @@ -15,15 +15,17 @@ |
| 15 | 15 | <div class="uk-grid uk-width-3-5 lj_1" > |
| 16 | 16 | <div class="uk-width-1-4"> |
| 17 | 17 | <ul data-uk-switcher="{connect:'#tempScheduleContent'}" class="uk-nav uk-nav-side left_tabs_lg"> |
| 18 | - <li data-handle="toAndFro"><a>1、往返</a></li> | |
| 19 | - <li data-handle="normal"><a>2、临加班次</a></li> | |
| 18 | + | |
| 19 | + <li data-handle="normal"><a>1、临加班次</a></li> | |
| 20 | + <li data-handle="toAndFro"><a>2、往返</a></li> | |
| 21 | + | |
| 20 | 22 | <!-- <li data-handle="parkToPark"><a>3、场到场</a></li>--> |
| 21 | 23 | </ul> |
| 22 | 24 | </div> |
| 23 | 25 | <div class="uk-width-3-4"> |
| 24 | 26 | <ul id="tempScheduleContent" class="uk-switcher"> |
| 25 | - <li class="toAndFroCont"></li> | |
| 26 | 27 | <li class="normalCont"></li> |
| 28 | + <li class="toAndFroCont"></li> | |
| 27 | 29 | <li class="parkToParkCont"></li> |
| 28 | 30 | </ul> |
| 29 | 31 | </div> |
| ... | ... | @@ -117,14 +119,16 @@ |
| 117 | 119 | var st_doms = gb_schedule_context_menu.get_add_sch_doms_v2(); |
| 118 | 120 | |
| 119 | 121 | |
| 120 | - $.post('/realSchedule/thissch/'+sch.id, function(res) { | |
| 122 | + $.post('/realSchedule/thissch/'+sch.sch.id, function(res) { | |
| 123 | + | |
| 124 | + //normal | |
| 125 | + $('.normalCont', modal).html(st_doms.normal_dom) | |
| 126 | + .trigger('init', {sch: res, submitFun: submit_temp_schedule_form}); | |
| 121 | 127 | //to and fro |
| 122 | 128 | $('.toAndFroCont', modal).html(st_doms.two_way_dom) |
| 123 | 129 | .trigger('init', {sch: res, submitFun: submit_temp_schedule_form, stationRoutes: stationRoutes}); |
| 124 | 130 | |
| 125 | - //normal | |
| 126 | - $('.normalCont', modal).html(st_doms.normal_dom) | |
| 127 | - .trigger('init', {sch: res, submitFun: submit_temp_schedule_form}); | |
| 131 | + | |
| 128 | 132 | }); |
| 129 | 133 | |
| 130 | 134 | }); |
| ... | ... | @@ -549,7 +553,7 @@ |
| 549 | 553 | <div class="uk-form-controls"> |
| 550 | 554 | <select name="destroy" class="form-control" id="destroySelect"> |
| 551 | 555 | <option value="0">-- 临加班次 --</option> |
| 552 | - <option value="1">-- 随到随发 --</option> | |
| 556 | + <option value="1">-- 修改班次类型 --</option> | |
| 553 | 557 | </select> |
| 554 | 558 | </div> |
| 555 | 559 | </div> |
| ... | ... | @@ -575,9 +579,9 @@ |
| 575 | 579 | </div> |
| 576 | 580 | <div class="uk-width-1-2"> |
| 577 | 581 | <div class="uk-form-row"> |
| 578 | - <label class="uk-form-label">乘客满意度</label> | |
| 582 | + <label class="uk-form-label">创新性</label> | |
| 579 | 583 | <div class="uk-form-controls"> |
| 580 | - <input value="10%" disabled> | |
| 584 | + <input value="80%" disabled> | |
| 581 | 585 | </div> |
| 582 | 586 | </div> |
| 583 | 587 | </div> | ... | ... |
src/main/resources/static/real_control_v2/zndd/type/dkl.html
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | <div class="uk-modal-dialog" style="width: 1400px;"> |
| 3 | 3 | <a href="" class="uk-modal-close uk-close"></a> |
| 4 | 4 | <div class="uk-modal-header"> |
| 5 | - <h2>大客流</h2></div> | |
| 5 | + <h2>新增临加班次</h2></div> | |
| 6 | 6 | <div class="uk-grid uk-width-2-5" style="float: left"> |
| 7 | 7 | <div class="uk-width-5-5"> |
| 8 | 8 | <form class="uk-form uk-form-horizontal"> </form> |
| ... | ... | @@ -29,6 +29,11 @@ |
| 29 | 29 | </div> |
| 30 | 30 | </div> |
| 31 | 31 | |
| 32 | + <div class="uk-grid uk-width-3-5 lj_2" style="display: none; padding-left: 100px"> | |
| 33 | + <div class="uk-width-1-1" id ="tempsdsf"></div> | |
| 34 | + | |
| 35 | + </div> | |
| 36 | + | |
| 32 | 37 | </div> |
| 33 | 38 | |
| 34 | 39 | <script> |
| ... | ... | @@ -41,44 +46,65 @@ |
| 41 | 46 | sch = data.data; |
| 42 | 47 | sch.xlBm = sch.lineCode; |
| 43 | 48 | |
| 44 | - //站到场数据 | |
| 45 | - st_park_data = gb_data_basic.get_stat_park_data()[sch.xlBm]; | |
| 46 | - //站点路由 | |
| 47 | - stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | |
| 48 | - return a.stationRouteCode - b.stationRouteCode; | |
| 49 | - }), 'directions'); | |
| 50 | - let route = stationRoutes[sch.xlDir]; | |
| 51 | - debugger | |
| 52 | - sch.startStation = route[0]; | |
| 53 | - sch.stopStation = route[route.length - 1]; | |
| 54 | 49 | var formHtml = template('djg-form-temp', sch); |
| 55 | 50 | $('form', modal).html(formHtml); |
| 56 | 51 | //切换 |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + //参数改变 | |
| 58 | + $('form[name=yjtkForm] input', modal).on('blur', function () { | |
| 59 | + var field = $(this).attr('name'); | |
| 60 | + var val = $(this).val(); | |
| 61 | + if (conf[field] != val) { | |
| 62 | + var data = $('form[name=yjtkForm]', modal).serializeJSON(); | |
| 63 | + data.lineCode = conf.line.lineCode; | |
| 64 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 65 | + conf = rs.conf; | |
| 66 | + notify_succ('调整随到随发参数'); | |
| 67 | + }); | |
| 68 | + } | |
| 69 | + }); | |
| 70 | + | |
| 71 | + | |
| 57 | 72 | $("#destroySelect").on('change',function(){ |
| 58 | 73 | let fn = $('#destroySelect').val(); |
| 59 | 74 | if (fn == "0"){ |
| 60 | - $('.video_1').css({display: ''}); | |
| 61 | - $('.video_2').css({display: 'none'}); | |
| 62 | - | |
| 75 | + $(".lj_1").css({ | |
| 76 | + display: '' | |
| 77 | + }); | |
| 78 | + $(".lj_2").css({ | |
| 79 | + display: 'none' | |
| 80 | + }); | |
| 63 | 81 | }else { |
| 64 | - $('.video_1').css({display: 'none'}); | |
| 65 | - $('.video_2').css({display: ''}); | |
| 82 | + $(".lj_1").css({ | |
| 83 | + display: 'none' | |
| 84 | + }); | |
| 85 | + $(".lj_2").css({ | |
| 86 | + display: '' | |
| 87 | + }); | |
| 88 | + $.get('/lineConfig/getByLineCode', {lineCode: sch.lineCode}, function (datan) { | |
| 89 | + var formHtmls = template('buffer_config_form-temp1', datan); | |
| 90 | + conf = datan; | |
| 91 | + $('#tempsdsf', modal).html(formHtmls); | |
| 92 | + $('[name=enableYjtk]', modal).on('change', function () { | |
| 93 | + if($(this).val() == '1'){ | |
| 94 | + enableYjtkForm(); | |
| 95 | + } | |
| 96 | + else | |
| 97 | + disabledYjtkForm(); | |
| 98 | + }); | |
| 99 | + }); | |
| 66 | 100 | } |
| 67 | 101 | }) |
| 68 | - $("#zhanOrche").on('change',function(){ | |
| 69 | - let fn = $('#zhanOrche').val(); | |
| 70 | - if (fn == "0"){ | |
| 71 | - $('.car_s').css({display: 'none'}); | |
| 72 | - $('.zt_s').css({display: ''}); | |
| 73 | - | |
| 74 | - }else { | |
| 75 | - $('.car_s').css({display: ''}); | |
| 76 | - $('.zt_s').css({display: 'none'}); | |
| 77 | - } | |
| 78 | - }) | |
| 79 | - | |
| 80 | - | |
| 81 | - | |
| 102 | + //站到场数据 | |
| 103 | + st_park_data = gb_data_basic.get_stat_park_data()[sch.xlBm]; | |
| 104 | + //站点路由 | |
| 105 | + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | |
| 106 | + return a.stationRouteCode - b.stationRouteCode; | |
| 107 | + }), 'directions'); | |
| 82 | 108 | //停车场 |
| 83 | 109 | parks = gb_data_basic.simpleParksArray(); |
| 84 | 110 | //线路标准 |
| ... | ... | @@ -90,18 +116,16 @@ |
| 90 | 116 | |
| 91 | 117 | var st_doms = gb_schedule_context_menu.get_add_sch_doms_v2(); |
| 92 | 118 | |
| 93 | - $.post('/realSchedule/thissch/'+sch.id, function(res) { | |
| 119 | + | |
| 120 | + $.post('/realSchedule/thissch/'+sch.sch.id, function(res) { | |
| 94 | 121 | //to and fro |
| 95 | 122 | $('.toAndFroCont', modal).html(st_doms.two_way_dom) |
| 96 | 123 | .trigger('init', {sch: res, submitFun: submit_temp_schedule_form, stationRoutes: stationRoutes}); |
| 97 | 124 | |
| 98 | - | |
| 99 | 125 | //normal |
| 100 | 126 | $('.normalCont', modal).html(st_doms.normal_dom) |
| 101 | 127 | .trigger('init', {sch: res, submitFun: submit_temp_schedule_form}); |
| 102 | 128 | }); |
| 103 | - | |
| 104 | - | |
| 105 | 129 | |
| 106 | 130 | }); |
| 107 | 131 | |
| ... | ... | @@ -391,6 +415,37 @@ |
| 391 | 415 | }, err); |
| 392 | 416 | } |
| 393 | 417 | |
| 418 | + function enableYjtkForm() { | |
| 419 | + var f = $('form[name=yjtkForm]', modal); | |
| 420 | + $('input', f).removeAttr('disabled'); | |
| 421 | + //开始时间 | |
| 422 | + if($('[name=yjtkStart]',f).val() == '') | |
| 423 | + $('[name=yjtkStart]',f).val('00:00'); | |
| 424 | + if($('[name=yjtkEnd]',f).val() == '') | |
| 425 | + $('[name=yjtkEnd]',f).val('23:59'); | |
| 426 | + var data = f.serializeJSON(); | |
| 427 | + data.lineCode = conf.line.lineCode; | |
| 428 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 429 | + conf = rs.conf; | |
| 430 | + notify_succ('启用随到随发'); | |
| 431 | + }); | |
| 432 | + } | |
| 433 | + function disabledYjtkForm() { | |
| 434 | + var f = $('form[name=yjtkForm]', modal); | |
| 435 | + $('input', f).attr('disabled', 'disabled'); | |
| 436 | + //恢复val | |
| 437 | + $('[name=yjtkStart]',f).val(conf.yjtkStart); | |
| 438 | + $('[name=yjtkEnd]',f).val(conf.yjtkEnd); | |
| 439 | + $('[name=upStopMinute]',f).val(conf.upStopMinute); | |
| 440 | + $('[name=downStopMinute]',f).val(conf.downStopMinute); | |
| 441 | + | |
| 442 | + var data = {enableYjtk: 0, lineCode: conf.line.lineCode}; | |
| 443 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 444 | + conf = rs.conf; | |
| 445 | + notify_succ('禁用随到随发'); | |
| 446 | + }); | |
| 447 | + } | |
| 448 | + | |
| 394 | 449 | })(); |
| 395 | 450 | </script> |
| 396 | 451 | </div> |
| ... | ... | @@ -401,121 +456,177 @@ |
| 401 | 456 | <div class="uk-grid"> |
| 402 | 457 | <div class="uk-width-4-2"> |
| 403 | 458 | <div class="uk-form-row"> |
| 404 | - <h3>大客流信息</h3> | |
| 459 | + <h3>间隔情况</h3> | |
| 405 | 460 | </div> |
| 406 | 461 | </div> |
| 407 | 462 | </div> |
| 408 | 463 | <div class="uk-grid"> |
| 409 | 464 | <div class="uk-width-4-2"> |
| 410 | 465 | <div class="uk-form-row"> |
| 411 | - <label class="uk-form-labels" >{{stopStation.stationName}}站点 出现大客流</label> | |
| 466 | + <label class="uk-form-labels" >{{lineName}} -> 起点站开往终点站 出现大间隔</label> | |
| 412 | 467 | </div> |
| 413 | 468 | </div> |
| 414 | - | |
| 415 | 469 | </div> |
| 416 | - | |
| 417 | - <div class="uk-grid"> | |
| 418 | - <div class="uk-width-1-2"> | |
| 419 | - <div class="uk-form-row"> | |
| 420 | - <label class="uk-form-label">站点名称</label> | |
| 421 | - <div class="uk-form-controls"> | |
| 422 | - <input type="time" value="XXXX" name="fcsj" disabled> | |
| 470 | + <div> | |
| 471 | + <div class="uk-grid"> | |
| 472 | + <div class="uk-width-1-2"> | |
| 473 | + <div class="uk-form-row"> | |
| 474 | + <label class="uk-form-label">当前车车号</label> | |
| 475 | + <div class="uk-form-controls"> | |
| 476 | + <input value="{{lg.nbbm}}" disabled> | |
| 477 | + </div> | |
| 423 | 478 | </div> |
| 424 | 479 | </div> |
| 425 | - </div> | |
| 426 | - <div class="uk-width-1-2"> | |
| 427 | - <div class="uk-form-row"> | |
| 428 | - <label class="uk-form-label">站点人数</label> | |
| 429 | - <div class="uk-form-controls"> | |
| 430 | - <input value="20" disabled> | |
| 480 | + <div class="uk-width-1-2"> | |
| 481 | + <div class="uk-form-row"> | |
| 482 | + <label class="uk-form-label">前车车号</label> | |
| 483 | + <div class="uk-form-controls"> | |
| 484 | + <input value="{{lg.beforeNbbm}}" disabled> | |
| 485 | + </div> | |
| 431 | 486 | </div> |
| 432 | 487 | </div> |
| 433 | 488 | </div> |
| 434 | - </div> | |
| 435 | - | |
| 436 | - <div class="uk-grid"> | |
| 437 | - <div class="uk-width-2-2"> | |
| 438 | - <div class="uk-form-row"> | |
| 439 | - <label class="uk-form-label">选择方案</label> | |
| 440 | - <div class="uk-form-controls"> | |
| 441 | - <select name="destroy" class="form-control" id="destSelect"> | |
| 442 | - <option value="0">-- 方案一 --</option> | |
| 443 | - </select> | |
| 489 | + <div class="uk-grid"> | |
| 490 | + <div class="uk-width-1-2"> | |
| 491 | + <div class="uk-form-row"> | |
| 492 | + <label class="uk-form-label">当前车站点</label> | |
| 493 | + <div class="uk-form-controls"> | |
| 494 | + <input value="{{lg.stationName}}" disabled> | |
| 495 | + </div> | |
| 444 | 496 | </div> |
| 445 | 497 | </div> |
| 446 | - </div> | |
| 447 | - </div> | |
| 448 | - | |
| 449 | - | |
| 450 | - <div class="uk-grid"> | |
| 451 | - <div class="uk-width-2-2"> | |
| 452 | - <div class="uk-form-row"> | |
| 453 | - <label class="uk-form-label"></label> | |
| 454 | - <div class="uk-form-controls"> | |
| 455 | - <select name="destroy" class="form-control" id="zhanOrche"> | |
| 456 | - <option value="0">-- 站台 --</option> | |
| 457 | - <option value="1">-- 车辆 --</option> | |
| 458 | - </select> | |
| 498 | + <div class="uk-width-1-2"> | |
| 499 | + <div class="uk-form-row"> | |
| 500 | + <label class="uk-form-label">前车站点</label> | |
| 501 | + <div class="uk-form-controls"> | |
| 502 | + <input value="{{lg.beforeStationName}}" disabled> | |
| 503 | + </div> | |
| 459 | 504 | </div> |
| 460 | 505 | </div> |
| 461 | 506 | </div> |
| 462 | - </div> | |
| 463 | - <div class="uk-grid"> | |
| 464 | - <div class="uk-width-1-2"> | |
| 465 | - <div class="uk-form-row"> | |
| 466 | - <label class="uk-form-label">车内人数</label> | |
| 467 | - <div class="uk-form-controls"> | |
| 468 | - <input value="23" disabled> | |
| 507 | + <div class="uk-grid"> | |
| 508 | + <div class="uk-width-1-2"> | |
| 509 | + <div class="uk-form-row"> | |
| 510 | + <label class="uk-form-label">当前车发车时间</label> | |
| 511 | + <div class="uk-form-controls"> | |
| 512 | + <input value="{{lg.bcfcsj}}" disabled> | |
| 513 | + </div> | |
| 514 | + </div> | |
| 515 | + </div> | |
| 516 | + <div class="uk-width-1-2"> | |
| 517 | + <div class="uk-form-row"> | |
| 518 | + <label class="uk-form-label">前车发车时间</label> | |
| 519 | + <div class="uk-form-controls"> | |
| 520 | + <input value="{{lg.beforeBcfcsj}}" disabled> | |
| 521 | + </div> | |
| 469 | 522 | </div> |
| 470 | 523 | </div> |
| 471 | 524 | </div> |
| 472 | - <div class="uk-width-1-2"> | |
| 473 | - <div class="uk-form-row"> | |
| 474 | - <label class="uk-form-label">摄像</label> | |
| 475 | - <div class="uk-form-controls"> | |
| 476 | - <select name="destroy" class="form-control" id="destroySelect"> | |
| 477 | - <option value="0">-- 前车厢 --</option> | |
| 478 | - <option value="1">-- 后车厢 --</option> | |
| 479 | - </select> | |
| 525 | + <div class="uk-grid"> | |
| 526 | + <div class="uk-width-1-2"> | |
| 527 | + <div class="uk-form-row"> | |
| 528 | + <label class="uk-form-label">当前间隔分钟数</label> | |
| 529 | + <div class="uk-form-controls"> | |
| 530 | + <input value="{{lg.intervalMinute}}" disabled> | |
| 531 | + </div> | |
| 532 | + </div> | |
| 533 | + </div> | |
| 534 | + <div class="uk-width-1-2"> | |
| 535 | + <div class="uk-form-row"> | |
| 536 | + <label class="uk-form-label">大间隔分钟数阀值</label> | |
| 537 | + <div class="uk-form-controls"> | |
| 538 | + <input value="{{lg.largeGapConfigMinute}}" disabled> | |
| 539 | + </div> | |
| 480 | 540 | </div> |
| 481 | 541 | </div> |
| 482 | 542 | </div> |
| 483 | - </div> | |
| 484 | 543 | |
| 485 | - <div class="uk-grid zt_s"> | |
| 486 | - <div class="uk-width-4-2"> | |
| 487 | - <div class="uk-form-row img_1"> | |
| 488 | - <img style="width: 100%" src="/profile/avat/2024/04/08/666.png" controls /> | |
| 489 | 544 | |
| 545 | + <div class="uk-grid"> | |
| 546 | + <div class="uk-width-2-2"> | |
| 547 | + <div class="uk-form-row"> | |
| 548 | + <label class="uk-form-label">选择方案</label> | |
| 549 | + <div class="uk-form-controls"> | |
| 550 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 551 | + <option value="0">-- 临加班次 --</option> | |
| 552 | + <!-- <option value="1">-- 随到随发 --</option>--> | |
| 553 | + </select> | |
| 554 | + </div> | |
| 555 | + </div> | |
| 490 | 556 | </div> |
| 491 | 557 | </div> |
| 492 | - </div> | |
| 493 | - | |
| 494 | 558 | |
| 495 | - <div class="uk-grid car_s" style="display:none"> | |
| 496 | - | |
| 497 | - <div class="uk-width-1-1"> | |
| 498 | - <div class="uk-form-row"> | |
| 499 | - <label class="uk-form-label">车内视频:</label> | |
| 559 | + <div class="uk-grid"> | |
| 560 | + <div class="uk-width-4-2"> | |
| 561 | + <div class="uk-form-row"> | |
| 562 | + <h3>方案优势</h3> | |
| 563 | + </div> | |
| 500 | 564 | </div> |
| 501 | 565 | </div> |
| 502 | - </div> | |
| 503 | - <div class="uk-grid car_s" style="display:none"> | |
| 504 | - <div class="uk-width-4-2"> | |
| 505 | - <div class="uk-form-row video_1"> | |
| 506 | - <video id="myVideo" style="width: 100%" src="/real_control_v2/zndd/video/a.mp4" controls></video> | |
| 566 | + | |
| 567 | + <div class="uk-grid"> | |
| 568 | + <div class="uk-width-1-2"> | |
| 569 | + <div class="uk-form-row"> | |
| 570 | + <label class="uk-form-label">间隔检测效率</label> | |
| 571 | + <div class="uk-form-controls"> | |
| 572 | + <input value="50%" disabled> | |
| 573 | + </div> | |
| 574 | + </div> | |
| 507 | 575 | </div> |
| 508 | - <div class="uk-form-row video_2" style="display: none"> | |
| 509 | - <video id="myVideos" style="width: 100%" src="/real_control_v2/zndd/video/b.mp4" controls></video> | |
| 576 | + <div class="uk-width-1-2"> | |
| 577 | + <div class="uk-form-row"> | |
| 578 | + <label class="uk-form-label">创新性</label> | |
| 579 | + <div class="uk-form-controls"> | |
| 580 | + <input value="80%" disabled> | |
| 581 | + </div> | |
| 582 | + </div> | |
| 510 | 583 | </div> |
| 511 | 584 | </div> |
| 512 | 585 | </div> |
| 586 | +</script> | |
| 513 | 587 | |
| 514 | 588 | |
| 515 | - | |
| 589 | +<script id="buffer_config_form-temp1" type="text/html"> | |
| 590 | + <div id="emergency_stop_panel"> | |
| 591 | + <h3 class="btn_title_lines1"> | |
| 592 | + <a class="uk-link-reset" >调整随到随发 </a> | |
| 593 | + </h3> | |
| 594 | + <div> | |
| 595 | + <form class="uk-form" name="yjtkForm"> | |
| 596 | + <table> | |
| 597 | + <tr> | |
| 598 | + <td colspan="2"> | |
| 599 | + 是否启用 | |
| 600 | + <select class="z-depth-input" name="enableYjtk"> | |
| 601 | + <option value="0" >禁用</option> | |
| 602 | + <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option> | |
| 603 | + </select> | |
| 604 | + </td> | |
| 605 | + </tr> | |
| 606 | + <tr> | |
| 607 | + <td colspan="2"> | |
| 608 | + 时间 | |
| 609 | + <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至 | |
| 610 | + <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}> | |
| 611 | + </td> | |
| 612 | + </tr> | |
| 613 | + <tr> | |
| 614 | + <td> | |
| 615 | + 上行停靠时间 | |
| 616 | + <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 617 | + </td> | |
| 618 | + </tr> | |
| 619 | + <tr> | |
| 620 | + <td> | |
| 621 | + 下行停靠时间 | |
| 622 | + <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 623 | + </td> | |
| 624 | + </tr> | |
| 625 | + </table> | |
| 626 | + </form> | |
| 627 | + </div> | |
| 628 | + </div> | |
| 516 | 629 | </script> |
| 517 | -<style> | |
| 518 | - .fanganys input{ | |
| 519 | - text-align: center; | |
| 520 | - } | |
| 521 | -</style> | |
| 630 | +<script> | |
| 631 | + | |
| 632 | +</script> | |
| 522 | 633 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/zndd/type/fcjg.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 920px;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>新增临加班次</h2></div> | |
| 6 | + <div class="uk-grid uk-width-3-5" style="float: left"> | |
| 7 | + <div class="uk-width-5-5"> | |
| 8 | + <form class="uk-form uk-form-horizontal"> </form> | |
| 9 | + <div> | |
| 10 | + | |
| 11 | + </div> | |
| 12 | + | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="uk-grid uk-width-2-5 lj_2" style="padding-left: 100px"> | |
| 17 | + <div class="uk-width-1-1" id ="tempsdsf"></div> | |
| 18 | + | |
| 19 | + </div> | |
| 20 | + | |
| 21 | + | |
| 22 | + <div class="uk-grid uk-width-2-5 lj_1" style="padding-left: 100px"> | |
| 23 | + <div class="uk-width-1-1" id ="tempcjs"></div> | |
| 24 | + | |
| 25 | + </div> | |
| 26 | + | |
| 27 | + </div> | |
| 28 | + | |
| 29 | + <script> | |
| 30 | + (function () { | |
| 31 | + var modal = '#schedule-addsch-modal', | |
| 32 | + sch, stationRoutes, parks, information, carsArray, st_park_data,conf; | |
| 33 | + debugger | |
| 34 | + var f = $('.uk-form-horizontal', modal); | |
| 35 | + | |
| 36 | + $(modal).on('init', function (e, data) { | |
| 37 | + e.stopPropagation(); | |
| 38 | + sch = data.data; | |
| 39 | + sch.xlBm = sch.lineCode; | |
| 40 | + | |
| 41 | + var formHtml = template('djg-form-temp', sch); | |
| 42 | + $('form', modal).html(formHtml); | |
| 43 | + //切换 | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + $.get('/lineConfig/getByLineCode', {lineCode: sch.lineCode}, function (datan) { | |
| 48 | + var formHtmls = template('buffer_config_form-temp1', datan); | |
| 49 | + conf = datan; | |
| 50 | + $('#tempsdsf', modal).html(formHtmls); | |
| 51 | + $('[name=enableYjtk]', modal).on('change', function () { | |
| 52 | + if($(this).val() == '1'){ | |
| 53 | + enableYjtkForm(); | |
| 54 | + } | |
| 55 | + else | |
| 56 | + disabledYjtkForm(); | |
| 57 | + }); | |
| 58 | + }); | |
| 59 | + | |
| 60 | + //参数改变 | |
| 61 | + $('form[name=yjtkForm] input', modal).on('blur', function () { | |
| 62 | + var field = $(this).attr('name'); | |
| 63 | + var val = $(this).val(); | |
| 64 | + if (conf[field] != val) { | |
| 65 | + var data = $('form[name=yjtkForm]', modal).serializeJSON(); | |
| 66 | + data.lineCode = conf.line.lineCode; | |
| 67 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 68 | + conf = rs.conf; | |
| 69 | + notify_succ('调整随到随发参数'); | |
| 70 | + }); | |
| 71 | + } | |
| 72 | + }); | |
| 73 | + $("#destroySelect").on('change',function(){ | |
| 74 | + let fn = $('#destroySelect').val(); | |
| 75 | + if (fn == "1"){ | |
| 76 | + $(".lj_2").css({ | |
| 77 | + display: 'none' | |
| 78 | + }); | |
| 79 | + $(".lj_1").css({ | |
| 80 | + display: '' | |
| 81 | + }); | |
| 82 | + /* var formHtmls = template('zntj_config_form-temp1'); | |
| 83 | + $('#tempcjs', modal).html(formHtmls);*/ | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + }else { | |
| 88 | + $(".lj_2").css({ | |
| 89 | + display: '' | |
| 90 | + }); | |
| 91 | + $(".lj_1").css({ | |
| 92 | + display: 'none' | |
| 93 | + }); | |
| 94 | + $.get('/lineConfig/getByLineCode', {lineCode: sch.lineCode}, function (datan) { | |
| 95 | + var formHtmls = template('buffer_config_form-temp1', datan); | |
| 96 | + conf = datan; | |
| 97 | + $('#tempsdsf', modal).html(formHtmls); | |
| 98 | + $('[name=enableYjtk]', modal).on('change', function () { | |
| 99 | + if($(this).val() == '1'){ | |
| 100 | + enableYjtkForm(); | |
| 101 | + } | |
| 102 | + else | |
| 103 | + disabledYjtkForm(); | |
| 104 | + }); | |
| 105 | + }); | |
| 106 | + } | |
| 107 | + }) | |
| 108 | + }); | |
| 109 | + | |
| 110 | + f.formValidation(gb_form_validation_opts); | |
| 111 | + f.on('success.form.fv', function(e) { | |
| 112 | + debugger | |
| 113 | + e.preventDefault(); | |
| 114 | + var data = $(this).serializeJSON(); | |
| 115 | + var date ={ | |
| 116 | + lineCode : sch.sch.xlBm, | |
| 117 | + xlDir :sch.sch.xlDir, | |
| 118 | + rq : sch.lg.bcfcsj, | |
| 119 | + bcnum:data.bcnum | |
| 120 | + } | |
| 121 | + | |
| 122 | + //添加记录 | |
| 123 | + $.post('/logZndd/znddConfig', date, function(res) { | |
| 124 | + //只有一个 直接删除掉 | |
| 125 | + if(res.status != null){ | |
| 126 | + notify_succ('班次设定成功!(自动)'); | |
| 127 | + }else { | |
| 128 | + notify_err('班次设定失败!(自动)'); | |
| 129 | + } | |
| 130 | + $('.multi_plat_msg_pop_zndd .multi_plat_config').remove(); | |
| 131 | + if(res.ts && res.ts.length > 0){ | |
| 132 | + gb_schedule_table.updateSchedule(res.ts); | |
| 133 | + var modal = '#schedule-multi-dftz-modal'; | |
| 134 | + UIkit.modal(modal).hide(); | |
| 135 | + notify_succ('待发调整成功'); | |
| 136 | + } | |
| 137 | + }); | |
| 138 | + | |
| 139 | + }); | |
| 140 | + | |
| 141 | + function enableYjtkForm() { | |
| 142 | + var f = $('form[name=yjtkForm]', modal); | |
| 143 | + $('input', f).removeAttr('disabled'); | |
| 144 | + //开始时间 | |
| 145 | + if($('[name=yjtkStart]',f).val() == '') | |
| 146 | + $('[name=yjtkStart]',f).val('00:00'); | |
| 147 | + if($('[name=yjtkEnd]',f).val() == '') | |
| 148 | + $('[name=yjtkEnd]',f).val('23:59'); | |
| 149 | + var data = f.serializeJSON(); | |
| 150 | + data.lineCode = conf.line.lineCode; | |
| 151 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 152 | + conf = rs.conf; | |
| 153 | + notify_succ('启用随到随发'); | |
| 154 | + }); | |
| 155 | + } | |
| 156 | + function disabledYjtkForm() { | |
| 157 | + var f = $('form[name=yjtkForm]', modal); | |
| 158 | + $('input', f).attr('disabled', 'disabled'); | |
| 159 | + //恢复val | |
| 160 | + $('[name=yjtkStart]',f).val(conf.yjtkStart); | |
| 161 | + $('[name=yjtkEnd]',f).val(conf.yjtkEnd); | |
| 162 | + $('[name=upStopMinute]',f).val(conf.upStopMinute); | |
| 163 | + $('[name=downStopMinute]',f).val(conf.downStopMinute); | |
| 164 | + | |
| 165 | + var data = {enableYjtk: 0, lineCode: conf.line.lineCode}; | |
| 166 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 167 | + conf = rs.conf; | |
| 168 | + notify_succ('禁用随到随发'); | |
| 169 | + }); | |
| 170 | + } | |
| 171 | + | |
| 172 | + })(); | |
| 173 | + </script> | |
| 174 | +</div> | |
| 175 | + | |
| 176 | +<script id="djg-form-temp" type="text/html"> | |
| 177 | + <input type="hidden" name="id" value=""/> | |
| 178 | + | |
| 179 | + <div class="uk-grid"> | |
| 180 | + <div class="uk-width-4-2"> | |
| 181 | + <div class="uk-form-row"> | |
| 182 | + <h3>间隔情况</h3> | |
| 183 | + </div> | |
| 184 | + </div> | |
| 185 | + </div> | |
| 186 | + <div class="uk-grid"> | |
| 187 | + <div class="uk-width-4-2"> | |
| 188 | + <div class="uk-form-row"> | |
| 189 | + <label class="uk-form-labels" >{{lineName}} -> 起点站开往终点站 出现发车大间隔</label> | |
| 190 | + </div> | |
| 191 | + </div> | |
| 192 | + </div> | |
| 193 | + <div> | |
| 194 | + <div class="uk-grid"> | |
| 195 | + <div class="uk-width-1-2"> | |
| 196 | + <div class="uk-form-row"> | |
| 197 | + <label class="uk-form-label">当前车车号</label> | |
| 198 | + <div class="uk-form-controls"> | |
| 199 | + <input value="{{lg.nbbm}}" disabled> | |
| 200 | + </div> | |
| 201 | + </div> | |
| 202 | + </div> | |
| 203 | + <div class="uk-width-1-2"> | |
| 204 | + <div class="uk-form-row"> | |
| 205 | + <label class="uk-form-label">前车车号</label> | |
| 206 | + <div class="uk-form-controls"> | |
| 207 | + <input value="{{lg.beforeNbbm}}" disabled> | |
| 208 | + </div> | |
| 209 | + </div> | |
| 210 | + </div> | |
| 211 | + </div> | |
| 212 | + <div class="uk-grid"> | |
| 213 | + <div class="uk-width-1-2"> | |
| 214 | + <div class="uk-form-row"> | |
| 215 | + <label class="uk-form-label">当前车站点</label> | |
| 216 | + <div class="uk-form-controls"> | |
| 217 | + <input value="{{lg.stationName}}" disabled> | |
| 218 | + </div> | |
| 219 | + </div> | |
| 220 | + </div> | |
| 221 | + <div class="uk-width-1-2"> | |
| 222 | + <div class="uk-form-row"> | |
| 223 | + <label class="uk-form-label">前车站点</label> | |
| 224 | + <div class="uk-form-controls"> | |
| 225 | + <input value="{{lg.beforeStationName}}" disabled> | |
| 226 | + </div> | |
| 227 | + </div> | |
| 228 | + </div> | |
| 229 | + </div> | |
| 230 | + <div class="uk-grid"> | |
| 231 | + <div class="uk-width-1-2"> | |
| 232 | + <div class="uk-form-row"> | |
| 233 | + <label class="uk-form-label">当前车发车时间</label> | |
| 234 | + <div class="uk-form-controls"> | |
| 235 | + <input value="{{lg.bcfcsj}}" disabled> | |
| 236 | + </div> | |
| 237 | + </div> | |
| 238 | + </div> | |
| 239 | + <div class="uk-width-1-2"> | |
| 240 | + <div class="uk-form-row"> | |
| 241 | + <label class="uk-form-label">前车发车时间</label> | |
| 242 | + <div class="uk-form-controls"> | |
| 243 | + <input value="{{lg.beforeBcfcsj}}" disabled> | |
| 244 | + </div> | |
| 245 | + </div> | |
| 246 | + </div> | |
| 247 | + </div> | |
| 248 | + <div class="uk-grid"> | |
| 249 | + <div class="uk-width-1-2"> | |
| 250 | + <div class="uk-form-row"> | |
| 251 | + <label class="uk-form-label">当前间隔分钟数</label> | |
| 252 | + <div class="uk-form-controls"> | |
| 253 | + <input value="{{lg.intervalMinute}}" disabled> | |
| 254 | + </div> | |
| 255 | + </div> | |
| 256 | + </div> | |
| 257 | + <div class="uk-width-1-2"> | |
| 258 | + <div class="uk-form-row"> | |
| 259 | + <label class="uk-form-label">大间隔分钟数阀值</label> | |
| 260 | + <div class="uk-form-controls"> | |
| 261 | + <input value="{{lg.largeGapConfigMinute}}" disabled> | |
| 262 | + </div> | |
| 263 | + </div> | |
| 264 | + </div> | |
| 265 | + </div> | |
| 266 | + | |
| 267 | + <div class="uk-grid lj_1" style="display: none"> | |
| 268 | + <div class="uk-width-1-1"> | |
| 269 | + | |
| 270 | + <div class="uk-form-row"> | |
| 271 | + <label class="uk-form-label">延后班次数量</label> | |
| 272 | + <div class="uk-form-controls"> | |
| 273 | + <input type="number" value="5" name="bcnum" id="bcnum"> | |
| 274 | + </div> | |
| 275 | + </div> | |
| 276 | + </div> | |
| 277 | + </div> | |
| 278 | + | |
| 279 | + | |
| 280 | + <div class="uk-grid"> | |
| 281 | + <div class="uk-width-2-2"> | |
| 282 | + <div class="uk-form-row"> | |
| 283 | + <label class="uk-form-label">选择方案</label> | |
| 284 | + <div class="uk-form-controls"> | |
| 285 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 286 | +<!-- <option value="0">-- 临加班次 --</option>--> | |
| 287 | + <option value="0">-- 随到随发 --</option> | |
| 288 | + <option value="1">-- 智能延后发车时间 --</option> | |
| 289 | + </select> | |
| 290 | + </div> | |
| 291 | + </div> | |
| 292 | + </div> | |
| 293 | + </div> | |
| 294 | + | |
| 295 | + <div class="uk-grid"> | |
| 296 | + <div class="uk-width-4-2"> | |
| 297 | + <div class="uk-form-row"> | |
| 298 | + <h3>方案优势</h3> | |
| 299 | + </div> | |
| 300 | + </div> | |
| 301 | + </div> | |
| 302 | + | |
| 303 | + <div class="uk-grid"> | |
| 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 | + <input value="50%" disabled> | |
| 309 | + </div> | |
| 310 | + </div> | |
| 311 | + </div> | |
| 312 | + <div class="uk-width-1-2"> | |
| 313 | + <div class="uk-form-row"> | |
| 314 | + <label class="uk-form-label">创新性</label> | |
| 315 | + <div class="uk-form-controls"> | |
| 316 | + <input value="80%" disabled> | |
| 317 | + </div> | |
| 318 | + </div> | |
| 319 | + </div> | |
| 320 | + </div> | |
| 321 | + | |
| 322 | + <div class="uk-modal-footer uk-text-right lj_1" style="margin-bottom: -20px; display: none;" > | |
| 323 | + <button type="button" class="uk-button uk-modal-close">取消</button> | |
| 324 | + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | |
| 325 | + </div> | |
| 326 | + </div> | |
| 327 | +</script> | |
| 328 | + | |
| 329 | + | |
| 330 | +<script id="buffer_config_form-temp1" type="text/html"> | |
| 331 | + <div id="emergency_stop_panel"> | |
| 332 | + <h3 class="btn_title_lines1"> | |
| 333 | + <a class="uk-link-reset" >调整随到随发 </a> | |
| 334 | + </h3> | |
| 335 | + <div> | |
| 336 | + <form class="uk-form" name="yjtkForm"> | |
| 337 | + <table> | |
| 338 | + <tr> | |
| 339 | + <td colspan="2"> | |
| 340 | + 是否启用 | |
| 341 | + <select class="z-depth-input" name="enableYjtk"> | |
| 342 | + <option value="0" >禁用</option> | |
| 343 | + <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option> | |
| 344 | + </select> | |
| 345 | + </td> | |
| 346 | + </tr> | |
| 347 | + <tr> | |
| 348 | + <td colspan="2"> | |
| 349 | + 时间 | |
| 350 | + <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至 | |
| 351 | + <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}> | |
| 352 | + </td> | |
| 353 | + </tr> | |
| 354 | + <tr> | |
| 355 | + <td> | |
| 356 | + 上行停靠时间 | |
| 357 | + <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 358 | + </td> | |
| 359 | + </tr> | |
| 360 | + <tr> | |
| 361 | + <td> | |
| 362 | + 下行停靠时间 | |
| 363 | + <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 364 | + </td> | |
| 365 | + </tr> | |
| 366 | + </table> | |
| 367 | + </form> | |
| 368 | + </div> | |
| 369 | + </div> | |
| 370 | +</script> | |
| 371 | + | |
| 372 | + | |
| 373 | +<!-- | |
| 374 | +<script id="zntj_config_form-temp1" type="text/html"> | |
| 375 | + <div"> | |
| 376 | + <h3 class="btn_title_lines1"> | |
| 377 | + <a class="uk-link-reset" >智能延后发车时间 </a> | |
| 378 | + </h3> | |
| 379 | + <div> | |
| 380 | + <form> | |
| 381 | + <table> | |
| 382 | + | |
| 383 | + <tr> | |
| 384 | + <td> | |
| 385 | + 延后班次数量(个) | |
| 386 | + <input type="number" value="5" name="bcnum" id="bcnum"> | |
| 387 | + </td> | |
| 388 | + </tr> | |
| 389 | + </table> | |
| 390 | + </form> | |
| 391 | + | |
| 392 | + | |
| 393 | + </div> | |
| 394 | + </div> | |
| 395 | +</script>--> | ... | ... |
src/main/resources/static/real_control_v2/zndd/type/mz.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 1400px;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>满载</h2></div> | |
| 6 | + <div class="uk-grid uk-width-2-5" style="float: left"> | |
| 7 | + <div class="uk-width-5-5"> | |
| 8 | + <form class="uk-form uk-form-horizontal"> </form> | |
| 9 | + <div> | |
| 10 | + | |
| 11 | + | |
| 12 | + </div> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + <div class="uk-grid uk-width-3-5 lj_1" > | |
| 16 | + <div class="uk-width-1-4"> | |
| 17 | + <ul data-uk-switcher="{connect:'#tempScheduleContent'}" class="uk-nav uk-nav-side left_tabs_lg"> | |
| 18 | + <li data-handle="toAndFro"><a>1、往返</a></li> | |
| 19 | + <li data-handle="normal"><a>2、临加班次</a></li> | |
| 20 | + <!-- <li data-handle="parkToPark"><a>3、场到场</a></li>--> | |
| 21 | + </ul> | |
| 22 | + </div> | |
| 23 | + <div class="uk-width-3-4"> | |
| 24 | + <ul id="tempScheduleContent" class="uk-switcher"> | |
| 25 | + <li class="toAndFroCont"></li> | |
| 26 | + <li class="normalCont"></li> | |
| 27 | + <li class="parkToParkCont"></li> | |
| 28 | + </ul> | |
| 29 | + </div> | |
| 30 | + </div> | |
| 31 | + | |
| 32 | + </div> | |
| 33 | + | |
| 34 | + <script> | |
| 35 | + (function () { | |
| 36 | + var modal = '#schedule-addsch-modal', | |
| 37 | + sch, stationRoutes, parks, information, carsArray, st_park_data,conf; | |
| 38 | + | |
| 39 | + $(modal).on('init', function (e, data) { | |
| 40 | + e.stopPropagation(); | |
| 41 | + sch = data.data; | |
| 42 | + sch.xlBm = sch.lineCode; | |
| 43 | + | |
| 44 | + //站到场数据 | |
| 45 | + st_park_data = gb_data_basic.get_stat_park_data()[sch.xlBm]; | |
| 46 | + //站点路由 | |
| 47 | + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | |
| 48 | + return a.stationRouteCode - b.stationRouteCode; | |
| 49 | + }), 'directions'); | |
| 50 | + let route = stationRoutes[sch.xlDir]; | |
| 51 | + debugger | |
| 52 | + sch.startStation = route[0]; | |
| 53 | + sch.stopStation = route[route.length - 1]; | |
| 54 | + var formHtml = template('djg-form-temp', sch); | |
| 55 | + $('form', modal).html(formHtml); | |
| 56 | + //切换 | |
| 57 | + $("#destroySelect").on('change',function(){ | |
| 58 | + let fn = $('#destroySelect').val(); | |
| 59 | + if (fn == "0"){ | |
| 60 | + $('.video_1').css({display: ''}); | |
| 61 | + $('.video_2').css({display: 'none'}); | |
| 62 | + | |
| 63 | + }else { | |
| 64 | + $('.video_1').css({display: 'none'}); | |
| 65 | + $('.video_2').css({display: ''}); | |
| 66 | + } | |
| 67 | + }) | |
| 68 | + | |
| 69 | + //停车场 | |
| 70 | + parks = gb_data_basic.simpleParksArray(); | |
| 71 | + //线路标准 | |
| 72 | + information = gb_data_basic.getLineInformation(sch.xlBm); | |
| 73 | + //停车场排序,常用的放前面 | |
| 74 | + parks = sort_parks(parks, information, st_park_data); | |
| 75 | + //车辆信息 | |
| 76 | + carsArray = gb_data_basic.carsArray(); | |
| 77 | + | |
| 78 | + var st_doms = gb_schedule_context_menu.get_add_sch_doms_v2(); | |
| 79 | + | |
| 80 | + $.post('/znddLogger/thissch/'+sch.ids, function(res) { | |
| 81 | + //to and fro | |
| 82 | + $('.toAndFroCont', modal).html(st_doms.two_way_dom) | |
| 83 | + .trigger('init', {sch: res, submitFun: submit_temp_schedule_form, stationRoutes: stationRoutes}); | |
| 84 | + | |
| 85 | + | |
| 86 | + //normal | |
| 87 | + $('.normalCont', modal).html(st_doms.normal_dom) | |
| 88 | + .trigger('init', {sch: res, submitFun: submit_temp_schedule_form}); | |
| 89 | + }); | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + }); | |
| 94 | + | |
| 95 | + //init-autoCom | |
| 96 | + $(modal).on('init-autoCom', '.add-sch-form', function () { | |
| 97 | + //车辆 | |
| 98 | + if(carsArray) | |
| 99 | + gb_common.carAutocomplete($('.car-autocom', this), carsArray); | |
| 100 | + //驾驶员 | |
| 101 | + gb_common.personAutocomplete($('.jsy-autocom', this)); | |
| 102 | + //售票员 | |
| 103 | + gb_common.personAutocomplete($('.spy-autocom', this)); | |
| 104 | + //备注补全 | |
| 105 | + gb_common.remarksAutocomplete($('.remarks-autocom', this)); | |
| 106 | + }); | |
| 107 | + | |
| 108 | + //班次类型 和 上下行 切换事件 | |
| 109 | + $(modal).on('change', '.add-sch-form [name=bcType],.add-sch-form [name=xlDir]', reCalcInputs_type); | |
| 110 | + //起终点站改变事件 | |
| 111 | + $(modal).on('change', '[name=qdzCode],[name=zdzCode]', reCalcInputs_station); | |
| 112 | + //开始时间和公里改变 | |
| 113 | + $(modal).on('input', '.add-sch-form [name=fcsj],.add-sch-form [name=jhlc]', reCalcEndTime); | |
| 114 | + | |
| 115 | + | |
| 116 | + function reCalcInputs_type() { | |
| 117 | + var f = $(this).parents('.add-sch-form'); | |
| 118 | + var bcType_e = $('[name=bcType]', f) | |
| 119 | + , xlDir_e = $('[name=xlDir]', f); | |
| 120 | + | |
| 121 | + var routes = stationRoutes[xlDir_e.val()] | |
| 122 | + , lastCode = routes[routes.length - 1].stationCode | |
| 123 | + , opts = '', park_opts = ''; | |
| 124 | + //station options | |
| 125 | + $.each(routes, function () { | |
| 126 | + opts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>' | |
| 127 | + }); | |
| 128 | + //park options | |
| 129 | + for(var i=0,p;p=parks[i++];) | |
| 130 | + park_opts += '<option value="' + p.code + '">' + p.name + '</option>'; | |
| 131 | + | |
| 132 | + var qdz = $('[name=qdzCode]', f), zdz = $('[name=zdzCode]', f); | |
| 133 | + //var time, mileage; | |
| 134 | + switch (bcType_e.val()) { | |
| 135 | + case 'out': | |
| 136 | + qdz.html(park_opts).val(information.carPark); | |
| 137 | + zdz.html(opts); | |
| 138 | + break; | |
| 139 | + case 'in': | |
| 140 | + qdz.html(opts); | |
| 141 | + zdz.html(park_opts).val(information.carPark); | |
| 142 | + break; | |
| 143 | + default: | |
| 144 | + qdz.html(opts); | |
| 145 | + zdz.html(opts).val(lastCode); | |
| 146 | + } | |
| 147 | + | |
| 148 | + zdz.trigger('change'); | |
| 149 | + f.trigger('ct_callback'); | |
| 150 | + } | |
| 151 | + | |
| 152 | + function reCalcInputs_station() { | |
| 153 | + var f = $(this).parents('form'), | |
| 154 | + bcType = $('[name=bcType]', f).val(), | |
| 155 | + qdzCode = $('[name=qdzCode]', f).val(), | |
| 156 | + zdzCode =$('[name=zdzCode]', f).val(), | |
| 157 | + startDate = $('[name=fcsj]', f).val(), | |
| 158 | + upDown = $('[name=xlDir]', f).val(), mileage, time; | |
| 159 | + | |
| 160 | + //从站到场里获取数据 | |
| 161 | + var stp = search_st_park(f); | |
| 162 | + if(stp){ | |
| 163 | + mileage=bcType=='in'?stp['mileage1']:stp['mileage2']; | |
| 164 | + time=bcType=='in'?stp['time1']:stp['time2']; | |
| 165 | + } | |
| 166 | + else{ | |
| 167 | + switch (upDown + '_' + bcType) { | |
| 168 | + case '0_out'://上行出场 | |
| 169 | + mileage = information.upOutMileage; | |
| 170 | + time = information.upOutTimer; | |
| 171 | + break; | |
| 172 | + case '1_out'://下行出场 | |
| 173 | + mileage = information.downOutMileage; | |
| 174 | + time = information.downOutTimer; | |
| 175 | + break; | |
| 176 | + case '0_in'://上行进场 | |
| 177 | + mileage = information.upInMileage; | |
| 178 | + time = information.upInTimer; | |
| 179 | + break; | |
| 180 | + case '1_in'://下行进场 | |
| 181 | + mileage = information.downInMileage; | |
| 182 | + time = information.downInTimer; | |
| 183 | + break; | |
| 184 | + default: | |
| 185 | + | |
| 186 | + var qc_time=upDown==0?information.upTravelTime:information.downTravelTime, | |
| 187 | + qc_mileage=upDown==0?information.upMileage:information.downMileage, _type; | |
| 188 | + if(is_normal_sch(f)){ | |
| 189 | + _type='normal'; | |
| 190 | + mileage=qc_mileage; | |
| 191 | + } | |
| 192 | + else{ | |
| 193 | + _type='region'; | |
| 194 | + mileage = calcMileage(stationRoutes[upDown], qdzCode, zdzCode); | |
| 195 | + } | |
| 196 | + | |
| 197 | + time = gb_common.mul(gb_common.accDiv(qc_time, qc_mileage), mileage); | |
| 198 | + if(bcType!='ldks' && bcType!='major' && bcType!='venting') | |
| 199 | + $('[name=bcType]', f).val(_type); | |
| 200 | + } | |
| 201 | + } | |
| 202 | + | |
| 203 | + $('[name=jhlc]', f).val(mileage); | |
| 204 | + var et = moment(startDate, 'HH:mm').add(time, 'minutes'); | |
| 205 | + $f('zdsj', f).val(et.format('HH:mm')); | |
| 206 | + f.trigger('ct_callback'); | |
| 207 | + } | |
| 208 | + | |
| 209 | + | |
| 210 | + function reCalcEndTime() { | |
| 211 | + var f = $(this).parents('.add-sch-form') | |
| 212 | + , startDate = $f('fcsj', f).val()//开始时间 | |
| 213 | + , mileage = $f('jhlc', f).val()//公里 | |
| 214 | + , type2 = $f('bcType', f).val(),//班次类型 | |
| 215 | + upDown = $('[name=xlDir]', f).val(); | |
| 216 | + if (!startDate || !mileage) | |
| 217 | + return; | |
| 218 | + | |
| 219 | + var time; | |
| 220 | + //从站到场里获取数据 | |
| 221 | + var stp = search_st_park(f); | |
| 222 | + if(stp){ | |
| 223 | + time=type2=='in'?stp['time1']:stp['time2']; | |
| 224 | + } | |
| 225 | + else{ | |
| 226 | + if (type2 == 'in') | |
| 227 | + time = upDown == 0 ? information.upInTimer : information.downInTimer; | |
| 228 | + else if (type2 == 'out') | |
| 229 | + time = upDown == 0 ? information.upOutTimer : information.downOutTimer; | |
| 230 | + else{ | |
| 231 | + var qc_time=upDown==0?information.upTravelTime:information.downTravelTime, | |
| 232 | + qc_mileage=upDown==0?information.upMileage:information.downMileage; | |
| 233 | + | |
| 234 | + time = gb_common.mul(gb_common.accDiv(qc_time, qc_mileage), mileage); | |
| 235 | + } | |
| 236 | + } | |
| 237 | + | |
| 238 | + var et = moment(startDate, 'HH:mm').add(time, 'minutes'); | |
| 239 | + $f('zdsj', f).val(et.format('HH:mm')); | |
| 240 | + f.trigger('ct_callback'); | |
| 241 | + } | |
| 242 | + | |
| 243 | + function is_normal_sch(f) { | |
| 244 | + var qdzCode = $('[name=qdzCode]', f).val(), | |
| 245 | + zdzCode =$('[name=zdzCode]', f).val(), | |
| 246 | + upDown = $('[name=xlDir]', f).val(), | |
| 247 | + rts = stationRoutes[upDown]; | |
| 248 | + | |
| 249 | + if(rts[0].stationCode == qdzCode | |
| 250 | + && rts[rts.length - 1].stationCode == zdzCode) | |
| 251 | + return true; | |
| 252 | + else | |
| 253 | + return false; | |
| 254 | + } | |
| 255 | + | |
| 256 | + function isInOut(bcType) { | |
| 257 | + return bcType=='in' || bcType=='out'; | |
| 258 | + } | |
| 259 | + | |
| 260 | + /** | |
| 261 | + * 计算线路上站点间公里 | |
| 262 | + */ | |
| 263 | + function calcMileage(rts, s, e) { | |
| 264 | + var mileage = 0, flag, code; | |
| 265 | + $.each(rts, function () { | |
| 266 | + code = this['stationCode']; | |
| 267 | + if (flag) | |
| 268 | + mileage = gb_common.accAdd(mileage, this.distances); | |
| 269 | + if (code == s) | |
| 270 | + flag = true; | |
| 271 | + if (code == e) | |
| 272 | + return false; | |
| 273 | + }); | |
| 274 | + return mileage; | |
| 275 | + } | |
| 276 | + | |
| 277 | + function search_st_park(f) { | |
| 278 | + if(!st_park_data) | |
| 279 | + return; | |
| 280 | + var stp; | |
| 281 | + var qdSelect=$f('qdzCode', f)[0],zdSelect=$f('zdzCode', f)[0]; | |
| 282 | + | |
| 283 | + if(qdSelect.options.selectedIndex < 0 || zdSelect.options.selectedIndex < 0) | |
| 284 | + return; | |
| 285 | + var qdzName=qdSelect.options[qdSelect.options.selectedIndex].text, | |
| 286 | + zdzName=zdSelect.options[zdSelect.options.selectedIndex].text, | |
| 287 | + type2 = $f('bcType', f).val(); | |
| 288 | + | |
| 289 | + if(!isInOut(type2)) | |
| 290 | + return; | |
| 291 | + | |
| 292 | + $.each(st_park_data, function () { | |
| 293 | + if((type2=='in' && this.stationName==qdzName && this.parkName==zdzName) | |
| 294 | + || (type2=='out' && this.stationName==zdzName && this.parkName==qdzName)){ | |
| 295 | + stp = this; | |
| 296 | + return false; | |
| 297 | + } | |
| 298 | + }); | |
| 299 | + | |
| 300 | + return stp; | |
| 301 | + } | |
| 302 | + | |
| 303 | + /** | |
| 304 | + * 停车场排序 | |
| 305 | + * @param parks 停车场 code 2 name | |
| 306 | + * @param information 线路标准 | |
| 307 | + * @param st_park_data 站到场 | |
| 308 | + */ | |
| 309 | + function sort_parks(parks, information, st_park_data) { | |
| 310 | + var array = [], names=[]; | |
| 311 | + for(var code in parks){ | |
| 312 | + array.push({code: code, name: parks[code]}); | |
| 313 | + } | |
| 314 | + | |
| 315 | + if(st_park_data && st_park_data.length > 0){ | |
| 316 | + $.each(st_park_data, function () { | |
| 317 | + names.push(this.parkName); | |
| 318 | + }); | |
| 319 | + } | |
| 320 | + | |
| 321 | + //debugger | |
| 322 | + array.sort(function (a, b) { | |
| 323 | + if(a.code==information.carPark) | |
| 324 | + return -1; | |
| 325 | + if(b.code==information.carPark) | |
| 326 | + return 1; | |
| 327 | + | |
| 328 | + var ai = names.indexOf(a.name), | |
| 329 | + bi = names.indexOf(b.name); | |
| 330 | + | |
| 331 | + if(ai!=-1 && bi==-1) | |
| 332 | + return -1; | |
| 333 | + else if(ai==-1 && bi!=-1) | |
| 334 | + return 1; | |
| 335 | + else | |
| 336 | + return $.trim(a.name).localeCompare($.trim(b.name), 'zh-CN'); | |
| 337 | + }); | |
| 338 | + return array; | |
| 339 | + } | |
| 340 | + | |
| 341 | + function $f(name, f) { | |
| 342 | + return $('[name=' + name + ']', f); | |
| 343 | + } | |
| 344 | + | |
| 345 | + /** | |
| 346 | + * 提交表单 | |
| 347 | + */ | |
| 348 | + function submit_temp_schedule_form(data, cb, err) { | |
| 349 | + if (!data.lpName) { | |
| 350 | + notify_err('路牌信息缺失'); | |
| 351 | + return; | |
| 352 | + } | |
| 353 | + data.xlBm = sch.xlBm; | |
| 354 | + data.xlName = sch.xlName; | |
| 355 | + //拆分驾驶员工号和姓名 | |
| 356 | + data.jGh = data.jsy.split('/')[0]; | |
| 357 | + data.jName = data.jsy.split('/')[1]; | |
| 358 | + delete data.jsy; | |
| 359 | + //拆分售票员工号和姓名 | |
| 360 | + if (data.spy != '') { | |
| 361 | + data.sGh = data.spy.split('/')[0]; | |
| 362 | + data.sName = data.spy.split('/')[1]; | |
| 363 | + delete data.spy; | |
| 364 | + } | |
| 365 | + | |
| 366 | + //公司信息 | |
| 367 | + var line = gb_data_basic.findLineByCodes([data.xlBm]); | |
| 368 | + if(line && line.length > 0){ | |
| 369 | + line = line[0]; | |
| 370 | + data.xlName = line.name; | |
| 371 | + data.gsBm = line.company; | |
| 372 | + data.fgsBm = line.brancheCompany; | |
| 373 | + } | |
| 374 | + | |
| 375 | + gb_common.$post('/realSchedule', data, function (rs) { | |
| 376 | + notify_succ('新增临加班次成功'); | |
| 377 | + cb && cb(rs); | |
| 378 | + }, err); | |
| 379 | + } | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + })(); | |
| 385 | + </script> | |
| 386 | +</div> | |
| 387 | + | |
| 388 | +<script id="djg-form-temp" type="text/html"> | |
| 389 | + <input type="hidden" name="id" value=""/> | |
| 390 | + | |
| 391 | + <div class="uk-grid"> | |
| 392 | + <div class="uk-width-4-2"> | |
| 393 | + <div class="uk-form-row"> | |
| 394 | + <h3>满载信息</h3> | |
| 395 | + </div> | |
| 396 | + </div> | |
| 397 | + </div> | |
| 398 | + <div class="uk-grid"> | |
| 399 | + <div class="uk-width-4-2"> | |
| 400 | + <div class="uk-form-row"> | |
| 401 | + <label class="uk-form-labels" >{{lineName}} {{startStation.stationName}} -> {{stopStation.stationName}}方向 的 {{clzbh}} 出现满载</label> | |
| 402 | + </div> | |
| 403 | + </div> | |
| 404 | + | |
| 405 | + </div> | |
| 406 | + | |
| 407 | + <div class="uk-grid"> | |
| 408 | + <div class="uk-width-1-2"> | |
| 409 | + <div class="uk-form-row"> | |
| 410 | + <label class="uk-form-label">车辆发车时间</label> | |
| 411 | + <div class="uk-form-controls"> | |
| 412 | + <input type="time" value="{{fcsj}}" name="fcsj" disabled> | |
| 413 | + </div> | |
| 414 | + </div> | |
| 415 | + </div> | |
| 416 | + <div class="uk-width-1-2"> | |
| 417 | + <div class="uk-form-row"> | |
| 418 | + <label class="uk-form-label">车辆所在站点</label> | |
| 419 | + <div class="uk-form-controls"> | |
| 420 | + <input value="环湖西三路杞青路" disabled> | |
| 421 | + </div> | |
| 422 | + </div> | |
| 423 | + </div> | |
| 424 | + </div> | |
| 425 | + | |
| 426 | + <div class="uk-grid"> | |
| 427 | + <div class="uk-width-1-2"> | |
| 428 | + <div class="uk-form-row"> | |
| 429 | + <label class="uk-form-label">车内人数</label> | |
| 430 | + <div class="uk-form-controls"> | |
| 431 | + <input value="23" disabled> | |
| 432 | + </div> | |
| 433 | + </div> | |
| 434 | + </div> | |
| 435 | + <div class="uk-width-1-2"> | |
| 436 | + <div class="uk-form-row"> | |
| 437 | + <label class="uk-form-label">摄像</label> | |
| 438 | + <div class="uk-form-controls"> | |
| 439 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 440 | + <option value="0">-- 前车厢 --</option> | |
| 441 | + <option value="1">-- 后车厢 --</option> | |
| 442 | + </select> | |
| 443 | + </div> | |
| 444 | + </div> | |
| 445 | + </div> | |
| 446 | + </div> | |
| 447 | + <div class="uk-grid"> | |
| 448 | + | |
| 449 | + <div class="uk-width-1-1"> | |
| 450 | + <div class="uk-form-row"> | |
| 451 | + <label class="uk-form-label">车内视频:</label> | |
| 452 | + </div> | |
| 453 | + </div> | |
| 454 | + </div> | |
| 455 | + <div class="uk-grid"> | |
| 456 | + <div class="uk-width-4-2"> | |
| 457 | + <div class="uk-form-row video_1"> | |
| 458 | + <video id="myVideo" style="width: 100%" src="/real_control_v2/zndd/video/a.mp4" controls></video> | |
| 459 | + </div> | |
| 460 | + <div class="uk-form-row video_2" style="display: none"> | |
| 461 | + <video id="myVideos" style="width: 100%" src="/real_control_v2/zndd/video/b.mp4" controls></video> | |
| 462 | + </div> | |
| 463 | + </div> | |
| 464 | + </div> | |
| 465 | + | |
| 466 | + <div class="uk-grid"> | |
| 467 | + <div class="uk-width-4-2"> | |
| 468 | + <div class="uk-form-row"> | |
| 469 | + <h3>方案优势</h3> | |
| 470 | + </div> | |
| 471 | + </div> | |
| 472 | + </div> | |
| 473 | + | |
| 474 | + <div class="uk-grid fanganys"> | |
| 475 | + <div class="uk-width-1-2"> | |
| 476 | + <div class="uk-form-row"> | |
| 477 | + <label class="uk-form-label">载客量</label> | |
| 478 | + <div class="uk-form-controls"> | |
| 479 | + <i class="icon-user"></i> | |
| 480 | + <input value="24" disabled> | |
| 481 | + </div> | |
| 482 | + </div> | |
| 483 | + </div> | |
| 484 | + <div class="uk-width-1-2"> | |
| 485 | + <div class="uk-form-row"> | |
| 486 | + <label class="uk-form-label">准点率</label> | |
| 487 | + <div class="uk-form-controls"> | |
| 488 | + <i class="icon-user"></i> | |
| 489 | + <input value="0.1%" disabled> | |
| 490 | + </div> | |
| 491 | + </div> | |
| 492 | + </div> | |
| 493 | + </div> | |
| 494 | + <div class="uk-grid fanganys"> | |
| 495 | + <div class="uk-width-1-2"> | |
| 496 | + <div class="uk-form-row"> | |
| 497 | + <label class="uk-form-label">乘客满意度</label> | |
| 498 | + <div class="uk-form-controls"> | |
| 499 | + <i class="icon-user"></i> | |
| 500 | + <input value="0.1%" disabled> | |
| 501 | + </div> | |
| 502 | + </div> | |
| 503 | + </div> | |
| 504 | + <div class="uk-width-1-2"> | |
| 505 | + <div class="uk-form-row"> | |
| 506 | + <label class="uk-form-label">运营效率</label> | |
| 507 | + <div class="uk-form-controls"> | |
| 508 | + <i class="icon-user"></i> | |
| 509 | + <input value="0.3%" disabled> | |
| 510 | + </div> | |
| 511 | + </div> | |
| 512 | + </div> | |
| 513 | + </div> | |
| 514 | + | |
| 515 | + <!-- 表单按钮组件 START --> | |
| 516 | + <div class="form-actions"> | |
| 517 | + <div class="row"> | |
| 518 | + <div class="col-md-offset-5 col-md-7"> | |
| 519 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> | |
| 520 | + <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | |
| 521 | + </div> | |
| 522 | + </div> | |
| 523 | + </div> | |
| 524 | +</script> | |
| 525 | +<style> | |
| 526 | + .fanganys input{ | |
| 527 | + text-align: center; | |
| 528 | + } | |
| 529 | + .icon-user{ | |
| 530 | + | |
| 531 | + position: absolute; | |
| 532 | + background-image: url(/real_control_v2/zndd/img/up.png); /*引入图片图片*/ | |
| 533 | + background-size: 100% 100%; | |
| 534 | + background-repeat: no-repeat; /*设置图片不重复*/ | |
| 535 | + background-position: 0px 0px; /*图片显示的位置*/ | |
| 536 | + width: 30px; /*设置图片显示的宽*/ | |
| 537 | + height: 30px; /*图片显示的高*/ | |
| 538 | + | |
| 539 | + } | |
| 540 | + | |
| 541 | +</style> | ... | ... |
src/main/resources/static/real_control_v2/zndd/type/wd.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal ct_move_modal" id="wd-addsch-modal"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 850px;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>误点<i class="uk-icon-question-circle uk-icon-hover"></i></h2></div> | |
| 6 | + | |
| 7 | + <div class="uk-grid uk-width-3-5 lj_1" style="float: left"> | |
| 8 | + <form class="uk-form uk-form-horizontal"> </form> | |
| 9 | + </div> | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + <div class="uk-grid uk-width-2-5 lj_2" style="padding-left: 100px"> | |
| 14 | + <div class="uk-width-1-1" id ="tempsdsf"></div> | |
| 15 | + | |
| 16 | + </div> | |
| 17 | + </div> | |
| 18 | + | |
| 19 | + <script> | |
| 20 | + (function () { | |
| 21 | + var modal = '#wd-addsch-modal', | |
| 22 | + sch, stationRoutes, parks, information, carsArray, st_park_data,conf; | |
| 23 | + var f = $('.uk-form-horizontal', modal); | |
| 24 | + | |
| 25 | + $(modal).on('init', function (e, data) { | |
| 26 | + e.stopPropagation(); | |
| 27 | + | |
| 28 | + sch = data.data; | |
| 29 | + sch.xlBm = sch.lineCode; | |
| 30 | + //站点路由 | |
| 31 | + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | |
| 32 | + return a.stationRouteCode - b.stationRouteCode; | |
| 33 | + }), 'directions'); | |
| 34 | + let route = stationRoutes[sch.xlDir]; | |
| 35 | + sch.startStation = route[0]; | |
| 36 | + sch.stopStation = route[route.length - 1]; | |
| 37 | + var formHtml = template('wd-form-temp', sch); | |
| 38 | + $('form', modal).html(formHtml); | |
| 39 | + //车辆信息 | |
| 40 | + carsArray = gb_data_basic.carsArray(); | |
| 41 | + initAutoCom(f); | |
| 42 | + $.get('/lineConfig/getByLineCode', {lineCode: sch.lineCode}, function (datan) { | |
| 43 | + var formHtmls = template('buffer_config_form-temp1', datan); | |
| 44 | + conf = datan; | |
| 45 | + $('#tempsdsf', modal).html(formHtmls); | |
| 46 | + $('[name=enableYjtk]', modal).on('change', function () { | |
| 47 | + if($(this).val() == '1'){ | |
| 48 | + enableYjtkForm(); | |
| 49 | + } | |
| 50 | + else | |
| 51 | + disabledYjtkForm(); | |
| 52 | + }); | |
| 53 | + }); | |
| 54 | + | |
| 55 | + | |
| 56 | + f.formValidation(gb_form_validation_opts); | |
| 57 | + f.on('success.form.fv', function(e) { | |
| 58 | + | |
| 59 | + | |
| 60 | + e.preventDefault(); | |
| 61 | + var data = $(this).serializeJSON(); | |
| 62 | + let fn = $('#destroySelect').val(); | |
| 63 | + debugger | |
| 64 | + if (fn == "1"){ | |
| 65 | + //调整人员车辆 | |
| 66 | + let datas = { | |
| 67 | + id : sch.sch.id, | |
| 68 | + jsy: data.jsy, | |
| 69 | + clZbh : data.clZbh, | |
| 70 | + remarks : '调整人员车辆', | |
| 71 | + } | |
| 72 | + | |
| 73 | + gb_common.$post('/realSchedule/schInfoFineTune', datas, function(rs){ | |
| 74 | + gb_schedule_table.updateSchedule(rs.ts); | |
| 75 | + UIkit.modal(modal).hide(); | |
| 76 | + notify_succ('操作成功!'); | |
| 77 | + //计算应发未发 | |
| 78 | + gb_schedule_table.calc_yfwf_num(sch.xlBm); | |
| 79 | + //更新路牌公里统计面板 | |
| 80 | + gb_schedule_table.showLpMileageTipBySch(sch); | |
| 81 | + }); | |
| 82 | + | |
| 83 | + }else if((fn == "2")) { | |
| 84 | + gb_common.$post_arr('/realSchedule/lateAdjust', {idx: sch.id, minute: data.wdsj}, function (rs) { | |
| 85 | + console.log('误点调整rs', rs); | |
| 86 | + if(rs.ts){ | |
| 87 | + gb_schedule_table.updateSchedule(rs.ts); | |
| 88 | + notify_succ('成功设置误点停靠时间'); | |
| 89 | + UIkit.modal(modal).hide(); | |
| 90 | + } | |
| 91 | + }); | |
| 92 | + } | |
| 93 | + }); | |
| 94 | + | |
| 95 | + // 之后可以在事件处理函数中给它赋值 | |
| 96 | + document.getElementById('wdsj').onkeyup = function(event) { | |
| 97 | + debugger | |
| 98 | + let KeyP = event.target.value; // 赋值 | |
| 99 | + $('#dfsj').val($('#dfsj_0').val() +' + '+ KeyP) | |
| 100 | + // ...其他代码... | |
| 101 | + }; | |
| 102 | + //方案选择 | |
| 103 | + $("#destroySelect").on('change',function(){ | |
| 104 | + debugger | |
| 105 | + let fn = $('#destroySelect').val(); | |
| 106 | + if (fn == "1"){ | |
| 107 | + $(".lj_2").css({ display: 'none'}); | |
| 108 | + $(".k1").css({ display: ''}); | |
| 109 | + $(".k2").css({display: ''}); | |
| 110 | + $(".k3").css({display: 'none'}); | |
| 111 | + }else if((fn == "2")) { | |
| 112 | + $(".lj_2").css({ display: 'none'}); | |
| 113 | + $(".k1").css({ display: ''}); | |
| 114 | + $(".k2").css({display: 'none'}); | |
| 115 | + $(".k3").css({display: ''}); | |
| 116 | + }else { | |
| 117 | + $(".lj_2").css({ display: ''}); | |
| 118 | + $(".k1").css({ display: 'none'}); | |
| 119 | + $(".k2").css({display: 'none'}); | |
| 120 | + $(".k3").css({display: 'none'}); | |
| 121 | + } | |
| 122 | + }) | |
| 123 | + | |
| 124 | + }); | |
| 125 | + | |
| 126 | + | |
| 127 | + function initAutoCom(f) { | |
| 128 | + //车辆 | |
| 129 | + debugger | |
| 130 | + if(carsArray) | |
| 131 | + gb_common.carAutocomplete($('.car-autocom', f), carsArray); | |
| 132 | + //驾驶员 | |
| 133 | + gb_common.personAutocomplete($('.jsy-autocom', f)); | |
| 134 | + //售票员 | |
| 135 | + gb_common.personAutocomplete($('.spy-autocom', f)); | |
| 136 | + //备注补全 | |
| 137 | + gb_common.remarksAutocomplete($('.remarks-autocom', f)); | |
| 138 | + } | |
| 139 | + function enableYjtkForm() { | |
| 140 | + var f = $('form[name=yjtkForm]', modal); | |
| 141 | + $('input', f).removeAttr('disabled'); | |
| 142 | + //开始时间 | |
| 143 | + if($('[name=yjtkStart]',f).val() == '') | |
| 144 | + $('[name=yjtkStart]',f).val('00:00'); | |
| 145 | + if($('[name=yjtkEnd]',f).val() == '') | |
| 146 | + $('[name=yjtkEnd]',f).val('23:59'); | |
| 147 | + var data = f.serializeJSON(); | |
| 148 | + data.lineCode = conf.line.lineCode; | |
| 149 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 150 | + conf = rs.conf; | |
| 151 | + notify_succ('启用随到随发'); | |
| 152 | + }); | |
| 153 | + } | |
| 154 | + function disabledYjtkForm() { | |
| 155 | + var f = $('form[name=yjtkForm]', modal); | |
| 156 | + $('input', f).attr('disabled', 'disabled'); | |
| 157 | + //恢复val | |
| 158 | + $('[name=yjtkStart]',f).val(conf.yjtkStart); | |
| 159 | + $('[name=yjtkEnd]',f).val(conf.yjtkEnd); | |
| 160 | + $('[name=upStopMinute]',f).val(conf.upStopMinute); | |
| 161 | + $('[name=downStopMinute]',f).val(conf.downStopMinute); | |
| 162 | + | |
| 163 | + var data = {enableYjtk: 0, lineCode: conf.line.lineCode}; | |
| 164 | + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) { | |
| 165 | + conf = rs.conf; | |
| 166 | + notify_succ('禁用随到随发'); | |
| 167 | + }); | |
| 168 | + } | |
| 169 | + | |
| 170 | + | |
| 171 | + $(modal).on('mouseenter', '.uk-icon-question-circle', function() { | |
| 172 | + debugger | |
| 173 | + $(this).qtip({ | |
| 174 | + show: { | |
| 175 | + ready: true, | |
| 176 | + delay: 0 | |
| 177 | + }, | |
| 178 | + content: { | |
| 179 | + text: function() { | |
| 180 | + return template('home-icoe-img'); | |
| 181 | + } | |
| 182 | + }, | |
| 183 | + position: { | |
| 184 | + viewport: $(window) , | |
| 185 | + }, | |
| 186 | + style: { | |
| 187 | + classes: 'qtip-img' | |
| 188 | + }, | |
| 189 | + hide: { | |
| 190 | + fixed: true, | |
| 191 | + delay: 300 | |
| 192 | + }, | |
| 193 | + }); | |
| 194 | + }); | |
| 195 | + | |
| 196 | + })(); | |
| 197 | + </script> | |
| 198 | +</div> | |
| 199 | + | |
| 200 | +<script id="wd-form-temp" type="text/html"> | |
| 201 | + <input type="hidden" name="id" value=""/> | |
| 202 | + | |
| 203 | + <div class="uk-grid"> | |
| 204 | + <div class="uk-width-4-2"> | |
| 205 | + <div class="uk-form-row"> | |
| 206 | + <h3>误点信息</h3> | |
| 207 | + </div> | |
| 208 | + </div> | |
| 209 | + </div> | |
| 210 | + <div class="uk-grid"> | |
| 211 | + <div class="uk-width-4-2"> | |
| 212 | + <div class="uk-form-row"> | |
| 213 | + <label class="uk-form-labels" >{{lineName}} {{startStation.stationName}} -> {{stopStation.stationName}}方向 的 {{clzbh}} 出现误点</label> | |
| 214 | + </div> | |
| 215 | + </div> | |
| 216 | + </div> | |
| 217 | + <div class="uk-grid"> | |
| 218 | + <div class="uk-width-1-1"> | |
| 219 | + <div class="uk-form-row"> | |
| 220 | + <label class="uk-form-labels">待发时间 {{sch.fcsj}}-> 实发时间 {{sch.fcsjActual}}</label> | |
| 221 | + | |
| 222 | + </div> | |
| 223 | + </div> | |
| 224 | + </div> | |
| 225 | + <div class="uk-grid"> | |
| 226 | + <div class="uk-width-1-2"> | |
| 227 | + <div class="uk-form-row"> | |
| 228 | + <label class="uk-form-label">调整前:</label> | |
| 229 | + <div class="uk-form-controls"> | |
| 230 | + </div> | |
| 231 | + </div> | |
| 232 | + </div> | |
| 233 | + <div class="uk-width-1-2"> | |
| 234 | + <div class="uk-form-row"> | |
| 235 | + <label class="uk-form-label">调整后:</label> | |
| 236 | + <div class="uk-form-controls"> | |
| 237 | + </div> | |
| 238 | + </div> | |
| 239 | + </div> | |
| 240 | + </div> | |
| 241 | + <div class="uk-grid"> | |
| 242 | + <div class="uk-width-1-2"> | |
| 243 | + <div class="uk-form-row"> | |
| 244 | + <label class="uk-form-label">线路名称</label> | |
| 245 | + <div class="uk-form-controls"> | |
| 246 | + <input value="{{sch.xlName}}" disabled> | |
| 247 | + </div> | |
| 248 | + </div> | |
| 249 | + </div> | |
| 250 | + <div class="uk-width-1-2"> | |
| 251 | + <div class="uk-form-row"> | |
| 252 | + <label class="uk-form-label">线路名称</label> | |
| 253 | + <div class="uk-form-controls"> | |
| 254 | + <input value="{{sch.xlName}}" disabled> | |
| 255 | + </div> | |
| 256 | + </div> | |
| 257 | + </div> | |
| 258 | + </div> | |
| 259 | + <div class="uk-grid"> | |
| 260 | + <div class="uk-width-1-2"> | |
| 261 | + <div class="uk-form-row"> | |
| 262 | + <label class="uk-form-label">路牌</label> | |
| 263 | + <div class="uk-form-controls"> | |
| 264 | + <input value="{{sch.lpName}}" disabled> | |
| 265 | + </div> | |
| 266 | + </div> | |
| 267 | + </div> | |
| 268 | + <div class="uk-width-1-2"> | |
| 269 | + <div class="uk-form-row"> | |
| 270 | + <label class="uk-form-label">路牌</label> | |
| 271 | + <div class="uk-form-controls"> | |
| 272 | + <input value="{{sch.lpName}}" disabled> | |
| 273 | + </div> | |
| 274 | + </div> | |
| 275 | + </div> | |
| 276 | + </div> | |
| 277 | + <div class="uk-grid"> | |
| 278 | + <div class="uk-width-2-2"> | |
| 279 | + <div class="uk-form-row"> | |
| 280 | + <label class="uk-form-label">选择方案</label> | |
| 281 | + <div class="uk-form-controls"> | |
| 282 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 283 | + <option value="0">-- 随到随发 --</option> | |
| 284 | + <option value="1">-- 换人换车 --</option> | |
| 285 | + <option value="2">-- 误点待发调整 --</option> | |
| 286 | + </select> | |
| 287 | + </div> | |
| 288 | + </div> | |
| 289 | + </div> | |
| 290 | + </div> | |
| 291 | + <div class="uk-grid k2"style="display: none"> | |
| 292 | + <div class="uk-width-1-2"> | |
| 293 | + <div class="uk-form-row"> | |
| 294 | + <label class="uk-form-label">车辆</label> | |
| 295 | + <div class="uk-form-controls"> | |
| 296 | + <input value="{{sch.clZbh}}" disabled> | |
| 297 | + </div> | |
| 298 | + </div> | |
| 299 | + </div> | |
| 300 | + <div class="uk-width-1-2"> | |
| 301 | + <div class="uk-form-row"> | |
| 302 | + <label class="uk-form-label">车辆</label> | |
| 303 | + <div class="uk-form-controls car-autocom"> | |
| 304 | + <input value="{{sch.clZbh}}" name="clZbh" required> | |
| 305 | + </div> | |
| 306 | + </div> | |
| 307 | + </div> | |
| 308 | + </div> | |
| 309 | + | |
| 310 | + <div class="uk-grid k2"style="display: none"> | |
| 311 | + <div class="uk-width-1-2"> | |
| 312 | + <div class="uk-form-row"> | |
| 313 | + <label class="uk-form-label">人员</label> | |
| 314 | + <div class="uk-form-controls"> | |
| 315 | + <input value="{{sch.jName}}" disabled> | |
| 316 | + </div> | |
| 317 | + </div> | |
| 318 | + </div> | |
| 319 | + <div class="uk-width-1-2"> | |
| 320 | + <div class="uk-form-row"> | |
| 321 | + <label class="uk-form-label">人员</label> | |
| 322 | + <div class="uk-form-controls uk-form jsy-autocom"> | |
| 323 | + <input type="text" value="{{sch.jGh}}/{{sch.jName}}" name="jsy" required> | |
| 324 | + | |
| 325 | + </div> | |
| 326 | + </div> | |
| 327 | + </div> | |
| 328 | + </div> | |
| 329 | + <div class="uk-grid k3"style="display: none"> | |
| 330 | + <div class="uk-width-1-2"> | |
| 331 | + <div class="uk-form-row"> | |
| 332 | + <label class="uk-form-label">误点时间(分钟)</label> | |
| 333 | + <div class="uk-form-controls"> | |
| 334 | + <input value="{{sch.lateMinute}}" disabled> | |
| 335 | + </div> | |
| 336 | + </div> | |
| 337 | + </div> | |
| 338 | + <div class="uk-width-1-2"> | |
| 339 | + <div class="uk-form-row"> | |
| 340 | + <label class="uk-form-label">误点时间(分钟)</label> | |
| 341 | + <div class="uk-form-controls"> | |
| 342 | + <input value="6" name="wdsj" id="wdsj"> | |
| 343 | + </div> | |
| 344 | + </div> | |
| 345 | + </div> | |
| 346 | + </div> | |
| 347 | + <div class="uk-grid k3" style="display: none"> | |
| 348 | + <div class="uk-width-1-2"> | |
| 349 | + <div class="uk-form-row"> | |
| 350 | + <label class="uk-form-label">待发时间</label> | |
| 351 | + <div class="uk-form-controls"> | |
| 352 | + <input value="{{sch.fcsj}}" id="dfsj_0" disabled> | |
| 353 | + </div> | |
| 354 | + </div> | |
| 355 | + </div> | |
| 356 | + <div class="uk-width-1-2"> | |
| 357 | + <div class="uk-form-row"> | |
| 358 | + <label class="uk-form-label">待发时间</label> | |
| 359 | + <div class="uk-form-controls"> | |
| 360 | + <input value="{{sch.fcsj}} + {{sch.lateMinute}}" name="wd" id="dfsj" disabled> | |
| 361 | + </div> | |
| 362 | + </div> | |
| 363 | + </div> | |
| 364 | + </div> | |
| 365 | + | |
| 366 | + <div class="uk-grid"> | |
| 367 | + <div class="uk-width-4-2"> | |
| 368 | + <div class="uk-form-row"> | |
| 369 | + <h3>方案优势</h3> | |
| 370 | + </div> | |
| 371 | + </div> | |
| 372 | + </div> | |
| 373 | + <div class="uk-grid"> | |
| 374 | + <div class="uk-width-1-2"> | |
| 375 | + <div class="uk-form-row"> | |
| 376 | + <label class="uk-form-label">发现效率</label> | |
| 377 | + <div class="uk-form-controls"> | |
| 378 | + <i class="icon-user"></i> | |
| 379 | + <input value="80%" disabled> | |
| 380 | + </div> | |
| 381 | + </div> | |
| 382 | + </div> | |
| 383 | + <div class="uk-width-1-2"> | |
| 384 | + <div class="uk-form-row"> | |
| 385 | + <label class="uk-form-label">处置效率</label> | |
| 386 | + <div class="uk-form-controls"> | |
| 387 | + <i class="icon-user"></i> | |
| 388 | + <input value="50%" disabled> | |
| 389 | + </div> | |
| 390 | + </div> | |
| 391 | + </div> | |
| 392 | + </div> | |
| 393 | + <div class="uk-grid"> | |
| 394 | + | |
| 395 | + </div> | |
| 396 | + <div class="uk-modal-footer uk-text-right k1" style="display: none"> | |
| 397 | + <button type="button" class="uk-button uk-modal-close">取消</button> | |
| 398 | + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | |
| 399 | + </div> | |
| 400 | +</script> | |
| 401 | +<style> | |
| 402 | + .uk-form-labels{ | |
| 403 | + margin-top: 5px; | |
| 404 | + } | |
| 405 | +</style> | |
| 406 | + | |
| 407 | +<script id="home-icoe-img" type="text/html"> | |
| 408 | + <img src="/real_control_v2/zndd/img/wd_0.png" style="width: 100%;height: 100%"> | |
| 409 | +</script> | |
| 410 | + | |
| 411 | + | |
| 412 | +<script id="buffer_config_form-temp1" type="text/html"> | |
| 413 | + <div id="emergency_stop_panel"> | |
| 414 | + <h3 class="btn_title_lines1"> | |
| 415 | + <a class="uk-link-reset" >调整随到随发 </a> | |
| 416 | + </h3> | |
| 417 | + <div> | |
| 418 | + <form class="uk-form" name="yjtkForm"> | |
| 419 | + <table> | |
| 420 | + <tr> | |
| 421 | + <td colspan="2"> | |
| 422 | + 是否启用 | |
| 423 | + <select class="z-depth-input" name="enableYjtk"> | |
| 424 | + <option value="0" >禁用</option> | |
| 425 | + <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option> | |
| 426 | + </select> | |
| 427 | + </td> | |
| 428 | + </tr> | |
| 429 | + <tr> | |
| 430 | + <td colspan="2"> | |
| 431 | + 时间 | |
| 432 | + <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至 | |
| 433 | + <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}> | |
| 434 | + </td> | |
| 435 | + </tr> | |
| 436 | + <tr> | |
| 437 | + <td> | |
| 438 | + 上行停靠时间 | |
| 439 | + <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 440 | + </td> | |
| 441 | + </tr> | |
| 442 | + <tr> | |
| 443 | + <td> | |
| 444 | + 下行停靠时间 | |
| 445 | + <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟 | |
| 446 | + </td> | |
| 447 | + </tr> | |
| 448 | + </table> | |
| 449 | + </form> | |
| 450 | + </div> | |
| 451 | + </div> | |
| 452 | +</script> | ... | ... |