html:
class="picklength" v-model="form.startTime" :disabledHours="disabledStartHours" :disabledMinutes="disabledStartMinutes" :disabledSeconds="disabledStartSeconds" @change="onChangeStartTime" placeholder="开始时间" /> ~ class="picklength" v-model="form.endTime" :disabledHours="disabledEndHours" :disabledMinutes="disabledEndMinutes" :disabledSeconds="disabledEndSeconds" @change="onChangeEndTime" placeholder="结束时间" /> data(): form: { startTime: '', endTime: '' }, // 开始时间 onChangeStartTime(time) { if (!time) { this.$message.info('请选择时间') } else { const hh = time.hour() const mm = time.minutes() const ss = time.seconds() let timeH = '' let timeM = '' let timeS = '' hh < 10 ? (timeH = `0${hh}:`) : (timeH = `${hh}:`) mm < 10 ? (timeM = `0${mm}:`) : (timeM = `${mm}:`) ss < 10 ? (timeS = `0${ss}`) : (timeS = `${ss}`) const tiemStart = timeH + timeM + timeS this.addFormDetails.effectTime.alarmTimeStart = tiemStart } }, // 结束时间 onChangeEndTime(time) { if (!time) { this.$message.info('请选择时间') } else { const hh = time.hour() const mm = time.minutes() const ss = time.seconds() let timeH = '' let timeM = '' let timeS = '' hh < 10 ? (timeH = `0${hh}:`) : (timeH = `${hh}:`) mm < 10 ? (timeM = `0${mm}:`) : (timeM = `${mm}:`) ss < 10 ? (timeS = `0${ss}`) : (timeS = `${ss}`) const tiemStart = timeH + timeM + timeS this.addFormDetails.effectTime.alarmTimeEnd = tiemStart } }, // 获取不可选择的小时 disabledStartHours() { if (this.form.endTime) { const hours = [] const hour = moment(this.form.endTime).hour() for (let i = hour + 1; i < 24; i++) { hours.push(i) } return hours } }, // 获取不可选择的分钟 disabledStartMinutes(selectedHour) { if (this.form.endTime) { const minutes = [] const hour = moment(this.form.endTime).hour() const minute = moment(this.form.endTime).minute() if (selectedHour === hour) { for (let i = minute + 1; i < 60; i++) { minutes.push(i) } } return minutes } }, // 获取不可选择的秒 disabledStartSeconds(selectedHour, selectedMinute) { if (this.form.endTime) { const seconds = [] const hour = moment(this.form.endTime).hour() const minute = moment(this.form.endTime).minute() const second = moment(this.form.endTime).second() if (selectedHour === hour && selectedMinute === minute) { for (let i = second + 1; i < 60; i++) { seconds.push(i) } } return seconds } }, // 获取不可选择的小时 disabledEndHours() { if (this.form.startTime) { const hours = [] const hour = moment(this.form.startTime).hour() for (let i = 0; i < hour; i++) { hours.push(i) } return hours } }, // 获取不可选择的分钟 disabledEndMinutes(selectedHour) { if (this.form.startTime) { const minutes = [] const hour = moment(this.form.startTime).hour() const minute = moment(this.form.startTime).minute() if (selectedHour === hour) { for (let i = 0; i < minute; i++) { minutes.push(i) } } return minutes } }, // 获取不可选择的秒 disabledEndSeconds(selectedHour, selectedMinute) { if (this.form.startTime) { const seconds = [] const hour = moment(this.form.startTime).hour() const minute = moment(this.form.startTime).minute() const second = moment(this.form.startTime).second() if (selectedHour === hour && selectedMinute === minute) { for (let i = 0; i < second; i++) { seconds.push(i) } } return seconds } },