Commit 40b60b30f766f7249612166260f36377cde4097d

Authored by ljq
1 parent 1b84ec34

实发异常报表、退出线调提示、打电话换到zndd下

Showing 57 changed files with 749 additions and 38 deletions
src/main/java/com/bsth/controller/zndd/LoggerZnddController.java
... ... @@ -50,4 +50,8 @@ public class LoggerZnddController extends BaseController<LoggerZndd, Integer> {
50 50  
51 51 return loggerZnddService.LineUserAll(userId);
52 52 }
  53 + @RequestMapping(value = "schTZSF", method = RequestMethod.GET)
  54 + public Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type){
  55 + return loggerZnddService.schTZSF(line,date,endDate,changType,type);
  56 + }
53 57 }
... ...
src/main/java/com/bsth/data/schedule/edit_logs/service/dto/SchEditInfoDto.java
... ... @@ -59,6 +59,10 @@ public class SchEditInfoDto {
59 59 */
60 60 private long ts;
61 61  
  62 + private String xlName;
  63 +
  64 + private String text;
  65 +
62 66 public long getId() {
63 67 return id;
64 68 }
... ... @@ -219,4 +223,20 @@ public class SchEditInfoDto {
219 223 public void setTs(long ts) {
220 224 this.ts = ts;
221 225 }
  226 +
  227 + public String getXlName() {
  228 + return xlName;
  229 + }
  230 +
  231 + public void setXlName(String xlName) {
  232 + this.xlName = xlName;
  233 + }
  234 +
  235 + public String getText() {
  236 + return text;
  237 + }
  238 +
  239 + public void setText(String text) {
  240 + this.text = text;
  241 + }
222 242 }
... ...
src/main/java/com/bsth/data/zndd/AutomaticSch.java
... ... @@ -82,7 +82,7 @@ public class AutomaticSch {
82 82 public void mz(){
83 83 try {
84 84  
85   - List<ScheduleRealInfo> sr = dayOfSchedule.findByBcType("W1Q-006","normal");
  85 + List<ScheduleRealInfo> sr = dayOfSchedule.findByBcType("W9G-041","normal");
86 86 ts(addStationPeople(sr.get(5), "MZ", 0L));//第二种 设备未离线 出站时间内未出站
87 87 }
88 88 catch (Exception e){
... ... @@ -106,10 +106,14 @@ public class AutomaticSch {
106 106 }else {
107 107 continue;
108 108 }
109   - if (k == 0 && lg.getlGType() == 0){
110   - ts(ConvertDJK(lg,sch,"FCJG"));
  109 + if (k == 0 ){
  110 + if(lg.getlGType() == 0){
  111 + ts(ConvertDJK(lg,sch,"FCJG"));
  112 + }
111 113 }else {
112   - ts(ConvertDJK(lg,sch,"DJG"));
  114 + if(lg.getlGType() != 0){
  115 + ts(ConvertDJK(lg,sch,"DJG"));
  116 + }
113 117 }
114 118  
115 119 }
... ...
src/main/java/com/bsth/data/zndd/OutEntrance.java
1 1 package com.bsth.data.zndd;
  2 +
2 3 import com.alibaba.fastjson.JSONArray;
3 4 import com.alibaba.fastjson.JSONObject;
4 5 import com.bsth.common.ResponseCode;
5 6 import com.bsth.data.BasicData;
6 7 import com.bsth.data.schedule.DayOfSchedule;
7 8 import com.bsth.data.schedule.ScheduleComparator;
8   -import com.bsth.entity.StationRoute;
9 9 import com.bsth.entity.realcontrol.ScheduleRealInfo;
10 10 import com.bsth.entity.zndd.StationPeopleLogger;
11 11 import com.bsth.entity.zndd.StationSignsLogger;
12   -import com.bsth.service.schedule.utils.Md5Util;
13 12 import com.bsth.util.HttpClientUtils;
14 13 import com.bsth.util.SignUtils;
15 14 import com.bsth.websocket.handler.SendUtils;
... ... @@ -19,7 +18,11 @@ import org.slf4j.LoggerFactory;
19 18 import org.springframework.beans.factory.annotation.Autowired;
20 19 import org.springframework.beans.factory.annotation.Value;
21 20 import org.springframework.web.bind.annotation.*;
22   -import java.io.*;
  21 +
  22 +import java.io.ByteArrayInputStream;
  23 +import java.io.File;
  24 +import java.io.FileOutputStream;
  25 +import java.io.InputStream;
23 26 import java.text.SimpleDateFormat;
24 27 import java.time.Duration;
25 28 import java.time.LocalTime;
... ... @@ -65,6 +68,7 @@ public class OutEntrance {
65 68 public Map OutCarOutCar(@RequestParam Map m,@RequestBody StationSignsLogger ssLogger) {
66 69 Map rtn = new HashMap<>();
67 70 try {
  71 + logger.info("催发接口调用----");
68 72 if(!SignUtils.validation(ssLogger.getTimestamp(),ssLogger.getSign())){
69 73 rtn.put("status", "验证失败");
70 74 return rtn;
... ... @@ -133,6 +137,7 @@ public class OutEntrance {
133 137 public Map klyj(@RequestBody JSONObject jsonObject) {
134 138 Map rtn = new HashMap<>();
135 139 try {
  140 + logger.info("大客流接口调用----");
136 141 if(!SignUtils.validation(Long.parseLong(jsonObject.getString("timestamp")),jsonObject.getString("sign"))){
137 142 rtn.put("status", "验证失败");
138 143 return rtn;
... ...
src/main/java/com/bsth/service/zndd/LoggerZnddService.java
... ... @@ -21,4 +21,6 @@ public interface LoggerZnddService extends BaseService&lt;LoggerZndd, Integer&gt; {
21 21 ScheduleRealInfo thissch(Integer ids);
22 22  
23 23 String LineUserAll(@RequestParam Integer userId);
  24 +
  25 + Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type);
24 26 }
... ...
src/main/java/com/bsth/service/zndd/impl/LoggerZnddServiceImpl.java
1 1 package com.bsth.service.zndd.impl;
2 2  
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.bsth.common.ResponseCode;
3 5 import com.bsth.controller.realcontrol.dto.DfsjChange;
4 6 import com.bsth.data.schedule.DayOfSchedule;
5 7 import com.bsth.data.schedule.ScheduleComparator;
  8 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
6 9 import com.bsth.entity.Line;
7 10 import com.bsth.entity.realcontrol.ScheduleRealInfo;
8 11 import com.bsth.entity.sys.RealControAuthority;
... ... @@ -15,10 +18,13 @@ import com.bsth.service.realcontrol.ScheduleRealInfoService;
15 18 import com.bsth.service.report.ReportService;
16 19 import com.bsth.service.sys.RealControAuthorityService;
17 20 import com.bsth.service.zndd.LoggerZnddService;
  21 +import com.bsth.util.ReportUtils;
18 22 import org.slf4j.Logger;
19 23 import org.slf4j.LoggerFactory;
20 24 import org.springframework.beans.factory.annotation.Autowired;
21 25 import org.springframework.data.domain.Sort;
  26 +import org.springframework.jdbc.core.BeanPropertyRowMapper;
  27 +import org.springframework.jdbc.core.JdbcTemplate;
22 28 import org.springframework.stereotype.Service;
23 29 import org.springframework.transaction.annotation.Transactional;
24 30 import org.springframework.web.bind.annotation.RequestParam;
... ... @@ -46,6 +52,8 @@ public class LoggerZnddServiceImpl extends BaseServiceImpl&lt;LoggerZndd, Integer&gt;
46 52  
47 53 @Autowired
48 54 RealControAuthorityService realControAuthorityService;
  55 + @Autowired
  56 + JdbcTemplate jdbcTemplate;
49 57 Logger logger = LoggerFactory.getLogger(this.getClass());
50 58 private static SimpleDateFormat sdfMonth = new SimpleDateFormat("HH:mm");
51 59 private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
... ... @@ -219,5 +227,74 @@ public class LoggerZnddServiceImpl extends BaseServiceImpl&lt;LoggerZndd, Integer&gt;
219 227  
220 228 }
221 229  
  230 + public Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type){
  231 +
  232 + Map<String, Object> rs = new HashMap();
  233 + try {
  234 + String cont = "";
  235 + if (line != null && !line.equals("")){
  236 + cont = " and line_code ="+line;
  237 + }
  238 + String bcType ="";
  239 + if (changType.equals("0")){
  240 + bcType = " and bc_type not in ('in','out','venting')";
  241 + }else {
  242 + bcType =" and bc_type in ('out')";
  243 + }
  244 +
  245 + //拼接除rq、lineCode 外的其他where 条件
  246 + String sql = "select t1.*, t2.fcsj,t2.lp_name,t2.cl_zbh,t2.j_gh,t2.j_name,t2.xl_dir,t2.real_exec_date,t2.xl_name from (select * from logger_sch_modify where rq >=? and rq <=? and type in('SFTZ','FCXXWT') and remarks !='自动调度实发未发-车辆掉线'"+cont+" ) t1 INNER JOIN bsth_c_s_sp_info_real t2 on t1.sch_id=t2.id where 1=1 " +bcType;
  247 + List<SchEditInfoDto> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(SchEditInfoDto.class), date,endDate);
  248 + rs.put("status", ResponseCode.SUCCESS);
  249 + List<SchEditInfoDto> listnew = new ArrayList<>();
  250 + for(SchEditInfoDto item : list){
  251 + List<Map> lists = (List) JSON.parse(item.getJsonArray());
  252 + for(Map its : lists){
  253 + if (item.getType().equals("FCXXWT")) {
  254 + if (its.get("old") != null && its.get("title").equals("调整实发时间")) {
  255 + String text = "调整前:" + its.get("old") + ",调整后:" + its.get("now");
  256 + item.setText(text);
  257 + listnew.add(item);
  258 + break;
  259 + }
  260 + }else {
  261 + if(its.get("old") != null){
  262 + String text = "调整前:" + its.get("old") + ",调整后:" + its.get("now");
  263 + item.setText(text);
  264 + break;
  265 + }
  266 + }
  267 + };
  268 + };
  269 +
  270 + rs.put("list", listnew);
222 271  
  272 + if(type.equals("export")){
  273 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  274 + Map<String, Object> m = new HashMap<String, Object>();
  275 + ReportUtils ee = new ReportUtils();
  276 + List list1 = new ArrayList();
  277 + for(SchEditInfoDto sed : listnew){
  278 + Map map = JSON.parseObject(JSON.toJSONString(sed), Map.class);
  279 + list1.add(map);
  280 + }
  281 +
  282 + try {
  283 + listI.add(list1.iterator());
  284 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  285 + ee.excelReplace(listI, new Object[]{m}, path + "mould/" + "sch_tzsf.xls",
  286 + path + "export/"+date+"-"+endDate+"-异常调整实发.xls");
  287 + } catch (Exception e) {
  288 + // TODO: handle exception
  289 + e.printStackTrace();
  290 + }
  291 + }
  292 +
  293 + }catch (Exception e){
  294 + logger.error("", e);
  295 + rs.put("status", ResponseCode.ERROR);
  296 + rs.put("msg", e.getMessage());
  297 + }
  298 + return rs;
  299 + }
223 300 }
... ...
src/main/resources/fatso/start.js
... ... @@ -16,7 +16,7 @@ var platform = process.platform;
16 16 var iswin = platform == 'win32';
17 17 var sp = platform == 'win32' ? '\\' : '/';
18 18 //不参与的目录
19   -var excludes = ['scheduleApp', 'trafficManage', 'control', 'permission' + sp + 'authorize_all','permission' + sp + 'user', 'summary', 'history_sch', 'report' + sp + 'oil', 'base' + sp + 'geo_data_edit', 'base' + sp + 'carpark', 'forms', 'mforms', 'report', 'punctual', 'base' + sp + 'timesmodel', 'base' + sp + 'stationroute','zndd_yuan','zndd_yuan' + sp + 'call']
  19 +var excludes = ['scheduleApp', 'trafficManage', 'control', 'permission' + sp + 'authorize_all','permission' + sp + 'user', 'summary', 'history_sch', 'report' + sp + 'oil', 'base' + sp + 'geo_data_edit', 'base' + sp + 'carpark', 'forms', 'mforms', 'report', 'punctual', 'base' + sp + 'timesmodel', 'base' + sp + 'stationroute','zndd_yuan','call']
20 20 , ep = new EventProxy()
21 21 , pName = 'bsth_control'
22 22 , path = process.cwd()
... ...
src/main/resources/static/pages/forms/mould/sch_tzsf.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/zndd/sch_tzsf.html 0 → 100644
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title">
  21 + <h1>异常调整实发</h1>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form class="form-inline" action="">
  30 + <div style="display: inline-block;">
  31 + <span class="item-label" style="width: 140px;">线路: </span>
  32 + <select class="form-control" name="line" id="line" style="width: 136px;"></select>
  33 + </div>
  34 + <div style="display: inline-block;margin-left: 15px;">
  35 + <span class="item-label" style="width: 80px;">开始时间: </span>
  36 + <input class="form-control" type="text" id="date" style="width: 160px;" />
  37 + </div>
  38 + <div style="display: inline-block;margin-left: 15px;">
  39 + <span class="item-label" style="width: 80px;">结束时间: </span>
  40 + <input class="form-control" type="text" id="endDate" style="width: 160px;" />
  41 + </div>
  42 +
  43 +
  44 + <div style="display: inline-block;margin-left: 15px;">
  45 + <select name="type" class="form-control" id="changType">
  46 + <option value="0">营运</option>
  47 + <option value="1">出场</option>
  48 + </select>
  49 + </div>
  50 +
  51 + <div class="form-group">
  52 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  53 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  54 + </div>
  55 + </form>
  56 + </div>
  57 + <div class="portlet-body">
  58 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  59 + <table class="table table-bordered table-hover table-checkable" id="forms">
  60 + <thead>
  61 + <tr>
  62 + <th colspan="10">异常调整实发明细表</th>
  63 + </tr>
  64 + <tr>
  65 + <td>编号</td>
  66 + <td>日期</td>
  67 + <td>线路</td>
  68 + <td>路牌</td>
  69 + <td>车号</td>
  70 + <td>司机</td>
  71 + <td>计发</td>
  72 + <td>修改详细</td>
  73 + <td>修改人</td>
  74 + <td>备注</td>
  75 + </tr>
  76 + </thead>
  77 + <tbody class="list_correctForm">
  78 +
  79 + </tbody>
  80 + <tbody class="list_correctForm_statistics">
  81 +
  82 + </tbody>
  83 + </table>
  84 + </div>
  85 + </div>
  86 + </div>
  87 + </div>
  88 +</div>
  89 +
  90 +<script>
  91 + $(function(){
  92 + $("#export").attr('disabled',"true");
  93 +
  94 + // 关闭左侧栏
  95 + if (!$('body').hasClass('page-sidebar-closed'))
  96 + $('.menu-toggler.sidebar-toggler').click();
  97 +
  98 + var d = new Date();
  99 + //d.setTime(d.getTime() - 1*1000*60*60*24);
  100 + var year = d.getFullYear();
  101 + var month = d.getMonth() + 1;
  102 + var day = d.getDate();
  103 + if(month < 10)
  104 + month = "0" + month;
  105 + if(day < 10)
  106 + day = "0" + day;
  107 + var dateTime = year + "-" + month + "-" + day;
  108 + $("#date").datetimepicker({
  109 + format : 'YYYY-MM-DD',
  110 + locale : 'zh-cn',
  111 + maxDate : dateTime
  112 + });
  113 + $("#endDate").datetimepicker({
  114 + format : 'YYYY-MM-DD',
  115 + locale : 'zh-cn',
  116 + maxDate : dateTime
  117 + });
  118 + $("#date").val(dateTime);
  119 + $("#endDate").val(dateTime);
  120 +
  121 + $.get('/report/lineList',function(xlList){
  122 + var data = [];
  123 + data.push({id: "", text: "全部线路"});
  124 + $.get('/user/companyData', function(result){
  125 + for(var i = 0; i < result.length; i++){
  126 + var companyCode = result[i].companyCode;
  127 + var children = result[i].children;
  128 + for(var j = 0; j < children.length; j++){
  129 + var code = children[j].code;
  130 + for(var k=0;k < xlList.length;k++ ){
  131 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  132 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  133 +// tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  134 + }
  135 + }
  136 + }
  137 + }
  138 + initPinYinSelect2('#line',data,'');
  139 +
  140 + });
  141 + });
  142 +
  143 + $('#czcl').on('click', function () {
  144 + $('#code').val('').change();
  145 + });
  146 +
  147 +
  148 + $("#query").on("click",function(){
  149 + var line = $("#line").val();
  150 + var date = $("#date").val();
  151 + var endDate = $("#endDate").val();
  152 + var changType =$("#changType").val();
  153 + if (line == "全部线路")
  154 + line = "";
  155 + var type = "query";
  156 + $get("/logZndd/schTZSF",{line:line,date:date,endDate:endDate,changType:changType,type:type},function(result){
  157 + //两种情况
  158 + // 1.发车信息微调 是实发调整
  159 + // 2.实发调整 old不是空调整
  160 + var list = result.list;
  161 +
  162 + var list_correctForm = template('list_correctForm',{list});
  163 + // 把渲染好的模版html文本追加到表格中
  164 + $('#forms .list_correctForm').html(list_correctForm);
  165 +
  166 + if(list.length == 0)
  167 + $("#export").attr('disabled',"true");
  168 + else
  169 + $("#export").removeAttr("disabled");
  170 +
  171 + });
  172 + });
  173 +
  174 + $("#export").on("click",function(){
  175 + var line = $("#line").val();
  176 + var date = $("#date").val();
  177 + var endDate = $("#endDate").val();
  178 + var changType =$("#changType").val();
  179 + if (line == "全部线路")
  180 + line = "";
  181 + var type = "export";
  182 + $get('/logZndd/schTZSF',{line:line,date:date,endDate:endDate,changType:changType,type:type},function(result){
  183 + window.open("/downloadFile/download?fileName="
  184 + +date+"-"+endDate+"-异常调整实发");
  185 + });
  186 + });
  187 +
  188 + });
  189 +</script>
  190 +<script type="text/html" id="list_correctForm">
  191 + {{each list as obj i}}
  192 + <tr>
  193 + <td>{{i+1}}</td>
  194 + <td>{{obj.rq}}</td>
  195 + <td>{{obj.xlName}}</td>
  196 + <td>{{obj.lpName}}</td>
  197 + <td>{{obj.clZbh}}</td>
  198 + <td>{{obj.jName}}/{{obj.jGh}}</td>
  199 + <td>{{obj.fcsj}}</td>
  200 + <td>{{obj.text}}</td>
  201 + <td>{{obj.user}}</td>
  202 + <td>{{obj.remarks}}</td>
  203 + </tr>
  204 + {{/each}}
  205 + {{if list.length == 0}}
  206 + <tr>
  207 + <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td>
  208 + </tr>
  209 + {{/if}}
  210 +</script>
... ...
src/main/resources/static/real_control_v2/js/north/toolbar.js
... ... @@ -37,25 +37,24 @@ var gb_northToolbar = (function () {
37 37 $('.north .north-toolbar .exit-system').on('click', function () {
38 38 //调度员退出时提示未全部完成班次的线路
39 39 //默认只取一个角色
40   - if(user.roles[0].codeName == "LG_DDY" || user.roles[0].codeName == "LG_GLY" || user.roles[0].codeName == "BSTH_A"){
  40 + debugger
  41 + if(user.roles[0].codeName == "LG_DDY" || user.roles[0].codeName == "LG_GLY"){
41 42 //提示未完成线路 搜索该用户下所有的线路 判断是否完成
42 43 $.get('/logZndd/LineUserAll', {userId: user.id}, function (rs) {
43 44 notify_err(rs+"班次还有未完成");
44 45 layer.confirm('班次还有未完成,是否要退出线调?', {
45 46 btn: ['确定','取消'] //按钮
46 47 }, function(){
47   - gb_sch_websocket.sock().close(3000, '退出线调');
  48 + gb_sch_websocket.sock().close(1000, '退出线调');
48 49 window.location.href = '/pages/control/lineallot_v2/iframe_wrap.html';
49 50 }, function(){
50 51 });
51   -
52 52 })
53 53 }else {
54 54 //关闭websocket 连接
55 55 gb_sch_websocket.sock().close(1000, '退出线调');
56 56 window.location.href = '/pages/control/lineallot_v2/iframe_wrap.html';
57 57 }
58   -
59 58 });
60 59  
61 60 //过滤菜单
... ...
src/main/resources/static/real_control_v2/js/stationcf/stationcf.js
... ... @@ -27,7 +27,7 @@ var gb_stationcf = (function () {
27 27 $wrap.on('click', '.all', function () {
28 28 var type = $(this).data('ip');
29 29 var calleeId = $(this).data('call')
30   - var pageUrl ="/real_control_v2/js/call/index.html?calleeId="+calleeId;
  30 + var pageUrl ="/real_control_v2/zndd/call/index.html?calleeId="+calleeId;
31 31 //将片段路径写入 localStorage
32 32 window.localStorage.setItem('real_control_form_embed_pageUrl', pageUrl);
33 33 var index = layer.open({
... ...
src/main/resources/static/real_control_v2/js/zndd/data_zndd.js
... ... @@ -121,7 +121,7 @@ var gb_dataZndd = (function (){
121 121 var that = $(this);
122 122 debugger
123 123 var folder = '/real_control_v2/fragments/line_schedule/context_menu';
124   - let id = that.data('id')
  124 + var id = that.data('id')
125 125  
126 126 $.post('/logZndd/thissch/'+id, function(res) {
127 127 open_modal(folder + '/fcxxwt.html?r=' + Math.random(), {
... ...
src/main/resources/static/real_control_v2/js/zndd/dkl_yanshi.js 0 → 100644
  1 +var dkl_yanshi = (function (){
  2 +
  3 +
  4 +
  5 +
  6 + $('#dkl_yanshi').on('click',function(){
  7 + //1096路水华路枢纽站
  8 + var list = { lineCode : "80301",stationCode: "126934"};
  9 + var cc = [];
  10 + cc.push(list);
  11 +
  12 + var datas = {
  13 + stations :cc,
  14 + num : 20,
  15 + token : 1,
  16 +
  17 + }
  18 +
  19 + $.ajax({
  20 + type: "POST",
  21 + cache: false,
  22 + url: '/out/klyj',
  23 + contentType:"application/json;charset=utf-8",
  24 + data:JSON.stringify(datas),
  25 + success: function (res) {
  26 + notify_succ('检测大客流!');
  27 + }
  28 + })
  29 +
  30 +
  31 +
  32 + });
  33 +
  34 +})();
0 35 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/main.html
... ... @@ -52,6 +52,9 @@
52 52 <!-- main style -->
53 53 <link rel="stylesheet" href="/real_control_v2/css/microphone.css" />
54 54  
  55 + <!--//演示使用-->
  56 + <link href="/real_control_v2/zndd/yanshi/static/css/sjz.css" type="text/css" rel="stylesheet">
  57 +
55 58 </head>
56 59  
57 60 <body>
... ... @@ -236,7 +239,8 @@
236 239 <script src="/real_control_v2/js/forms/form_embed.js" merge="custom_js"></script>
237 240 <!-- 模态框扩展 -->
238 241 <script src="/real_control_v2/js/modal_extend.js" merge="custom_js"></script>
239   -<script src="/real_control_v2/call/assets/js/index.js" merge="custom_js"></script>
  242 +
  243 +<script src="/real_control_v2/zndd/call/assets/js/index.js"></script>
240 244 <!-- #### 安全驾驶 start ### -->
241 245 <div class="multi_plat_msg_pop_wrap" ></div>
242 246 <script id="sd_plat_msg_template" type="text/html">
... ... @@ -301,6 +305,11 @@
301 305 <div class="popup-msg-contents" style="display:{{type == 'YCSF'?'':'none'}}">
302 306 <button class="uk-button uk-button-primary colsebc" data-fcsj="{{fcsj}}" data-clzbh="{{clzbh}}" data-id="{{id}}">取消实发</button>
303 307 </div>
  308 +
  309 + <div class="popup-msg-contents" style="display:{{type == 'WD'?'':'none'}}">
  310 + <button class="uk-button uk-button-primary fcxxwts" data-fcsj="{{fcsj}}" data-clzbh="{{clzbh}}" data-id="{{id}}">发车信息微调</button>
  311 + </div>
  312 +
304 313 <div class="centerSpace msg-title">
305 314 <div></div>
306 315 <div class="msg-date-infos" style="display:{{type == 'SFTZ_1'?'':'none'}}" >
... ... @@ -346,7 +355,6 @@
346 355 <span class="title">{{datarq}} ----</span>
347 356 <span class="title">{{types}}</span>
348 357 <div> 点击查看预案</div>
349   -
350 358 </div>
351 359 </div>
352 360  
... ... @@ -360,6 +368,9 @@
360 368 <script src="/real_control_v2/js/stationcf/stationcf.js" merge="custom_js"></script>
361 369 <!--智能调度-->
362 370 <script src="/real_control_v2/js/zndd/data_zndd.js" merge="custom_js"></script>
  371 +<script src="/real_control_v2/js/zndd/dkl_yanshi.js" merge="custom_js"></script>
  372 +
  373 +
363 374 <!--站点催发-->
364 375 <script src="/real_control_v2/js/stationcf/klyj.js" merge="custom_js"></script>
365 376 <!--语音图标-->
... ...
src/main/resources/static/real_control_v2/js/call/assets/css/bootstrap.min.css renamed to src/main/resources/static/real_control_v2/zndd/call/assets/css/bootstrap.min.css
src/main/resources/static/real_control_v2/js/call/assets/css/index.css renamed to src/main/resources/static/real_control_v2/zndd/call/assets/css/index.css
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.css renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.css
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.eot renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.eot
No preview for this file type
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.svg renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.svg
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.ttf renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.ttf
No preview for this file type
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.woff renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.woff
No preview for this file type
src/main/resources/static/real_control_v2/js/call/assets/font/iconfont.woff2 renamed to src/main/resources/static/real_control_v2/zndd/call/assets/font/iconfont.woff2
No preview for this file type
src/main/resources/static/real_control_v2/js/call/assets/images/BG.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/BG.png

87 KB

src/main/resources/static/real_control_v2/js/call/assets/images/Dcall.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/Dcall.png

3.09 KB

src/main/resources/static/real_control_v2/js/call/assets/images/Mcalls.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/Mcalls.png

2.55 KB

src/main/resources/static/real_control_v2/js/call/assets/images/answer.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/answer.png

4.07 KB

src/main/resources/static/real_control_v2/js/call/assets/images/audio_bg.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/audio_bg.png

101 KB

src/main/resources/static/real_control_v2/js/call/assets/images/call_bg.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/call_bg.png

82.3 KB

src/main/resources/static/real_control_v2/js/call/assets/images/changaudio-hover.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/changaudio-hover.png

4.07 KB

src/main/resources/static/real_control_v2/js/call/assets/images/chart.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/chart.png

6.5 KB

src/main/resources/static/real_control_v2/js/call/assets/images/favicon.ico renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/favicon.ico
No preview for this file type
src/main/resources/static/real_control_v2/js/call/assets/images/hangup.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/hangup.png

3.87 KB

src/main/resources/static/real_control_v2/js/call/assets/images/head.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/head.png

9.69 KB

src/main/resources/static/real_control_v2/js/call/assets/images/logo_big.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/logo_big.png

6.14 KB

src/main/resources/static/real_control_v2/js/call/assets/images/logo_title.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/logo_title.png

2.37 KB

src/main/resources/static/real_control_v2/js/call/assets/images/video.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/video.png

2.33 KB

src/main/resources/static/real_control_v2/js/call/assets/images/video_close.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/video_close.png

2.76 KB

src/main/resources/static/real_control_v2/js/call/assets/images/video_hangup.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/video_hangup.png

2.59 KB

src/main/resources/static/real_control_v2/js/call/assets/images/voice.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/voice.png

2.57 KB

src/main/resources/static/real_control_v2/js/call/assets/images/voice_close.png renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/voice_close.png

2.89 KB

src/main/resources/static/real_control_v2/js/call/assets/images/yimg.jpg renamed to src/main/resources/static/real_control_v2/zndd/call/assets/images/yimg.jpg

60.9 KB

src/main/resources/static/real_control_v2/js/call/assets/js/ArRTM@latest.js renamed to src/main/resources/static/real_control_v2/zndd/call/assets/js/ArRTM@latest.js
src/main/resources/static/real_control_v2/js/call/assets/js/bootstrap.min.js renamed to src/main/resources/static/real_control_v2/zndd/call/assets/js/bootstrap.min.js
src/main/resources/static/real_control_v2/js/call/assets/js/index.js renamed to src/main/resources/static/real_control_v2/zndd/call/assets/js/index.js
src/main/resources/static/real_control_v2/js/call/assets/js/jquery-3.5.1.min.js renamed to src/main/resources/static/real_control_v2/zndd/call/assets/js/jquery-3.5.1.min.js
src/main/resources/static/real_control_v2/js/call/assets/js/latest.js renamed to src/main/resources/static/real_control_v2/zndd/call/assets/js/latest.js
src/main/resources/static/real_control_v2/js/call/index.html renamed to src/main/resources/static/real_control_v2/zndd/call/index.html
... ... @@ -6,19 +6,19 @@
6 6 <meta name="google" content="notranslate" />
7 7 <title>anyrtc 呼叫邀请DEMO - anyRTC</title>
8 8 <!-- icon -->
9   - <link rel="icon" href="/real_control_v2/js/call/assets/images/favicon.ico" />
  9 + <link rel="icon" href="/real_control_v2/zndd/call/assets/images/favicon.ico" />
10 10 <!-- CSS only -->
11   - <link rel="stylesheet" href="/real_control_v2/js/call/assets/css/bootstrap.min.css"/>
12   - <link rel="stylesheet" type="text/css" href="/real_control_v2/js/call/assets/font/iconfont.css" />
  11 + <link rel="stylesheet" href="/real_control_v2/zndd/call/assets/css/bootstrap.min.css"/>
  12 + <link rel="stylesheet" type="text/css" href="/real_control_v2/zndd/call/assets/font/iconfont.css" />
13 13 <!-- JS, Popper.js, and jQuery -->
14   - <script src="/real_control_v2/js/call/assets/js/jquery-3.5.1.min.js"></script>
15   - <script src="/real_control_v2/js/call/assets/js/bootstrap.min.js"></script>
  14 + <script src="/real_control_v2/zndd/call/assets/js/jquery-3.5.1.min.js"></script>
  15 + <script src="/real_control_v2/zndd/call/assets/js/bootstrap.min.js"></script>
16 16 <!-- JS, RTC and RTM -->
17   - <script src="/real_control_v2/js/call/assets/js/latest.js"></script>
18   - <script src="/real_control_v2/js/call/assets/js/ArRTM@latest.js"></script>
  17 + <script src="/real_control_v2/zndd/call/assets/js/latest.js"></script>
  18 + <script src="/real_control_v2/zndd/call/assets/js/ArRTM@latest.js"></script>
19 19  
20 20 <!-- 覆盖bootstrap样式 -->
21   - <link rel="stylesheet" href="/real_control_v2/js/call/assets/css/index.css" />
  21 + <link rel="stylesheet" href="/real_control_v2/zndd/call/assets/css/index.css" />
22 22 </head>
23 23  
24 24 <body class="notranslate">
... ... @@ -28,7 +28,7 @@
28 28 <!-- 首页 -->
29 29 <div
30 30 class="page d-flex flex-col justify-content-center align-items-center"
31   - id="homePage" style="background-image:url('/real_control_v2/js/call/assets/images/yimg.jpg')"
  31 + id="homePage" style="background-image:url('/real_control_v2/zndd/call/assets/images/yimg.jpg')"
32 32  
33 33 >
34 34 <!-- -->
... ... @@ -133,7 +133,7 @@
133 133 <img
134 134 draggable="false"
135 135 class="img-responsive setting-video_preview_bg"
136   - src="/real_control_v2/js/call/assets/images/chart.png"
  136 + src="/real_control_v2/zndd/call/assets/images/chart.png"
137 137 />
138 138 <div
139 139 id="settingVideoPreview"
... ... @@ -332,7 +332,7 @@
332 332 <div class="invitation bd-highlight">
333 333 <div class="d-flex justify-content-center">
334 334 <div class="head_portrait">
335   - <img draggable="false" src="/real_control_v2/js/call/assets/images/head.png" />
  335 + <img draggable="false" src="/real_control_v2/zndd/call/assets/images/head.png" />
336 336 </div>
337 337 </div>
338 338 <div
... ... @@ -357,7 +357,7 @@
357 357 draggable="false"
358 358 class="img-responsive"
359 359 style="cursor: pointer"
360   - src="/real_control_v2/js/call/assets/images/hangup.png"
  360 + src="/real_control_v2/zndd/call/assets/images/hangup.png"
361 361 id="cancelCallBtn"
362 362 />
363 363 <!-- <button type="button" class="btn btn-danger" >取消</button> -->
... ... @@ -372,7 +372,7 @@
372 372 <div class="invitation bd-highlight">
373 373 <div class="d-flex justify-content-center">
374 374 <div class="head_portrait">
375   - <img draggable="false" src="/real_control_v2/js/call/assets/images/head.png" />
  375 + <img draggable="false" src="/real_control_v2/zndd/call/assets/images/head.png" />
376 376 </div>
377 377 </div>
378 378 <div
... ... @@ -398,21 +398,21 @@
398 398 draggable="false"
399 399 class="img-responsive"
400 400 style="cursor: pointer"
401   - src="/real_control_v2/js/call/assets/images/changaudio-hover.png"
  401 + src="/real_control_v2/zndd/call/assets/images/changaudio-hover.png"
402 402 id="changAudioBtn"
403 403 />
404 404 <img
405 405 draggable="false"
406 406 class="img-responsive"
407 407 style="cursor: pointer"
408   - src="/real_control_v2/js/call/assets/images/answer.png"
  408 + src="/real_control_v2/zndd/call/assets/images/answer.png"
409 409 id="acceptCallBtn"
410 410 />
411 411 <img
412 412 draggable="false"
413 413 class="img-responsive"
414 414 style="cursor: pointer"
415   - src="/real_control_v2/js/call/assets/images/hangup.png"
  415 + src="/real_control_v2/zndd/call/assets/images/hangup.png"
416 416 id="refuseCallBtn"
417 417 />
418 418 <!-- 多人 -->
... ... @@ -437,7 +437,7 @@
437 437 <img
438 438 draggable="false"
439 439 class="img-responsive"
440   - src="/real_control_v2/js/call/assets/images/head.png"
  440 + src="/real_control_v2/zndd/call/assets/images/head.png"
441 441 />
442 442 </div>
443 443 <div class="">
... ... @@ -469,7 +469,7 @@
469 469 draggable="false"
470 470 style="width: 100%"
471 471 class="img-responsive"
472   - src="/real_control_v2/js/call/assets/images/audio_bg.png"
  472 + src="/real_control_v2/zndd/call/assets/images/audio_bg.png"
473 473 />
474 474 </div>
475 475 </div>
... ... @@ -492,7 +492,7 @@
492 492 draggable="false"
493 493 style="position: absolute; width: 50%"
494 494 class="img-responsive"
495   - src="/real_control_v2/js/call/assets/images/logo_title.png"
  495 + src="/real_control_v2/zndd/call/assets/images/logo_title.png"
496 496 />
497 497 </div>
498 498 <div class="prompt_little d-flex">
... ... @@ -515,7 +515,7 @@
515 515 draggable="false"
516 516 style="position: absolute; width: 40%"
517 517 class="img-responsive"
518   - src="/real_control_v2/js/call/assets/images/logo_big.png"
  518 + src="/real_control_v2/zndd/call/assets/images/logo_big.png"
519 519 />
520 520 </div>
521 521 <div class="prompt_big meet-control_icon m-3" id="videoDuration">
... ... @@ -587,7 +587,7 @@
587 587 <img
588 588 draggable="false"
589 589 class="img-responsive"
590   - src="/real_control_v2/js/call/assets/images/logo_big.png"
  590 + src="/real_control_v2/zndd/call/assets/images/logo_big.png"
591 591 />
592 592 </div>
593 593  
... ... @@ -724,7 +724,7 @@
724 724 </div>
725 725 <!-- /.modal -->
726 726 </div>
727   - <script src="/real_control_v2/js/call/assets/js/index.js"></script>
  727 + <script src="/real_control_v2/zndd/call/assets/js/index.js"></script>
728 728 </body>
729 729 <script>
730 730 (function() {
... ...
src/main/resources/static/real_control_v2/zndd/video/k1.png 0 → 100644

1.43 MB

src/main/resources/static/real_control_v2/zndd/video/k2.png 0 → 100644

1.65 MB

src/main/resources/static/real_control_v2/zndd/yanshi/static/css/sjz.css 0 → 100644
  1 +
  2 +.demo {
  3 + width:960px;
  4 + margin:60px auto 0 auto;
  5 +}
  6 +/*history*/
  7 +.history {
  8 + background:url(../image/line04.gif) repeat-y 187px 0;
  9 + overflow:hidden;
  10 + position:relative;
  11 +}
  12 +.history-date {
  13 + overflow:hidden;
  14 + position:relative;
  15 +}
  16 +.history-date h2 {
  17 + background:#fff url(../image/icon06.gif) no-repeat 158px 0;
  18 + height:59px;
  19 + font-size:25px;
  20 + font-family:微软雅黑;
  21 + font-weight:normal;
  22 + padding-left:45px;
  23 + margin-bottom:74px;
  24 +}
  25 +.history-date h2.first {
  26 + position:absolute;
  27 + left:0;
  28 + top:0;
  29 + width:500px;
  30 + z-index:99;
  31 +}
  32 +.history-date h2 a {
  33 + color:#00bbff;
  34 + display:inline-block;
  35 +*display:inline;
  36 + zoom:1;
  37 + background:url(../image/icon08.gif) no-repeat right 50%;
  38 + padding-right:17px;
  39 + margin:21px 97px 0 0;
  40 +}
  41 +.history-date h2 a:hover {
  42 + text-decoration:none;
  43 +}
  44 +.history-date h2 img {
  45 + vertical-align:-5px;
  46 +}
  47 +.history-date h2.date02 {
  48 + background:none;
  49 +}
  50 +.history-date ul li {
  51 + background:url(../image/yes.png) no-repeat 180px 0;
  52 + background-size: 15px 15px;
  53 + padding-bottom:50px;
  54 + zoom:1;
  55 +}
  56 +.history-date ul li.last {
  57 + padding-bottom:0;
  58 +}
  59 +.history-date ul li:after {
  60 + content:" ";
  61 + display:block;
  62 + height:0;
  63 + clear:both;
  64 + visibility:hidden;
  65 +}
  66 +.history-date ul li h3 {
  67 + float:left;
  68 + width:20%;
  69 + text-align:right;
  70 + padding-right:19px;
  71 + color:#c3c3c3;
  72 + font:normal 18px/16px Arial;
  73 +}
  74 +.history-date ul li h3 span {
  75 + display:block;
  76 + color:#d0d0d0;
  77 + font-size:12px;
  78 +}
  79 +.history-date ul li dl {
  80 + width: 70%;
  81 + float:left;
  82 + padding-left:41px;
  83 + margin-top:-5px;
  84 + font-family:微软雅黑;
  85 +}
  86 +.history-date ul li dl dt {
  87 + font:20px/22px 微软雅黑;
  88 + color:#737373;
  89 +}
  90 +.history-date ul li dl dt span {
  91 + display:block;
  92 + color:#787878;
  93 + font-size:12px;
  94 +}
  95 +.history-date ul li.green h3 {
  96 + color:#1db702;
  97 +}
  98 +.history-date ul li.green h3 span {
  99 + color:#a8dda3;
  100 +}
  101 +.history-date ul li.green dl {
  102 + margin-top:-8px;
  103 +}
  104 +.history-date ul li.green dl dt {
  105 + font-size:30px;
  106 + line-height:28px;
  107 +}
  108 +.history-date ul li.green dl dt a {
  109 + display:inline-block;
  110 +*display:inline;
  111 + zoom:1;
  112 + overflow:hidden;
  113 + vertical-align:middle;
  114 + margin-left:12px;
  115 +}
  116 +.history-date ul li.green dl dd {
  117 + padding-top:20px;
  118 + display:none;
  119 +}
  120 +.history-date ul li.green dl dd img {
  121 + float:left;
  122 +}
  123 +.history-date ul li.green dl dd p {
  124 + overflow:hidden;
  125 + zoom:1;
  126 + line-height:21px;
  127 + color:#787878;
  128 +}
  129 +.history-date h2.first .more-history {
  130 + font-size:16px;
  131 + background:transparent;
  132 + margin-left:30px;
  133 +}
  134 +.history-date h2.first .more-history:hover {
  135 + text-decoration:underline;
  136 +}
  137 +*body .history-date ul li dl dt {
  138 + _font-size:12px!important;
  139 + _font-weight:bold;
  140 +}
  141 +*body .history-date ul li dl dt span {
  142 + _font-weight:normal!important;
  143 +}
  144 +*body .history-date ul li.green dl dt a {
  145 + _background:transparent!important;
  146 +*background:transparent!important;
  147 +*font-size:12px!important;
  148 + _font-weight:normal!important;
  149 +}
  150 +.timerssn{
  151 + text-align: center;
  152 + font-size: 20px;
  153 + color: red;
  154 + position: absolute;
  155 + width: 15%;
  156 +}
0 157 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/zndd/yanshi/static/image/icon06.gif 0 → 100644

1.65 KB

src/main/resources/static/real_control_v2/zndd/yanshi/static/image/icon07.gif 0 → 100644

366 Bytes

src/main/resources/static/real_control_v2/zndd/yanshi/static/image/icon08.gif 0 → 100644

49 Bytes

src/main/resources/static/real_control_v2/zndd/yanshi/static/image/line04.gif 0 → 100644

43 Bytes

src/main/resources/static/real_control_v2/zndd/yanshi/static/image/yes.png 0 → 100644

6.34 KB

src/main/resources/static/real_control_v2/zndd/yanshi/static/js/jquery-1.10.2.js 0 → 100644
  1 +/*-防止各大cdn公共库加载地址失效问题,此地址我们会时时监控,及调整以保障正常访问-www.jq22.com为您服务*/
  2 +/*当前为字节跳动cdn公共库提供的jQuery-1.10.2*/
  3 +document.write("<script src='https://s1.pstatp.com/cdn/expire-1-M/jquery/1.10.2/jquery.min.js'><\/script>");
0 4 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/zndd/yanshi/yanshi.html 0 → 100644
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-dklyanshi-modal">
  2 + <div class="uk-modal-dialog" style="width: 800px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>大客流預案场景演示</h2></div>
  6 +
  7 + <head>
  8 + <meta charset="utf-8">
  9 + <title>jQuery疫情防控时间轴</title>
  10 + <link href="/real_control_v2/zndd/yanshi/static/css/sjz.css" type="text/css" rel="stylesheet">
  11 + </head>
  12 + <div class="timerssn"></div>
  13 + <div class="history" style="margin-top:50px;height: 400px;overflow-y: scroll" >
  14 +
  15 + <div class="history-date" STYLE="padding-top:10px;">
  16 + <ul>
  17 + <li>
  18 + <h3>10:00<span>10月31日</span></h3>
  19 + <dl>
  20 + <dt>驾驶收到通知 </dt>
  21 + </dl>
  22 + </li>
  23 + </ul>
  24 + <ul>
  25 + <li>
  26 + <h3>10:05<span>10月31日</span></h3>
  27 + <dl>
  28 + <dt>驾驶员抵达车辆、车辆收到行驶班次</dt>
  29 + </dl>
  30 + </li>
  31 + </ul>
  32 + <ul>
  33 + <li>
  34 + <h3>10:06<span>10月31日</span></h3>
  35 + <dl>
  36 + <dt>车辆行驶出发点</dt>
  37 + </dl>
  38 + </li>
  39 + </ul>
  40 + <ul>
  41 + <li>
  42 + <h3>10:06<span>10月31日</span></h3>
  43 + <dl>
  44 + <div id="drawer_right_map" style="height: 300px;width: 100%"></div>
  45 + </dl>
  46 + </li>
  47 + </ul>
  48 + <ul>
  49 + <li>
  50 + <h3>10:10<span>10月31日</span></h3>
  51 + <dl>
  52 + <dt>车辆抵达发车点</dt>
  53 + </dl>
  54 + </li>
  55 + </ul>
  56 +
  57 + <ul>
  58 + <li>
  59 + <h3>10:20<span>10月31日</span></h3>
  60 + <dl>
  61 + <dt>车辆运送乘客,继续监控站点是否还有大客流</dt>
  62 + </dl>
  63 + </li>
  64 + </ul>
  65 + <ul>
  66 + <li>
  67 + <h3>11:00<span>10月31日</span></h3>
  68 + <dl>
  69 + <dt>车辆送达乘客</dt>
  70 + </dl>
  71 + </li>
  72 + </ul>
  73 + <ul>
  74 + <li>
  75 + <h3>11:00<span>10月31日</span></h3>
  76 + <dl>
  77 + <dt>任务结束</dt>
  78 + </dl>
  79 + </li>
  80 + </ul>
  81 + </div>
  82 + </div>
  83 + </div>
  84 +
  85 +
  86 + <script>
  87 +
  88 + $(function(){
  89 + systole();
  90 + var nt = 0;
  91 + function systole(){
  92 + $(".history-date ul").css({display: 'none'});
  93 + //驾驶员收到通知
  94 +
  95 +
  96 + var cctime = setInterval(function (){
  97 + time();
  98 + timent = timent - 1;
  99 + }, 1000);
  100 +
  101 + // 设置一个每2000毫秒执行一次的定时器
  102 + var intervalId = setInterval(function() {
  103 + var divs = $(".history-date ul");
  104 + divs.each(function(index,element) {
  105 + if(nt == index){
  106 + $(this).css({display: ''});
  107 +
  108 + if(index == 3){
  109 + play();
  110 + }
  111 + if(nt == divs.length - 1){
  112 + nt = 0;
  113 + clearInterval(intervalId)
  114 + clearInterval(cctime);
  115 + $(".timerssn").html("");//清空倒计时
  116 + }
  117 + nt ++;
  118 + timent = 5;
  119 + return false;
  120 + }
  121 +
  122 + });
  123 + }, 5000);
  124 +
  125 + }
  126 + let date ={
  127 + "list": [{"bd_lon":121.90467819574694,"bd_lat":30.900545629815696,"lon":121.89413,"lat":30.896774,"deviceId":"77W1S014","ts":1730264742000,"timestamp":1730264742000,"stopNo":"126930","direction":272.0,"lineId":"80301","speed":33.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184989","section_name":"方竹路(白薇路-沪城环路)","version":6},{"bd_lon":121.89989041589938,"bd_lat":30.900580233328572,"lon":121.88931,"lat":30.896894,"deviceId":"77W1S014","ts":1730264850000,"timestamp":1730264850000,"stopNo":"128063","direction":277.0,"lineId":"80301","speed":35.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.90069454903107,"bd_lat":30.900535838211702,"lon":121.89012,"lat":30.896835,"deviceId":"77W1S014","ts":1730264821000,"timestamp":1730264821000,"stopNo":"128063","direction":276.0,"lineId":"80301","speed":0.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路卓卉路","ts":1730264821000,"lineCode":"80301","upDown":0,"stopNo":"128063","inOut":0,"createDate":1730264825690,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264821000"},"inout_stop":0,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89525655752936,"bd_lat":30.90044660702875,"lon":121.88465,"lat":30.896847,"deviceId":"77W1S014","ts":1730264956000,"timestamp":1730264956000,"stopNo":"126932","direction":268.0,"lineId":"80301","speed":24.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路水华路","ts":1730264956000,"lineCode":"80301","upDown":0,"stopNo":"126932","inOut":0,"createDate":1730264961637,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264956000"},"inout_stop":0,"state":0,"upDown":0,"section_code":"184991","section_name":"方竹路(叶菊路-水华路)","version":6},{"bd_lon":121.90203740623024,"bd_lat":30.900512501387293,"lon":121.89147,"lat":30.896788,"deviceId":"77W1S014","ts":1730264781000,"timestamp":1730264781000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":0.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89599210807043,"bd_lat":30.90049839119409,"lon":121.88539,"lat":30.896885,"deviceId":"77W1S014","ts":1730264917000,"timestamp":1730264917000,"stopNo":"126931","direction":262.0,"lineId":"80301","speed":0.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.90650763313731,"bd_lat":30.900574422731786,"lon":121.895966,"lat":30.896772,"deviceId":"77W1S014","ts":1730264701000,"timestamp":1730264701000,"stopNo":"126930","direction":268.0,"lineId":"80301","speed":18.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184989","section_name":"方竹路(白薇路-沪城环路)","version":6},{"bd_lon":121.89599210466311,"bd_lat":30.90050220719686,"lon":121.88539,"lat":30.896889,"deviceId":"77W1S014","ts":1730264943000,"timestamp":1730264943000,"stopNo":"126931","direction":262.0,"lineId":"80301","speed":3.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89796373453942,"bd_lat":30.900714383979444,"lon":121.887375,"lat":30.897064,"deviceId":"77W1S014","ts":1730264889000,"timestamp":1730264889000,"stopNo":"126931","direction":270.0,"lineId":"80301","speed":38.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路建桥学院北门","ts":1730264889000,"lineCode":"80301","upDown":0,"stopNo":"126931","inOut":1,"createDate":1730264893416,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264889000"},"inout_stop":1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.9022270878919,"bd_lat":30.900514001354395,"lon":121.89166,"lat":30.896786,"deviceId":"77W1S014","ts":1730264768000,"timestamp":1730264768000,"stopNo":"126930","direction":270.0,"lineId":"80301","speed":18.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89600727155313,"bd_lat":30.90050248856405,"lon":121.88541,"lat":30.896889,"deviceId":"77W1S014","ts":1730264913000,"timestamp":1730264913000,"stopNo":"126931","direction":261.0,"lineId":"80301","speed":3.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89901801919352,"bd_lat":30.900690056246688,"lon":121.888435,"lat":30.89702,"deviceId":"77W1S014","ts":1730264876000,"timestamp":1730264876000,"stopNo":"126931","direction":268.0,"lineId":"80301","speed":9.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.9056877508437,"bd_lat":30.900541759662353,"lon":121.89514,"lat":30.896753,"deviceId":"77W1S014","ts":1730264729000,"timestamp":1730264729000,"stopNo":"126930","direction":268.0,"lineId":"80301","speed":22.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184989","section_name":"方竹路(白薇路-沪城环路)","version":6},{"bd_lon":121.9016656375683,"bd_lat":30.900515336243583,"lon":121.8911,"lat":30.896797,"deviceId":"77W1S014","ts":1730264805000,"timestamp":1730264805000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":16.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89440728696924,"bd_lat":30.900379432991862,"lon":121.8838,"lat":30.896795,"deviceId":"77W1S014","ts":1730264981000,"timestamp":1730264981000,"stopNo":"126932","direction":267.0,"lineId":"80301","speed":12.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路水华路","ts":1730264981000,"lineCode":"80301","upDown":0,"stopNo":"126932","inOut":1,"createDate":1730264986077,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264981000"},"inout_stop":1,"state":0,"upDown":0,"section_code":"184991","section_name":"方竹路(叶菊路-水华路)","version":6},{"bd_lon":121.90067937710931,"bd_lat":30.90053556084185,"lon":121.89011,"lat":30.896835,"deviceId":"77W1S014","ts":1730264835000,"timestamp":1730264835000,"stopNo":"128063","direction":276.0,"lineId":"80301","speed":0.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89907870115947,"bd_lat":30.900687363266552,"lon":121.8885,"lat":30.897017,"deviceId":"77W1S014","ts":1730264863000,"timestamp":1730264863000,"stopNo":"126931","direction":274.0,"lineId":"80301","speed":0.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路建桥学院北门","ts":1730264863000,"lineCode":"80301","upDown":0,"stopNo":"126931","inOut":0,"createDate":1730264867085,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264863000"},"inout_stop":0,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89967800540734,"bd_lat":30.900601124403273,"lon":121.8891,"lat":30.89692,"deviceId":"77W1S014","ts":1730264852000,"timestamp":1730264852000,"stopNo":"128063","direction":278.0,"lineId":"80301","speed":35.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89784238925144,"bd_lat":30.900710221128048,"lon":121.88725,"lat":30.897062,"deviceId":"77W1S014","ts":1730264890000,"timestamp":1730264890000,"stopNo":"126931","direction":268.0,"lineId":"80301","speed":40.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89428597247607,"bd_lat":30.900360032264537,"lon":121.883675,"lat":30.896778,"deviceId":"77W1S014","ts":1730264997000,"timestamp":1730264997000,"stopNo":"126932","direction":270.0,"lineId":"80301","speed":0.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184991","section_name":"方竹路(叶菊路-水华路)","version":6},{"bd_lon":121.90626469804877,"bd_lat":30.900558981481137,"lon":121.89572,"lat":30.89676,"deviceId":"77W1S014","ts":1730264705000,"timestamp":1730264705000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":18.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184989","section_name":"方竹路(白薇路-沪城环路)","version":6},{"bd_lon":121.90008765951121,"bd_lat":30.900559057215247,"lon":121.88951,"lat":30.89687,"deviceId":"77W1S014","ts":1730264848000,"timestamp":1730264848000,"stopNo":"128063","direction":279.0,"lineId":"80301","speed":33.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路卓卉路","ts":1730264848000,"lineCode":"80301","upDown":0,"stopNo":"128063","inOut":1,"createDate":1730264851942,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264848000"},"inout_stop":1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.89502148743209,"bd_lat":30.900430816053387,"lon":121.884415,"lat":30.896835,"deviceId":"77W1S014","ts":1730264970000,"timestamp":1730264970000,"stopNo":"126932","direction":264.0,"lineId":"80301","speed":11.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184991","section_name":"方竹路(叶菊路-水华路)","version":6},{"bd_lon":121.90595344115236,"bd_lat":30.90055191818359,"lon":121.89541,"lat":30.896759,"deviceId":"77W1S014","ts":1730264715000,"timestamp":1730264715000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":3.0,"inout_stop_info":{"deviceId":"77W1S014","stopName":"方竹路沪城环路","ts":1730264715000,"lineCode":"80301","upDown":0,"stopNo":"126930","inOut":1,"createDate":1730264719617,"enable":false,"weeksYear":44,"tcc":false,"correct":false,"flag":0,"outTcc":false,"id":"77W1S014_1730264715000"},"inout_stop":1,"state":0,"upDown":0,"section_code":"184989","section_name":"方竹路(白薇路-沪城环路)","version":6},{"bd_lon":121.89431629470351,"bd_lat":30.900372037240512,"lon":121.883705,"lat":30.89679,"deviceId":"77W1S014","ts":1730264984000,"timestamp":1730264984000,"stopNo":"126932","direction":270.0,"lineId":"80301","speed":5.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184991","section_name":"方竹路(叶菊路-水华路)","version":6},{"bd_lon":121.89599210466311,"bd_lat":30.90050220719686,"lon":121.88539,"lat":30.896889,"deviceId":"77W1S014","ts":1730264930000,"timestamp":1730264930000,"stopNo":"126931","direction":262.0,"lineId":"80301","speed":0.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.901483555169,"bd_lat":30.900513948386312,"lon":121.890915,"lat":30.8968,"deviceId":"77W1S014","ts":1730264808000,"timestamp":1730264808000,"stopNo":"126930","direction":271.0,"lineId":"80301","speed":25.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.90333491241968,"bd_lat":30.900531799908887,"lon":121.89278,"lat":30.896784,"deviceId":"77W1S014","ts":1730264755000,"timestamp":1730264755000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":31.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.90202981742063,"bd_lat":30.90051427288283,"lon":121.891464,"lat":30.89679,"deviceId":"77W1S014","ts":1730264794000,"timestamp":1730264794000,"stopNo":"126930","direction":269.0,"lineId":"80301","speed":1.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6},{"bd_lon":121.8964015764253,"bd_lat":30.900551784995276,"lon":121.8858,"lat":30.89693,"deviceId":"77W1S014","ts":1730264903000,"timestamp":1730264903000,"stopNo":"126931","direction":262.0,"lineId":"80301","speed":27.0,"inout_stop":-1,"state":0,"upDown":0,"section_code":"184990","section_name":"方竹路(沪城环路-叶菊路)","version":6}]
  128 + }
  129 +
  130 + date.list.sort(function (a, b) {
  131 + return parseInt((a.ts - b.ts) + '' + (a.stop_no - b.stop_no));
  132 + });
  133 + var map = '';
  134 + // 地图的中心点和缩放级别
  135 + map = new BMap.Map("drawer_right_map");
  136 + var point = new BMap.Point(121.89413, 30.896774);
  137 + map.centerAndZoom(point,16);
  138 + var marker = new BMap.Marker(date.list[0]);
  139 + map.addOverlay(marker);
  140 + // 地图的轨迹回放路径
  141 + var path = [];
  142 + var passdate = date.list;
  143 + for (var c in passdate){
  144 + path.push(new BMap.Point(passdate[c].bd_lon, passdate[c].bd_lat))
  145 + }
  146 + var carIcon = '/assets/img/bus1.png';
  147 + // 创建一个图标,用于表示轨迹回放的位置
  148 + var marker = new BMap.Marker(path[0]);
  149 + icon = new BMap.Icon(carIcon, new BMap.Size(25, 25));
  150 + marker.setIcon(icon);
  151 + marker.setRotation(270);
  152 + marker.setTop(true);
  153 + map.addOverlay(marker);
  154 + var polyline = new BMap.Polyline(path, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
  155 + map.addOverlay(polyline);
  156 +
  157 + // 开始轨迹回放
  158 + var i = 0;
  159 + function play() {
  160 + if (i < path.length) {
  161 + // 设置当前位置
  162 + marker.setPosition(path[i]);
  163 + // 移动地图视角
  164 + map.panTo(path[i]);
  165 +
  166 + // 延迟1秒继续回放下一个位置
  167 + setTimeout(play, 200);
  168 + i++;
  169 + }
  170 + }
  171 + });
  172 +
  173 +
  174 +
  175 +
  176 + var timent = 5;
  177 + function time(){
  178 + $(".timerssn").html(timent);
  179 + }
  180 +
  181 +
  182 +
  183 +
  184 + </script>
  185 +
  186 +</div>
... ...