Commit 5f64d7ea by Zheng Jie

[代码优化](v2.6):解决日期控制日期计算错误的Bug,修复日期控件点击无效Bug

close https://github.com/elunez/eladmin/issues/560
parent 50b2298f
......@@ -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)
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 {
start = picker.value[0]
}
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])
}
}]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment