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


    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

          }

        },

  • 相关阅读:
    申请newBing后使用edge浏览器检索时“重定向次数过多”,导致无法正常使用
    一口气说出 Synchronized 同步方法的八种使用场景
    西藏2022中国农民丰收节 国稻种芯:让农牧民成为活动主角
    阿里云PolarDB自研数据库详细介绍_兼容MySQL、PostgreSQL和Oracle语法
    分布式锁的特点和实现
    SVN目录中空格引起的权限异常问题?
    升压芯片很简单(三),FSB628升压芯片大串讲
    主机加固,防勒索病毒
    【驱动开发】控制stm32mp157a开发板三盏灯的亮灭
    java读取OPC DA数据---Utgard
  • 原文地址:https://blog.csdn.net/lh95lbw/article/details/126118180