<el-date-picker
    ref="datePicker"
    class="fixed_input"
    v-model="dateTime"
    size="mini"
    type="datetime"
    :placeholder="$t('comm.TV_WARN_CHOOSED_DATE_TIME')"
    :picker-options="pickerOptions"
>
</el-date-picker>

pickerOptions: any = null

pickerOptions1 = {
    disabledDate: (time) => {
        return time.getTime() < new Date(this.recordStartTime).getTime() - 8.64e7 || time.getTime() > new Date(this.recordStopTime).getTime()
    },
    selectableRange: `00:00:00 - ${new Date(this.recordStopTime).format('hh:mm:ss')}`
}

pickerOptions2 = {
    disabledDate: (time) => {
        return time.getTime() < new Date(this.recordStartTime).getTime() - 8.64e7 || time.getTime() > new Date(this.recordStopTime).getTime()
    },
    selectableRange: `${new Date(this.recordStartTime).format('hh:mm:ss')} - 23:59:59`
}

pickerOptions3 = {
    disabledDate: (time) => {
        return time.getTime() < new Date(this.recordStartTime).getTime() - 8.64e7 || time.getTime() > new Date(this.recordStopTime).getTime()
    },
    selectableRange: `00:00:00 - 23:59:59`
}

@Watch('choosedDate', { immediate: true })
watchChoosedDate(newVal) {
    let dateObj = JSON.parse(newVal)
    if (
        dateObj.year == new Date(this.recordStopTime).getFullYear() &&
        dateObj.month == new Date(this.recordStopTime).getMonth() &&
        dateObj.date == new Date(this.recordStopTime).getDate()
    ) {
        this.pickerOptions = this.pickerOptions1
    } else if (
        dateObj.year == new Date(this.recordStartTime).getFullYear() &&
        dateObj.month == new Date(this.recordStartTime).getMonth() &&
        dateObj.date == new Date(this.recordStartTime).getDate()
    ) {
        this.pickerOptions = this.pickerOptions2
    } else {
        this.pickerOptions = this.pickerOptions3
    }
}

范范范范范范范
21 声望0 粉丝