diff --git a/src/utils/shortcuts.js b/src/utils/shortcuts.js index a191590..7a8b1d7 100644 --- a/src/utils/shortcuts.js +++ b/src/utils/shortcuts.js @@ -3,90 +3,102 @@ import Date from './datetime.js' export const calendarBaseShortcuts = [{ text: '今天', onClick(picker) { - const start = new Date() - picker.$emit('pick', [start, start]) + const startTime = new Date(new Date().setHours(0, 0, 0)) + const endTime = new Date(new Date().setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }, { text: '昨天', onClick(picker) { - const start = new Date().daysAgo(1) - picker.$emit('pick', [start, start]) + const startTime = new Date(new Date().daysAgo(1).setHours(0, 0, 0)) + const endTime = new Date(new Date().daysAgo(1).setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }, { text: '最近一周', onClick(picker) { - const start = new Date().daysAgo(7) - picker.$emit('pick', [start, new Date()]) + const startTime = new Date(new Date().daysAgo(7).setHours(0, 0, 0)) + const endTime = new Date(new Date().setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }, { text: '最近30天', onClick(picker) { - const start = new Date().daysAgo(30) - picker.$emit('pick', [start, new Date()]) + const startTime = new Date(new Date().daysAgo(30).setHours(0, 0, 0)) + const endTime = new Date(new Date().setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }, { text: '这个月', onClick(picker) { - const start = new Date().monthBegin() - picker.$emit('pick', [start, new Date()]) + const startTime = new Date(new Date().monthBegin().setHours(0, 0, 0)) + const endTime = new Date(new Date().setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }, { text: '本季度', onClick(picker) { - const start = new Date().quarterBegin() - picker.$emit('pick', [start, new Date()]) + const startTime = new Date(new Date().quarterBegin().setHours(0, 0, 0)) + const endTime = new Date(new Date().setHours(23, 59, 59)) + picker.$emit('pick', [startTime, endTime]) } }] export const calendarMoveShortcuts = [{ text: '‹ 往前一天 ', onClick(picker) { - if (picker.value.length === 0) { - picker.value = [new Date(), new Date()] + let startTime = new Date(new Date().daysAgo(1).setHours(0, 0, 0)) + let endTime = new Date(new Date().daysAgo(1).setHours(23, 59, 59)) + if (!picker.value) { + picker.value = [startTime, endTime] } - const start = picker.value[0].daysAgo(1) - const end = picker.value[1].daysAgo(1) - picker.$emit('pick', [start, end]) + startTime = picker.value[0].daysAgo(1) + endTime = picker.value[1].daysAgo(1) + picker.$emit('pick', [startTime, picker]) } }, { text: ' 往后一天 ›', onClick(picker) { - let start = new Date() - let end = new Date() - if (picker.value.length > 0) { - if (end - picker.value[1] > 8.64E7) { - start = picker.value[0].daysAgo(-1) - end = picker.value[1].daysAgo(-1) - } else { - start = picker.value[0] - } + let startTime = new Date(new Date().setHours(0, 0, 0)) + let endTime = new Date(new Date().setHours(23, 59, 59)) + if (!picker.value) { + picker.value = [startTime, endTime] } - picker.$emit('pick', [start, end]) + startTime = picker.value[0].daysAgo(-1) + endTime = picker.value[1].daysAgo(-1) + picker.$emit('pick', [startTime, endTime]) } }, { text: '« 往前一周 ', onClick(picker) { - if (picker.value.length === 0) { - picker.value = [new Date().daysAgo(7), new Date()] + let startTime = new Date(new Date().setHours(0, 0, 0)) + let endTime = new Date(new Date().setHours(23, 59, 59)) + if (!picker.value) { + picker.value = [startTime.daysAgo(new Date().getDay()), + startTime.daysAgo(new Date().getDay() + 1)] + } else { + picker.value = [picker.value[0].daysAgo(picker.value[0].getDay()), + picker.value[1].daysAgo(picker.value[1].getDay() + 1)] } - const start = picker.value[0].daysAgo(7) - const end = picker.value[1].daysAgo(7) - picker.$emit('pick', [start, end]) + startTime = picker.value[0].daysAgo(7) + endTime = picker.value[1] + picker.$emit('pick', [startTime, endTime]) } }, { text: ' 往后一周 »', onClick(picker) { - let start = new Date().daysAgo(7) - let end = new Date() - if (picker.value.length > 0) { - if (end - picker.value[1] > 8.64E7) { - start = picker.value[0].daysAgo(-7) - end = picker.value[1].daysAgo(-7) - } else { - start = picker.value[0] - } + let startTime = new Date(new Date().setHours(0, 0, 0)) + let endTime = new Date(new Date().setHours(23, 59, 59)) + if (!picker.value) { + picker.value = [startTime.daysAgo(new Date().getDay() - 7), + startTime.daysAgo(new Date().getDay() - 6)] + } else { + picker.value = [picker.value[0].daysAgo(picker.value[0].getDay() - 7), + picker.value[1].daysAgo(picker.value[1].getDay() - 6)] } - picker.$emit('pick', [start, end]) + startTime = picker.value[0] + endTime = picker.value[1].daysAgo(-7) + picker.$emit('pick', [startTime, endTime]) } }]