From 416daf0fa191376828fe22dd612916e7e7a5023a Mon Sep 17 00:00:00 2001
From: xc <double72cheng@gmail.com>
Date: Thu, 29 Apr 2021 15:53:27 +0800
Subject: [PATCH] 修改精确时间 更改时间轴
---
src/main/resources/public/css/progressTime.css | 2
src/main/resources/public/monitor/history.html | 7 ---
src/main/resources/public/js/history/historyComponent.js | 82 ++++++++++++++++++++++++++++++-----------
src/main/resources/public/js/jquery.progressTime.js | 12 ++++-
src/main/resources/public/css/jeLocalDate.css | 6 +-
5 files changed, 73 insertions(+), 36 deletions(-)
diff --git a/src/main/resources/public/css/jeLocalDate.css b/src/main/resources/public/css/jeLocalDate.css
index 3b5f540..e5deaa3 100644
--- a/src/main/resources/public/css/jeLocalDate.css
+++ b/src/main/resources/public/css/jeLocalDate.css
@@ -1,9 +1,9 @@
.jeitem {
width: 200px;
- height: 200px;
+ height: 300px;
position: absolute;
- left: 1120px;
- top: 1040px;
+ left: 1130px;
+ top: 900px;
bottom: 680px;
right: 0;
margin: auto;
diff --git a/src/main/resources/public/css/progressTime.css b/src/main/resources/public/css/progressTime.css
index af7f45a..f3e094f 100644
--- a/src/main/resources/public/css/progressTime.css
+++ b/src/main/resources/public/css/progressTime.css
@@ -16,7 +16,7 @@
#progressTime {
height: 50px;
- width: 80%;
+ width: 50%;
border: 1px red solid;
margin: 148px auto 0 auto;
display: flex;
diff --git a/src/main/resources/public/js/history/historyComponent.js b/src/main/resources/public/js/history/historyComponent.js
index 712e79d..e0a310e 100755
--- a/src/main/resources/public/js/history/historyComponent.js
+++ b/src/main/resources/public/js/history/historyComponent.js
@@ -9,27 +9,27 @@
return;
}
this.elem = opt.elem;
- //appendContent(this.elem);
+ appendContent(this.elem);
let stream_path;
let cameraId = opt.cameraId;
let container = document.getElementById("container");
+ let h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0});
- let h5lc = new Jessibuca({container, decoder: "js/jessibuca/ff.js", videoBuffer: 0});
-
+ //创建时间轴
+ let currentTimer;
let hourTimestamp = 3600 * 1000;
let dayTimestamp = hourTimestamp * 24;
- let currentTimer;
- //时间轴
$("#progressTime").ProgressTime({
container: "progressTime",
- startTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 3), "YYYY/MM/DD 00:00:00")),
+ startTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00")),
endTime: new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00")),
- currentTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 2), "YYYY/MM/DD 12:00:00")),
+ currentTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1.5), "YYYY/MM/DD 12:00:00")),
interval: 300,
delay: 2000,
+ hoursInterval: 1,//时间间隔
isNow: false, // 是否显示右侧回到当前时间
toPlay: false, // 渲染是否完成
animateFinish: false, // 动画是否完成
@@ -46,16 +46,62 @@
}
});
+ let progressTimelayer = window.progressTime;
+
+ let beginDateStr=new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00"));
+ let endDateStr= new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00"));
+
+ //创建精确时间选择器
+ jeDate("#currentTimer",{
+ festival:false, //是否显示农历节日
+ minDate:"1900-01-01", //最小日期
+ maxDate:"2099-12-31", //最大日期
+ method:{
+ choose:function (params) {
+ }
+ },
+ donefun:function(obj) {
+ currentTimer=obj.val;
+ let flag = compareTime(beginDateStr,endDateStr,currentTimer);
+ if (flag) {
+ //只有在指定时间才刷新指针位置
+ progressTimelayer.setTime({
+ time:currentTimer,//指针显示时间
+ timer:currentTimer,//指针位置计算时间
+ originalEvent:{
+ layerX:undefined,
+ },
+ type:"",
+ });
+ progressTimelayer.resize();
+ }
+ },
+ format: "YYYY-MM-DD hh:mm:ss"
+ });
+
+ //判断时间是否属于区间内
+ function compareTime(begin,end,timer){
+ var date1 = Date.parse(new Date(begin));
+ var date2 = Date.parse(new Date(end));
+ var time = Date.parse(new Date(timer));
+ if (date1<time&&date2>time) {
+ return true;
+ };
+ return false;
+ }
+
//播放
$(".progressTime-left-b-start").on("click", function () {
if (opt.rtspUrl){
let rtspUrl = opt.rtspUrl;
historyComponent.playVideoRTSP(rtspUrl,currentTimer,function (result) {
h5lc.play(result.jessicaURL)
+ stream_path=result.streamPath;
});
}else {
historyComponent.playVideo(cameraId,currentTimer,function (result) {
h5lc.play(result.jessicaURL)
+ stream_path=result.streamPath;
});
}
});
@@ -73,8 +119,13 @@
//文本添加
function appendContent(element) {
- let _content = "<div class=\"player-wrapper\" id=\"container\"></div>\n" +
- "<div id=\"progressTime\"></div>";
+ let _content = " <div class=\"player-wrapper\" id=\"container\"></div>\n" +
+ " <div id=\"progressTime\"></div>\n" +
+ " <div class=\"jeitem\">\n" +
+ " <label class=\"jelabel\">精准时间查找</label>\n" +
+ " <div class=\"jeinpbox\"><input type=\"text\" class=\"jeinput\" id=\"currentTimer\" placeholder=\"选择时间\">\n" +
+ " </div>\n" +
+ " </div>";
element.innerHTML = _content;
}
@@ -120,19 +171,6 @@
this.closeVideo(this.stream_path);
};
-
- //精确时间选择器
- jeDate("#currentTimer",{
- festival:false, //是否显示农历节日
- minDate:"1900-01-01", //最小日期
- maxDate:"2099-12-31", //最大日期
- method:{
- choose:function (params) {
-
- }
- },
- format: "YYYY-MM-DD hh:mm:ss"
- });
window.HistoryComponent = HistoryComponent;
diff --git a/src/main/resources/public/js/jquery.progressTime.js b/src/main/resources/public/js/jquery.progressTime.js
index 4143011..b5e9d08 100644
--- a/src/main/resources/public/js/jquery.progressTime.js
+++ b/src/main/resources/public/js/jquery.progressTime.js
@@ -162,10 +162,16 @@
typeof this.options.callback === "function" && this.options.callback(config);
}
ProgressTime.prototype.setTime = function (e) {
- var layerX = e && e.originalEvent.layerX;
- var type = e && e.type;
+ var layerX= e && e.originalEvent.layerX;
+ var type=e && e.type;;
+ var tooltipTimestamp;
+ if (e&&e.timer){
+ let timer = new Date(formatDate(new Date(e.timer), "YYYY/MM/DD HH:00:00"));
+ tooltipTimestamp=timer;
+ }else {
+ tooltipTimestamp = this.currentTimeTemp || this.currentTime.getTime(); // 返回当前的时间的时间戳
+ }
var hoursWidth = $("." + this.id + "-center-t-ul li")[0].getBoundingClientRect().width / 24; // 计算每个小时所占的宽度
- var tooltipTimestamp = this.currentTimeTemp || this.currentTime.getTime(); // 返回当前的时间的时间戳
var num = Math.floor((tooltipTimestamp - this.startTime.getTime()) / hourTimestamp); // 计算出多少小时
num = layerX !== undefined ? Math.round(layerX / hoursWidth) : num;
var progressWidth = num * hoursWidth; // 计算出时间条的长度
diff --git a/src/main/resources/public/monitor/history.html b/src/main/resources/public/monitor/history.html
index 55f631a..2ffc639 100755
--- a/src/main/resources/public/monitor/history.html
+++ b/src/main/resources/public/monitor/history.html
@@ -16,13 +16,6 @@
<!--jessiebuca播放器 录像 -->
<div id="jessibucaContainerHistory">
- <div class="player-wrapper" id="container"></div>
- <div id="progressTime"></div>
- <div class="jeitem">
- <label class="jelabel">时间选择</label>
- <div class="jeinpbox"><input type="text" class="jeinput" id="currentTimer" placeholder="YYYY-MM-DD hh:mm:ss">
- </div>
- </div>
</div>
--
Gitblit v1.9.1