修改时间轴精确度

This commit is contained in:
qumeng039@126.com 2025-08-05 15:25:40 +08:00
parent 62418bccf0
commit 146ea172ea
4 changed files with 36 additions and 4 deletions

View File

@ -9,7 +9,11 @@
placement="bottom"
effect="light"
>
<div class="time-section" :style="{ left: getTimeSectionLeft(time) + 5 + 'px' }"></div>
<div
class="time-section"
:style="{ left: getTimeSectionLeft(time) + 'px' }"
@pointerdown.stop="handleSectionPointerDown(time)"
></div>
</el-tooltip>
<div class="progress-bar" :style="trackStyle"></div>
@ -154,7 +158,7 @@ const play = () => {
const getTimeFromPosition = (position) => {
const ratio = Math.max(0, Math.min(1, position / axisWidth))
const timeOffset = totalDuration * ratio
return new Date(startTimeMs + timeOffset)
return TansTimestamp(startTimeMs + timeOffset, "YYYY-MM-DD HH:mm:ss")
}
//
@ -203,6 +207,17 @@ const handlePointPointerDown = (e) => {
document.addEventListener("pointerup", handlePointerUp)
}
//
const timeSectionWidth = 4 //
const handleSectionPointerDown = (time) => {
pause()
//
const left = getTimeSectionLeft.value(time) + timeSectionWidth / 2
currentPosition.value = left
currentTime.value = TansTimestamp(new Date(time), "YYYY-MM-DD HH:mm:ss")
emit("click:pointerDown", currentTime.value)
}
//
const reset = () => {
currentPosition.value = props.initPosition

View File

@ -6,7 +6,7 @@
<TimeAxis
v-if="timeList.length"
:time-list="timeList"
:is-auto-play="false"
:is-auto-play="true"
:start-time="new Date(timeList[0])"
:end-time="new Date(timeList[timeList.length - 1])"
@click:pointerDown="handlePointerDown"

View File

@ -91,7 +91,7 @@
import abnormalPostItemTitle from "@/assets/images/abnormalGroup/abnormal-action-analysis-item-title.png"
import groupEvolutionTitle from "@/assets/images/groupEvolution/group-evolution-analysis-titlt.png"
import abnormalTitle from "@/assets/images/abnormalGroup/abnormal-action-analysis-title.png"
import { ref, defineProps, defineEmits, onMounted, onBeforeUnmount } from "vue"
import { ref, defineProps, defineEmits, onMounted, onBeforeUnmount, watch, nextTick } from "vue"
import { TansTimestamp } from "@/utils/transform"
const props = defineProps({
posts: {
@ -154,6 +154,19 @@ function resumeScroll() {
startScroll()
}
//
watch(
() => props.posts,
() => {
nextTick(() => {
if (listRef.value) {
listRef.value.scrollTop = listRef.value.scrollHeight
}
})
},
{ deep: true }
)
onMounted(() => {
startScroll()
})

View File

@ -75,6 +75,10 @@ const handleOpenPostDialog = (post) => {
}
const handleChangeXAxis = (utcTime) => {
const timeList = groupDiscoveryStore.timeList
console.log(utcTime)
if (!timeList.includes(utcTime)) return
groupDiscoveryStore.initialPostByUtcTime(utcTime) //
}