开始时间大于结束时间

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 = ''; // 清空本次读数所选日期
          }
        });
      },
相关推荐
Lee川6 分钟前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试
比特鹰19 分钟前
手把手带你用Flutter手搓人生K线
前端·javascript·flutter
大雨还洅下19 分钟前
前端JS: 数组扁平化
javascript
奔跑路上的Me23 分钟前
前端导出 Word/Excel/PDF 文件
前端·javascript
bluceli23 分钟前
JavaScript异步编程深度解析:从回调到Async Await的演进之路
前端·javascript
NE_STOP24 分钟前
MyBatis-参数处理与查询结果映射
java
SuperEugene36 分钟前
路由与布局骨架篇:布局系统 | 头部、侧边栏、内容区、面包屑的拆分与复用
前端·javascript·vue.js
代码煮茶37 分钟前
前端网络请求实战 | Axios 从入门到封装(拦截器 / 错误处理 / 重试)
javascript
进击的尘埃37 分钟前
组合式函数 Composables 的设计模式:如何写出可复用的 Vue3 Hooks
javascript
进击的尘埃44 分钟前
浏览器渲染管线深度拆解:从 Parse HTML 到 Composite Layers 的每一帧发生了什么
javascript