diff --git a/src/components/form/datePicker/index.vue b/src/components/form/datePicker/index.vue
index 3939893..032bee7 100644
--- a/src/components/form/datePicker/index.vue
+++ b/src/components/form/datePicker/index.vue
@@ -7,7 +7,6 @@
>
-
{
if (props.initialTimeValue) {
timeValue.value = props.initialTimeValue
}
+
+ nextTick(() => {
+ // 初始化时检查按钮状态
+ checkInitialButtonStatus()
+ })
+
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 = () => {
nextTick(() => {
@@ -115,11 +133,9 @@ const emitChange = () => {
// 选择时间范围
const timeChange = (e: number) => {
backDisabled.value = false
- preDisabled.value = true
count.value = 0
if (e == 1) {
disabledPicker.value = true
-
timeValue.value = [setTime(1), setTime()]
} else if (e == 2) {
disabledPicker.value = true
@@ -140,7 +156,6 @@ const timeChange = (e: number) => {
} else if (e == 5) {
disabledPicker.value = false
backDisabled.value = true
- preDisabled.value = true
timeValue.value = [setTime(), setTime()]
}
if (e == 1 || e == 2) {
@@ -148,10 +163,31 @@ const timeChange = (e: number) => {
} else {
timeFlag.value = 1
}
+
+ // 检查按钮状态
+ checkButtonStatus()
+
// 触发 change 事件
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 = () => {
// console.log(interval.value, '000000000')