全屏默认值小于当前时间,不禁用下一步按钮

This commit is contained in:
stt
2025-11-24 13:25:55 +08:00
parent 042798c6a7
commit e49e34df6d

View File

@@ -7,7 +7,6 @@
> >
<el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
<el-date-picker <el-date-picker
v-model.trim="timeValue" v-model.trim="timeValue"
type="daterange" type="daterange"
@@ -99,9 +98,28 @@ onMounted(() => {
if (props.initialTimeValue) { if (props.initialTimeValue) {
timeValue.value = props.initialTimeValue timeValue.value = props.initialTimeValue
} }
nextTick(() => {
// 初始化时检查按钮状态
checkInitialButtonStatus()
})
timeChange(3) timeChange(3)
}) })
// 添加初始化按钮状态检查方法
const checkInitialButtonStatus = () => {
if (timeValue.value && timeValue.value.length >= 2) {
const endTime = timeValue.value[1]
const currentDate = window.XEUtils.toDateString(new Date(), 'yyyy-MM-dd')
// 如果结束时间小于当前日期,则不禁用"下一个"按钮
if (new Date(endTime + ' 00:00:00').getTime() < new Date(currentDate + ' 00:00:00').getTime()) {
preDisabled.value = false
}
}
}
// 添加统一的事件触发方法 // 添加统一的事件触发方法
const emitChange = () => { const emitChange = () => {
nextTick(() => { nextTick(() => {
@@ -115,11 +133,9 @@ const emitChange = () => {
// 选择时间范围 // 选择时间范围
const timeChange = (e: number) => { const timeChange = (e: number) => {
backDisabled.value = false backDisabled.value = false
preDisabled.value = true
count.value = 0 count.value = 0
if (e == 1) { if (e == 1) {
disabledPicker.value = true disabledPicker.value = true
timeValue.value = [setTime(1), setTime()] timeValue.value = [setTime(1), setTime()]
} else if (e == 2) { } else if (e == 2) {
disabledPicker.value = true disabledPicker.value = true
@@ -140,7 +156,6 @@ const timeChange = (e: number) => {
} else if (e == 5) { } else if (e == 5) {
disabledPicker.value = false disabledPicker.value = false
backDisabled.value = true backDisabled.value = true
preDisabled.value = true
timeValue.value = [setTime(), setTime()] timeValue.value = [setTime(), setTime()]
} }
if (e == 1 || e == 2) { if (e == 1 || e == 2) {
@@ -148,10 +163,31 @@ const timeChange = (e: number) => {
} else { } else {
timeFlag.value = 1 timeFlag.value = 1
} }
// 检查按钮状态
checkButtonStatus()
// 触发 change 事件 // 触发 change 事件
emitChange() emitChange()
} }
// 添加按钮状态检查方法
const checkButtonStatus = () => {
if (timeValue.value && timeValue.value.length >= 2) {
const endTime = timeValue.value[1]
const currentDate = window.XEUtils.toDateString(new Date(), 'yyyy-MM-dd')
// 如果结束时间大于等于当前日期,且 nextFlag 为 false则禁用"下一个"按钮
if (!props.nextFlag) {
if (new Date(endTime + ' 00:00:00').getTime() >= new Date(currentDate + ' 00:00:00').getTime()) {
preDisabled.value = true
} else {
preDisabled.value = false
}
}
}
}
// 当前 // 当前
const nowTime = () => { const nowTime = () => {
// console.log(interval.value, '000000000') // console.log(interval.value, '000000000')