ant vue2.0 开始时间 结束时间联动

html:

 <a-time-picker

              class="picklength"

              v-model="form.startTime"

              :disabledHours="disabledStartHours"

              :disabledMinutes="disabledStartMinutes"

              :disabledSeconds="disabledStartSeconds"

              @change="onChangeStartTime"

              placeholder="开始时间"

            />

            <span style="margin: 0 5px">~</span>

            <a-time-picker

              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

      }

    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值