• 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

          }

        },

  • 相关阅读:
    BetaFlight飞控AOCODAF435V2MPU6500固件编译
    虚拟摄像头之一: android8.1 移植 v4l2loopback 虚拟摄像头
    20天能拿下PMP吗?
    【Mybatisplus】初识Mybatisplus+SpringBoot整合
    视频监控/视频汇聚/视频云存储EasyCVR平台接入华为ivs3800平台提示400报错,该如何解决?
    阻容降压电路:每个元器件计算选型
    安装Milvus的可视化工具Attu教程
    C++:指针:看完还不会指针,来捶我
    高精定位市场上,蓝牙AOA如何破局?
    华为云HCIA鲲鹏结业考试笔记 试题及答案
  • 原文地址:https://blog.csdn.net/lh95lbw/article/details/126118180