提交 c7441b6a authored 作者: liujiaxing's avatar liujiaxing

时间轴bug修复

上级 b0dbcc43
...@@ -1312,30 +1312,61 @@ const formatDateTimeOne = (timeStr) => { ...@@ -1312,30 +1312,61 @@ const formatDateTimeOne = (timeStr) => {
// } // }
// 重置模式为实时模式 // 重置模式为实时模式
const resetclick = () => { const resetclick = () => {
console.log('切换到实时模式', useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode));
console.log(JSON.parse(localStorage.getItem("isRealtimetime")), '时间', useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode)); if (is_flag_isRealtime.value) {
// return ElMessage.warning("当前已经是实时模式!");
if (is_flag_isRealtime.value) return ElMessage.warning("当前已经是实时模式!"); return;
is_flag_isRealtime.value = true//实时模式 }
// 停止当前播放
stopAutoPlay();
// 实时模式时间范围:当前时间往前推24小时
const now = new Date();
const twentyFourHoursAgo = new Date(now.getTime() - 24 * 60 * 60 * 1000);
const newTimeRange = [twentyFourHoursAgo.toISOString(), now.toISOString()];
// 同步更新 store 中的时间范围(供 autoUpdateDateRange 定时器使用)
useAppStoreInstance.setglobalSubsystemSelectedStartTime(newTimeRange);
// 设置为实时模式
is_flag_isRealtime.value = true;
isDateRangeNotEmpty.value = true; // 开启实时模式自动更新
startHandlePercent.value = 0; startHandlePercent.value = 0;
endHandlePercent.value = 100;//实时模式滑块为100 endHandlePercent.value = 100; // 实时模式滑块为100
dateRange.value = [] dateRange.value = [];
// 向ue5发送消息转换成实时模式 playbackSpeed.value = Number(localStorage.getItem("playbackSpeed")) || 1;
// window.ue5("callBackTimeFn", String(JSON.stringify({
// isRealtime: is_flag_isRealtime.value, // 更新本地时间变量
// taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value), startDateTime.value = newTimeRange[0];
// speed: playbackSpeed.value, endDateTime.value = newTimeRange[1];
// // status: isPlaying.value ? "continue" : "stop", selectedEndTime.value = now; // 滑块在100%位置对应当前时间
// })))
// 向后端发送消息转换成实时模式
handleDateRangeChange(JSON.parse(localStorage.getItem("isRealtimetime")), true, false, localStorage.getItem("playbackSpeed")); // 更新 timeline 和选中时间显示
nextTick(() => {
updateTimeline();
updateSelectedTimes();
});
// 向 UE5 发送实时模式消息(页面初始加载时的参数格式)
if (window.ue5) {
window.ue5("callBackTimeFn", String(JSON.stringify({
isRealtime: true,
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
speed: playbackSpeed.value,
})));
console.log("实时模式切换:发送UE5消息");
}
// 向后端发送实时模式消息
wssOpenHandle({ wssOpenHandle({
isRealtime: is_flag_isRealtime.value, isRealtime: true,
// status: 'continue',
speed: playbackSpeed.value, speed: playbackSpeed.value,
taskCode: useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode), // startTime: formatDateTime(twentyFourHoursAgo),
}) // endTime: formatDateTime(now),
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
});
} }
const tempDateTime = ref(new Date(useAppStoreInstance.globalTimeLineEndSelectTime)) const tempDateTime = ref(new Date(useAppStoreInstance.globalTimeLineEndSelectTime))
onMounted(() => { onMounted(() => {
......
...@@ -1259,7 +1259,7 @@ onMounted(() => { ...@@ -1259,7 +1259,7 @@ onMounted(() => {
const resData = JSON.parse(res); const resData = JSON.parse(res);
console.log("我是ClickModel,收到UE交互:", resData); console.log("我是ClickModel,收到UE交互:", resData);
switch (resData.type) { switch (resData.type) {
case "热控系统": case "热控系统":
handleTabClick(4); handleTabClick(4);
break; break;
case "能源分系统": case "能源分系统":
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论