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