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