开始时间大于结束时间

1.dom中代码,监听所选日期值的变化,并把需要比较的时间字段作为参数传到监听方法中,

c 复制代码
<el-form-item label="起始日期" prop="startTime">
            <el-date-picker clearable size="small"
                            :disabled="isDisable"
                            v-model="form.startTime"
                            type="date"
                            value-format="yyyy-MM-dd"
                            @change="checkTime(form.startTime,form.expirationTime,form.signingTime,'start')"
                            :placeholder="isDisable? '':'选择起始日期'">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="终止日期" prop="expirationTime">
            <el-date-picker clearable size="small"
                            :disabled="isDisable"
                            v-model="form.expirationTime"
                            type="date"
                            value-format="yyyy-MM-dd"
                            @change="checkTime(form.startTime,form.expirationTime,form.signingTime,'expiration')"
                            :placeholder="isDisable? '':'选择终止日期'">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="签订时间" prop="signingTime">
            <el-date-picker clearable size="small"
                            :disabled="isDisable"
                            v-model="form.signingTime"
                            type="date"
                            value-format="yyyy-MM-dd"
                            @change="checkTime(form.startTime,form.expirationTime,form.signingTime,'signing')"
                            :placeholder="isDisable? '':'选择签订时间'">
            </el-date-picker>
          </el-form-item>

2.时间比较逻辑处理

c 复制代码
 //时间判断
      checkTime(startTime, expirationTime,signingTime, type) {
       /* if (startTime == '' || startTime == null || startTime == undefined) {
          return;
        }
        if (expirationTime == '' || expirationTime == null || expirationTime == undefined) {
          return;
        }
        if (signingTime == '' || signingTime == null || signingTime == undefined) {
          return;
        }*/
        if (startTime > expirationTime) {
          this.$modal.msgWarning("开始时间应小于终止时间!");
          if (type == 'start') {
            this.$set(this.form, 'startTime', '');
          } else if (type == 'expiration') {
            this.$set(this.form, 'expirationTime', '');
          }
        }
        if (startTime < signingTime) {
          this.$modal.msgWarning("开始时间应大于或等于签订时间!");
          if (type == 'start') {
            this.$set(this.form, 'startTime', '');
          }else if (type == 'signing') {
            this.$set(this.form, 'signingTime', '');
          }
        }
      },

二.当比较的是form表单中数组中循环的两个时间时,用以下方法

1.dom中监听日期值的变化 @change="checkTime()"

c 复制代码
 //本次读数时间必须大于上次读数时间
      checkTime() {
        this.form.readings.forEach(item => {
          if (item.readingTime < item.scdssj) {
            this.$modal.msgError("本次读数时间应大于上次读数时间!");
            item.readingTime = ''; // 清空本次读数所选日期
          }
        });
      },
相关推荐
小许学java8 小时前
MySQL-触发器
java·数据库·mysql·存储过程·触发器
JEECG低代码平台9 小时前
【2025/11】GitHub本月热度排名前十的开源Java项目
java·开源·github
百***86059 小时前
Spring BOOT 启动参数
java·spring boot·后端
跟着珅聪学java9 小时前
Spring Boot 中整合 MySQL 并打印 SQL 日志
java·spring boot
ᐇ9599 小时前
Java集合框架实战:HashMap与HashSet的妙用
java·开发语言
阿智智9 小时前
用Maven的quickstart archetype创建项目并结合JUnit5单元测试
java·单元测试·maven·junit5
孤狼warrior9 小时前
公司信息建设库数据 使用调用堆栈的JS逆向爬虫
javascript·爬虫
乂爻yiyao9 小时前
设计模式思想——从单例模式说起
java·单例模式·设计模式
q***11659 小时前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
by__csdn9 小时前
微服务与单体那些事儿
java·后端·微服务·云原生·架构