Explorar o código

fix: 滑动条缺刻度修复

wyf hai 1 ano
pai
achega
6fc5a7f484
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      src/views/datamanager/playback/components/NvrSlider.vue

+ 5 - 4
src/views/datamanager/playback/components/NvrSlider.vue

@@ -57,12 +57,12 @@
   };
 
   onMounted(() => {
-    createTimeline(props.startTime, durationMins.value);
+    createTimeline(props.startTime, props.endTime, durationMins.value);
     createViolationsLine([], props.startTime, props.endTime);
     sliderPosition.value = props.startPosition;
 
     watch([() => props.startTime, () => props.endTime], () => {
-      createTimeline(props.startTime, durationMins.value);
+      createTimeline(props.startTime, props.endTime, durationMins.value);
       sliderPosition.value = props.startPosition;
     });
 
@@ -117,16 +117,17 @@
         : delta;
   };
 
-  const createTimeline = (startTime: Date, durationMins: number) => {
+  const createTimeline = (startTime: Date, endTime: Date, durationMins: number) => {
     const container = document.getElementById('timeline');
     container!.innerHTML = '';
 
     const startHours = startTime.getHours();
     const marginMins = startTime.getMinutes();
+    const marginMinsRight = endTime.getMinutes();
     // 拉动条的长度设置为分钟数
     container!.style.width = `${durationMins}px`;
     // 计算持续小时数 向下取整
-    const duration = Math.floor(durationMins / 60);
+    const duration = Math.floor(durationMins / 60) + (marginMins > marginMinsRight ? 1 : 0);
     if (marginMins === 0) {
       // 添加第一个小时
       const mark = document.createElement('div');