<template>
<!-- 时间控件禁止分钟以及小时 -->
<div>
{{ sendTime }}
<el-date-picker popper-class="no-atTheMoment" v-model="sendTime" type="datetime" placeholder="请选择日期时间"
prefix-icon="el-icon-date" @focus="fhandleFocus" :disabled-hours="disabledHours"
:disabled-minutes="disabledMinutes" :disabled-date="disabledDate" @change="handlePick" />
</div>
</template>
<script setup>
import { ref } from 'vue'
const sendTime = ref(new Date())
const disabledHours = () => {
const now = new Date()
const hours = now.getHours()
const disabled = []
if (sendTime.value.getDate() === new Date().getDate()) {
for (let i = 0; i < hours; i++) {
disabled.push(i)
}
}
return disabled
}
const disabledMinutes = (hour) => {
const now = new Date()
const minutes = now.getMinutes()
const disabled = []
if (hour === now.getHours()) {
for (let i = 0; i < minutes; i++) {
disabled.push(i)
}
}
return disabled
}
const disabledDate = (time) => {
const now = new Date()
return time.getTime() < now.getTime()
}
</script>
<style>
.no-atTheMoment .el-picker-panel__footer button:first-child {
display: none;
}
</style>