element的日期组件-两个的和单个的组件

2023-11-03

 

 

dateOne.vue

<template>
   <div class="dateDiv">
      <el-date-picker
        :popper-class="mrClass"
        v-model="inputVal"
        type="datetime"
        format="yyyy-MM-dd HH:mm"
        :editable = false
        :clearable = false
        prefix-icon = false
        @change="change"
        :placeholder='placeholder'>
      </el-date-picker>
    </div>
</template>

<script>
  export default {
    props:['placeholder','inputVal'],
    data() {
      return {
        inputVal: '',
        mrClass:'dateStyle',
      };
    },
     methods:{
      change(data) {
        let oDate = data.getTime();//毫秒数
        let nowDate = new Date().getTime();//当前时间毫秒数

        if(oDate > nowDate){//开始时间不能大于当前时间
          this.$message({
              message: '当前时间不能大于当前时间',
              type: 'warning'
          })
          this.inputVal = ''
          return;
        }
        let str = {
          'data' : data,
          'dataTime' : oDate,
        }
        this.$emit('validDate',str)

      },
    }

  };
</script>
<style lang='less' scoped>
  .dateDiv{
    width:100%;
    height:100%;
    .el-date-editor.el-input, .el-date-editor.el-input__inner{
      width:100%;
    }
  }

</style>

date.vue == 两个的日期选择框

<template>
  <div class="blockDate">
    <el-date-picker
      v-show = title
      ref='searchForm'
      v-model="value1"
      type="datetimerange"
      format="yyyy-MM-dd HH:mm"
      :editable = false
      :clearable = false
      prefix-icon = false
      range-separator="-"
      @change="change"
      start-placeholder="开始日期"
      end-placeholder="结束日期">
    </el-date-picker>
  </div>
</template>

<script>
  export default {
    props:['title'],
    data() {
      return {
        value1: ['', ''],
        title:true,
      };
    },
     methods:{
      change(data) {
        let oDate1 = data[0]
        let oDate2 = data[1]
        let nowDate = new Date();
        if(oDate1 && oDate2){

          if ( oDate1.getTime() > oDate2.getTime() ) {//开始时间不能大于结束时间
            this.$message({
              message: '开始时间不能大于结束时间',
              type: 'warning'
            })
            this.searchForm.applyDateMax = ''
            return;
          }

          if(oDate1.getTime() > nowDate.getTime()){//开始时间不能大于当前时间
            this.$message({
                message: '开始时间不能大于当前时间',
                type: 'warning'
            })
            return;
          }

           if(oDate2.getTime() > nowDate.getTime()){//结束时间不能大于当前时间
            this.$message({
                message: '结束时间不能大于当前时间',
                type: 'warning'
            })
            return;
          }
          let str = [];
              str[0] = oDate1;
              str[1] = oDate2;
          this.$emit('validDate',str)
        }

      },
      getDate(e){
        this.$emit('validDate',e)
      }
    }
  };
</script>
<style lang='less' scoped>
  .blockDate{
    width:100%;
    height:100%;
    .el-date-editor{
      width:100%;
    }
    .el-range-editor .el-range-input{
      border:1px solid #0090ff;
    }
  }

</style>

调动方法:以单个的为例

在template里面加入:

<date class="qxxxDate" @validDate = 'ChageStartTime' :title='dateShow' :inputVal='jcxxDate.startVal'></date>
import date from '@/components/date/dateOne'//时间选择器
components: {
      date,
    },
 ChageStartTime(data){//开始时间
        let nowTime = data.dataTime+300000;
        this.jcxxDate.startVal = this.commonjs.formatDate(data.data,'yyyy-MM-dd h:m');
        this.jcxxDate.endVal = this.commonjs.getNewDate(nowTime,'yyyy-MM-dd h:m');
      },//this.commonjs.formatDate是将时间转换为yyyy-mm-dd h:m格式,第一个参数是数据,第二个是格式

这里的this.commonjs.formatDate 公共方法请看这里:

https://blog.csdn.net/qq_41619796/article/details/94406138

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

element的日期组件-两个的和单个的组件 的相关文章

随机推荐

  • (附源码)node.js蒲公英旅游系统 毕业设计15565

    nodejs 蒲公英旅游系统 摘 要 随着社会的发展 社会的各行各业都在利用信息化时代的优势 计算机的优势和普及使得各种信息系统的开发成为必需 蒲公英旅游系统设计 主要的模块包括查看后台首页 轮播图 轮播图管理 公告管理 公告 资源管理 旅
  • 华为鸿蒙电脑操作系统测试版,华为鸿蒙OS测试

    软件介绍 华为鸿蒙OS测试平台是一款华为测试手机新系统的测试平台 这里可以让申请的用户最新体验华为的最新鸿蒙系统 让数百万用户去发现华为系统的不足 然后华为官方进行优化 我相信很多人都愿意做这个小白鼠 快来关注吧 华为鸿蒙OS测试软件简介
  • 【满分】【华为OD机试真题2023 JAVA&JS】Excel单元格数值统计

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 Excel单元格数值统计 知识点递归循环数组 时间限制 2s 空间限制 256MB 限定语言 不限 题目描述 Excel工作表中对选定区域的数值进行统计的功能非常实用 仿照Exc
  • 使用Simulink进行stm32开发2

    使用Simulink进行stm32开发2 小车直流电机控制 1 配置工程文件 simulink 模块搭建 stm32驱动模块 配置数据字典 配置电机控制函数 模块封装 加入输入并生成代码 基于对模型开发的学习 在这里用simulink搭建小
  • MyBatis 使用数组作为参数

  • OpenGL教程(五)

    前言 正如之前章节所提到的 着色器就是运行在GPU上的小程序 简单来说 着色器就是仅仅是一个将输入数据经过一定转换然后输出的过程 着色器之间是非常独立的 彼此之间除了输入输出之外没有其他交流 这篇文章将会详细介绍着色器以及编写着色器的语言G
  • 上下div之间有间距的问题

    我写了4个div 上下分布 均存在间距 代码以及效果如下 div1 height 100px background color blue position relative div2 height 100px background colo
  • HTTP请求方式中8种请求方法(简单介绍)

    HTTP请求方式中8种请求方法 简单介绍 简单介绍 HTTP是超文本传输协议 其定义了客户端与服务器端之间文本传输的规范 HTTP默认使用80端口 这个端口指的是服务端的端口 而客户端使用的端口是动态分配的 当我们没有指定端口访问时 浏览器
  • [Unity2D/3D]实用的血条制作(第一期)

    Unity2D 3D 实用的血条制作 第一期 在多数的游戏制作中 都会涉及到血条的制作 不论是在2D游戏中还是3D游戏中都非常常见 如何制作一款简易的血条呢 这里我给结合自己自学过程中用到的血条制作方法给大家分享一下我是如何制作血条的 效果
  • atoi函数(c语言)

    目录 atoi函数的说明 函数改编以及思路 代码 代码注释 atoi函数的说明 该函数的作用是将一字符串变为一整型类型的数字输出出来 若字符串内无数字则输出0 此处输出按十进制输出 字符串开头的空格会自动扫描为空 函数改编以及思路 对该函数
  • iframe无边框(隐藏边框)

    用css的border none来去掉iframe的边框在IE下起不了作用 将iframe的frameborder属性的值设为no就可以
  • Java--==与equals()的区别

    一 使用的对象 基本数据类型 equals 引用数据类型 二 比较内容 是否为同一地址 equals 未重写 是否为同一地址 已重写 引用数据类型内容 三 重写 public boolean equals Objeat obj if thi
  • Python接单一个月,副业居然比主业收入要多?

    python爬虫肯定是可以当副业的 我身边一个伙伴就靠会python爬虫这一项技能一个月差不多能有一万多收入 他截图给我看的他的收入图是这样的 人家一个月就靠接单这个副业都比很多人主业收入要多 每个月除主业外还有一万多收入 财务就相对自由的
  • 学习笔记二:IBIS模型编辑报错纠正

    新建IBIS文件后 写好了相应的IBIS模型文件 写好文件后 最好要检查下是否符合ibis语法 注意 第一点 IBIS头文件的 File name 此处名称需要和文件名称相同 同时名称字符数需在12个字符之内 否则会报错 File name
  • 一个javaer面试Python

    Python初面 一 初面缘由 今天是2022年的6月18日 广州 中雨转阴 非天气预报 我怀揣着紧张而有激动的心情趁着周末悄悄去面试了一次 说是去面试 其实也和玩差不多 公司的工作氛围很不错 空调很凉 零食很多 但是我没有心情享用 附上一
  • HFSS 3D LAOUT PCB 裁剪,差分线,过孔仿真和优化

    我本身不是做天线设计的 所以HFSS这个软件给我主要还是做PCB级别的高速信号完整性仿真 一般2 5D的仿真软件无法对过孔和跨平面进行仿真 所以要借助三维电磁软件进行 今天就针对PCB进行裁剪 为什么要裁剪 以为如果把整个PCB一起仿真的话
  • 移动APP专项测试

    什么是移动端测试 移动端测试是指对移动应用进行的测试 即实体的特性满足需求的特性 简言之就是针对移动平台的软件进行的测试 比如针对手机 ipad等平台上的各种app功能和性能展开的测试 相较于传统的web端的测试 移动端的测试受手机屏幕大小
  • 127.0.0.1和localhost的区别

    要比较两个东西有什么不同 首先要弄清两者的概念 所以 我们从概念开始 localhost 也叫local 正确的解释是 本地服务器 127 0 0 1 在windows等系统的正确解释是 本机地址 本机服务器 我们再看看他们的工作原理 lo
  • 关于块元素和行元素之间的转换

    如何让块元素变成行元素 将块级元素设置为行内元素 inline 可以通过以下几种方式 1 display inline 这个是最直接的方式 通过设置display样式为inline 可以将块级元素变为行内元素 例如 css div disp
  • element的日期组件-两个的和单个的组件

    dateOne vue