fix(FE): show time comp funcs
This commit is contained in:
parent
87daec73d0
commit
150f1b5f91
1 changed files with 8 additions and 18 deletions
|
@ -2,7 +2,8 @@
|
|||
import {onMounted, type PropType} from "vue";
|
||||
import { ref, watch } from 'vue';
|
||||
import {getShowInstances} from "@models/show/showInstance.ts";
|
||||
|
||||
import {getHoursMinutesFromString, getTimeDiff} from "@/helpers/DateFormatter.ts";
|
||||
// Emits, props and models
|
||||
const emits = defineEmits(['update:duration'])
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -25,37 +26,26 @@ const props = defineProps({
|
|||
})
|
||||
|
||||
const startTime = defineModel({default: '08:00'});
|
||||
|
||||
// Data
|
||||
const duration = ref('0:0');
|
||||
const endTime = ref('');
|
||||
const startMenu = ref(false);
|
||||
const endMenu = ref(false);
|
||||
|
||||
|
||||
const getDuration = (startTime: Date, endTime: Date) => {
|
||||
const diffInMilliseconds = Math.abs(startTime.getTime() - endTime.getTime());
|
||||
const remainingHours = Math.floor((diffInMilliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||
const remainingMinutes = Math.floor((diffInMilliseconds % (1000 * 60 * 60)) / (1000 * 60));
|
||||
|
||||
return `${remainingHours}:${remainingMinutes}`;
|
||||
};
|
||||
|
||||
const getHoursMinutes = (timeString: string) => {
|
||||
const [ h, m ] = timeString.split(":");
|
||||
const ms = new Date().setHours(h,m);
|
||||
return new Date(ms)
|
||||
};
|
||||
|
||||
// Func
|
||||
const checkTime = () => {
|
||||
if (startTime.value && endTime) {
|
||||
const start = getHoursMinutes(startTime.value);
|
||||
let end = getHoursMinutes(endTime.value);
|
||||
const start: Date = getHoursMinutesFromString(startTime.value);
|
||||
let end: Date = getHoursMinutesFromString(endTime.value);
|
||||
|
||||
if (end.getTime() <= start.getTime()) {
|
||||
end = new Date(start);
|
||||
end.setMinutes(start.getMinutes() + 60);
|
||||
endTime.value = end.toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit' });;
|
||||
}
|
||||
duration.value = getDuration(start, end);
|
||||
duration.value = getTimeDiff(start, end);
|
||||
emits('update:duration', duration.value);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue