• 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

          }

        },

  • 相关阅读:
    84.(cesium之家)cesium模型在地形上运动
    生产事故-记一次特殊的OOM排查
    Docker安装NextCloud搭建私有网盘
    【Vue】大悟!模板语法-插值语法&指令语法
    工业交换机常见的硬件故障有哪些?
    SpringBoot SpringBoot 原理篇 2 自定义starter 2.4 使用属性配置设置功能参数【1】
    GBase 8c管理平台——4.数据迁移平台GBase 8c DMT
    vue3 表单搜索内容回显到地址栏
    【Numpy-矩阵库~python】
    Flask初探之WSGI
  • 原文地址:https://blog.csdn.net/lh95lbw/article/details/126118180