提交 271bec23 authored 作者: 周文艺's avatar 周文艺

最新监听

上级 85caa1f2
......@@ -232,7 +232,7 @@ const loading = ref('');
const compareTime = (time1, time2) => {
console.log('compareTime----------', time1, time2);
// console.log('每隔开始compareTime----------', time1, time2);
// 将时间字符串转换为 Date 对象
const date1 = new Date(time1);
const date2 = new Date(time2);
......@@ -250,6 +250,12 @@ const compareTime = (time1, time2) => {
}
};
const preTimeWindowEnd = ref(null);
const preTimeAllDate = ref(null);
// watch(() => selectedEndTime.value, val => {
// if (compareTime(formatDateTime(val),preTimeWindowEnd.value)) {
// stopAutoPlay();
// }
// }, { deep: true, immediate: true });
const wssMessageHandle = () => {
// let WwflagToNext = 0
wss.onmessage = (event) => {
......@@ -296,17 +302,19 @@ const wssMessageHandle = () => {
// console.log("获取的wssResponeFlag_isSuccess信息1:", wssResponeFlag_isSuccess.value);
useAppStoreInstance.setglobalStartWss(false)
stopAutoPlay();
isChange_flag_firstBackDate.value = false;
// 处理任务数据
}
if (data.type === 'history') {
// 处理日志数据
// console.log("endDateTime.value === selectedEndTime.value:", endDateTime.value , selectedEndTime.value.toISOString(),endDateTime.value === selectedEndTime.value);
useAppStoreInstance.setglobalStartWss(true)
preTimeAllDate.value = data;
// clearTimeout(WwflagToNext);
if (flagToNext !== 0) {
clearTimeout(flagToNext);
}
isChange_flag_firstBackDate.value = true;
// playForward();
console.log("再次获取数据",endDateTime.value === selectedEndTime.value.toISOString());
......@@ -346,6 +354,9 @@ const wssMessageHandle = () => {
}
if (data.type === 'EndProcess') {
useAppStoreInstance.setglobalStartWss(false)
// useAppStoreInstance.setglobalStartWss(false)
isChange_flag_firstBackDate.value = false;
stopAutoPlay();
// console.log('我是left,type == time获取的wssRespone:', JSONdata, typeof JSONdata.time);
// console.log('我是left,type == time获取的wssRespone:', JSONdata.time, typeof JSONdata.time);
// console.log('我是left,type == time获取的wssRespone:', JSONdata.time.toLocaleString(), typeof JSONdata.time.toLocaleString());
......@@ -565,6 +576,7 @@ const handleDateRangeChange = async (val) => {
isDateRangeNotEmpty.value = true;
isConfirmedWithRange.value = false; // 重置标记
is_flag_isRealtime.value = true;
isChange_flag_select_date.value = false;//表示已经选过时间段了
playbackSpeed.value = 1;
// 标志实时模式
// if(window.ue5) {
......@@ -823,11 +835,11 @@ const toggleAutoPlay = () => {
status: status,
taskCode: String(taskCode_everyChange.value),
})));
// wssOpenHandle({
// isRealtime: is_flag_isRealtime.value? true: false,
// status: status,
// taskCode: String(taskCode_everyChange.value),
// })
wssOpenHandle({
isRealtime: is_flag_isRealtime.value? true: false,
status: status,
taskCode: String(taskCode_everyChange.value),
})
}
}
......@@ -1113,7 +1125,50 @@ onMounted(() => {
// })
}
});
// 定义定时器引用
const intervalTimer = ref(null);
const isChange_flag_firstBackDate = ref(false)
// 监听 selectedEndTime 的变化
watch(
() => selectedEndTime.value,
(val) => {
// 检查是否满足条件
if ( isChange_flag_firstBackDate.value) {
console.log("每隔开始进来");
// 如果条件满足且定时器未启动,则启动定时器
if (!intervalTimer.value) {
intervalTimer.value = setInterval(() => {
// console.log("每隔一秒执行一次逻辑",compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value));
// 在这里执行你需要的逻辑
if (compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value)) {
stopAutoPlay();
clearInterval(intervalTimer.value);
intervalTimer.value = null;
}
}, 1000*10);
}
} else {
// 如果条件不满足,清除定时器
if (intervalTimer.value) {
console.log("清理定时器");
clearInterval(intervalTimer.value);
intervalTimer.value = null;
}
}
},
{ deep: true, immediate: true }
);
// 组件卸载时清除定时器
onUnmounted(() => {
if (intervalTimer.value) {
console.log("清理定时器");
clearInterval(intervalTimer.value);
intervalTimer.value = null;
}
});
onUnmounted(() => {
stopAutoPlay();
window.removeEventListener('mousemove', handleDrag);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论