fix: 动态年月逻辑错误

This commit is contained in:
fit2cloud-chenyw 2022-01-14 17:34:35 +08:00
parent 0180e8369b
commit 93d749f573
2 changed files with 9 additions and 17 deletions

View File

@ -92,15 +92,14 @@ class TimeMonthServiceImpl extends WidgetService {
const now = new Date()
const nowMonth = now.getMonth()
const nowYear = now.getFullYear()
const nowDate = now.getDate()
if (element.options.attrs.default === null || typeof element.options.attrs.default === 'undefined' || !element.options.attrs.default.isDynamic) return null
if (element.options.attrs.default.dkey === 0) {
return Date.now()
return new Date(nowYear, nowMonth, 1).getTime()
}
if (element.options.attrs.default.dkey === 1) {
return new Date(nowYear, nowMonth - 1, nowDate).getTime()
return new Date(nowYear, nowMonth - 1, 1).getTime()
}
if (element.options.attrs.default.dkey === 2) {
@ -112,9 +111,9 @@ class TimeMonthServiceImpl extends WidgetService {
const dynamicSuffix = element.options.attrs.default.dynamicSuffix
if (dynamicSuffix === 'before') {
return new Date(nowYear, nowMonth - dynamicPrefix, nowDate).getTime()
return new Date(nowYear, nowMonth - dynamicPrefix, 1).getTime()
} else {
return new Date(nowYear, nowMonth + dynamicPrefix, nowDate).getTime()
return new Date(nowYear, nowMonth + dynamicPrefix, 1).getTime()
}
}
}

View File

@ -91,28 +91,21 @@ class TimeYearServiceImpl extends WidgetService {
dynamicDateFormNow(element) {
if (element.options.attrs.default === null || typeof element.options.attrs.default === 'undefined' || !element.options.attrs.default.isDynamic) return null
const now = new Date()
const nowYear = now.getFullYear()
if (element.options.attrs.default.dkey === 0) {
return Date.now()
return new Date(nowYear, 0, 1).getTime()
}
if (element.options.attrs.default.dkey === 1) {
const now = new Date()
const nowYear = now.getFullYear()
const nowMonth = now.getMonth()
const nowDate = now.getDate()
return new Date(nowYear - 1, nowMonth, nowDate).getTime()
return new Date(nowYear - 1, 0, 1).getTime()
}
if (element.options.attrs.default.dkey === 2) {
const dynamicPrefix = parseInt(element.options.attrs.default.dynamicPrefix)
const dynamicSuffix = element.options.attrs.default.dynamicSuffix
const now = new Date()
const nowMonth = now.getMonth()
const nowYear = now.getFullYear()
const nowDate = now.getDate()
return new Date(dynamicSuffix === 'before' ? (nowYear - dynamicPrefix) : (nowYear + dynamicPrefix), nowMonth, nowDate).getTime()
return new Date(dynamicSuffix === 'before' ? (nowYear - dynamicPrefix) : (nowYear + dynamicPrefix), 0, 1).getTime()
}
}
}