element-ui 实现多日期选择

2023-11-15

一 前端代码

<template>
  <div class="app-container">
    <!-- 选择一个或多个日期 -->
    <el-date-picker
      ref="datesRef"
      type="dates"
      v-model="searchObj.dateArr"
      :editable="false"
      format="yyyy-MM-dd"
      value-format="yyyy-MM-dd"
      placeholder="选择一个或多个日期"
    ></el-date-picker>
    <!-- 打印选择日期 -->
    <el-button type="primary" @click="clickBtn" class="btn">打印选择的时间</el-button>
    <div style="margin-top: 20px">
      <span>打印区</span>
      <el-input type="textarea" :rows="2" v-model="printStr"></el-input>
    </div>
    
    <!-- 条件查询 -->
    <el-form :inline="true" class="demo-form-inline">
      <el-form-item>
        <el-input v-model="searchObj.name" placeholder="名称" />
      </el-form-item>
      <el-button type="primary" icon="el-icon-search" @click="getList()">搜索</el-button>
    </el-form>
    <!-- 列表 -->
    <el-table :data="list" stripe style="width: 100%">
      <el-table-column type="index" width="50" />
      <el-table-column prop="name" label="名称" />
      <el-table-column prop="startTime" label="开始时间" />
      <el-table-column prop="endTime" label="结束时间" />
    </el-table>
  </div>
</template>
</div>
</template>

<script>
// 引入接口定义的 js 文件
import taskDistribution from "@/api/taskDistribution";
export default {
  // 定义变量和初始值
  data() {
    return {
      printStr: "",
      current: 1, // 当前页
      limit: 20, // 每页显示记录数
      searchObj: {}, // 条件封装对象
      list: [] // 每页数据集合
    };
  },
  // 在页面渲染之前执行,一般调用 methods 中定义的方法,得到数据
  created() {
    //this.getList();
  },
  mounted: function() {
    //为了解决bug,所以默认值放在了这里
    this.$nextTick(function() {
      this.dateArr = [];
      this.$refs.datesRef.showPicker();
      this.$refs.datesRef.hidePicker();
    });
  },
  methods: {
    clickBtn: function() {
      this.printStr = this.searchObj.dateArr ? this.searchObj.dateArr.join() : "";
    },
    // 定义方法,进行请求接口调用
    // 拜访列表
    getList(page = 1) {
      // 添加当前页参数
      this.current = page;
      taskDistribution
        .getVisitList(this.current, this.limit, this.searchObj)
        .then(response => {
          // response 是接口返回数据
          this.list = response.data;
        }) // 请求成功
        .catch(error => {});
    } // 请求失败
  }
};
</script>

二 后端代码

@Override
public List<Visit> selectPage(Integer page, Integer limit, VisitVo visitVo) {
    Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
    // 0为第一页
    Pageable pageable = PageRequest.of(page - 1, limit, sort);
    Visit visit = new Visit();
    BeanUtils.copyProperties(visitVo, visit);
    // 创建匹配器,即如何使用查询条件
    ExampleMatcher matcher = ExampleMatcher.matching() // 构建对象
            .withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING) // 改变默认字符串匹配方式:模糊查询
            .withIgnoreCase(true); //改变默认大小写忽略方式:忽略大小写
    // 创建实例
    Example<Visit> example = Example.of(visit, matcher);
    Page<Visit> pages = visitRepository.findAll(example, pageable);
    List<Visit> contentList = pages.getContent();
    List<Visit> visitList = new ArrayList<>();
    contentList.stream().forEach(item -> {
        List<String> dateArr = visitVo.getDateArr();
        for (String date : dateArr) {
            Date startDate = item.getStartTime();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String startDatestr = dateFormat.format(startDate);

            if(startDatestr.contains(date)){
                visitList.add(item);
                break;
            }
        }
    });

    return visitList;
}

三 测试效果

1 选择8号和11号

2 点击确认,然后点击打印选择的时间

3 数据展示,仅展示8号和11号的数据

 

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

element-ui 实现多日期选择 的相关文章

随机推荐

  • PMP常用英文术语缩写总结(文字版+表格版+图片版)

    PMP常用英文术语缩写总结 文字版 表格版 图片版 文字版 PMBOK Project Management Body of Knowledge 项目管理知识体系 PMI Project Management Institute 项目管理协
  • 数据结构--图的应用--最短路径

    最短路径 两种常见的最短路径问题 一 单源最短路径 用Dijistra迪杰斯特拉 算法 二 所有顶点间的最短路径 用Floyd 弗洛伊德 算法 Dijistra算法 1 初始化 先找出从源点v0到各终点Vk的的直达路径 V0 Vk 即通过一
  • 【element-plus】icon在菜单的使用(二)

    前言 之前觉得升级的icon不好使用是以为不能动态的设置图标 现在发现我错了 升级后的icon同样能满足之前的需求 本篇主要说明一下配置菜单时如何使用icon 一 下载依赖包 因为动态引入的icon随时都会调整 所以之前引入所有的icon最
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】VLAN资源池

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 VLAN资源池 知识点数组字符串 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 VLAN是一种对局域网设备进行逻辑划分的技术 为了标识不同的VLAN 引入VLAN I
  • C++字符串 处理函数合集

    本博客的内容源自 数据结构 用面向对象方法与C 描述 第二版 的内容 章节4 4 在阅读原文的情况下整理得出的读书笔记 均写在代码的注释中 供大家参考 include
  • HDF5 windows编译 release版本、Debug版本

    由于最近急需的一个项目 需要hdf5库 误打误撞 编译成功 特此记录 1 下载源代码 官网下载地址 https portal hdfgroup org display support HDF5 1 12 2 files 找到如下地址 本人电
  • 设计模式 -- Adapter 适配器模式

    转自 http blog csdn net joyney article details 4000818 以下内容是我和小组的兄弟学习设计模式我做的课件 我整理出来和大家分享 有不妥之处敬请指出 上次做的桥接模式 Bridge 这次是适配器
  • 小程序wxs使用教程

    1 什么是wxs wxs是小程序的一种脚本语言 它类似JavaScript 但是与JavaScript有所不同 wxs是一种数据绑定和逻辑处理的语言 它可以在wxml中使用 并且可以在wxml中直接调用 使用wxs可以实现更高效 更灵活的数
  • Games101,Lecture 13(光线与物体求交,引入包围盒)

    光线追踪 光线追踪更多的用于离线应用 因为一帧一般需要一万个CPU小时 原理 由摄像机发出感应光线 判断与物体相交的点是否可以与 光源连线 无遮挡物 如何判断光线与物体有交点 是管线追踪中较难的部分 光线与物体求交 1 与隐式表示的曲面求交
  • RabbitMQ 端口详解

    4369 epmd 25672 Erlang distribution Epmd 是 Erlang Port Mapper Daemon 的缩写 在 Erlang 集群中相当于 dns 的作用 绑定在4369端口上 5672 5671 AM
  • c++ 定时器_「STM32」定时器中断实验

    在上一篇文章中 STM32 定时器概述 中 定时器可以被人为分为4个大部分 时钟发生器 实际模块 输入捕获 输出比较 而定时器中断实验 我们更多的在操作时钟发射器这个模块 这个应用也是定时器最基本的应用了 时钟选择 内部时钟选择 时钟计算方
  • SpringBoot使用@JsonDeserialize和@JsonSerialize注解的功能简介说明

    转自 SpringBoot使用 JsonDeserialize和 JsonSerialize注解的功能简介说明 下文笔者讲述 JsonDeserialize和 JsonSerialize注解的功能简介说明 SpringMVC 在Spring
  • 【SQL基础】【关键字大写】条件查询:比较、不等于、IN、为空、BETWEEN

    概述 1 内容介绍 条件查询 比较 不等于 IN 为空 BETWEEN 2 建表语句 drop table if exists user profile CREATE TABLE user profile id int NOT NULL d
  • 使用 vite 代替 webpack 搭建 react 前端开发环境

    说明 在大型前端项目中 我们一般会使用 webpack Rollup 等工具进行模块整合 但是庞大的代码量会使得我们在开发阶段花费更多的时间在 代码改动 gt 页面渲染 这个阶段 即使使用 HMR 这个问题也没有完全的解决 项目代码量达到一
  • plsql链接服务器无响应,sqlplus 连接数据库无响应

    一批三台安装服务器 先后出现了sqlplus 连接数据库无响应问题 1 因为几乎同一时间出现问题 起初怀疑是网络组对网络有整体调整 后经过确认网络组有调整 但不影响我们的服务器 2 telnet server 1521端口正常响应 3 从终
  • 深度解析,抖音对口型唱歌类短视频内容制作流程,步骤技巧分享

    就像之前分享的信息差案例一样 任何时候都有信息差 但是还有一种叫认知差 就是认知高的人赚认知低的人的钱 不是有句话很火吗 你永远也赚不到认知以外的钱 更多精彩干货请关注共众号 萤火宠 你的认知很高 可以高客单价赚高认知人群的钱 但是也有些人
  • 图形学-改进的Bresenham算法

    图形学 改进的Bresenham算法 原理 代码 原理 虽然中点Bresenham算法是一种效率很高的算法 但也还有改进的余地 当然 其基本原理仍是每次在最大位移方向上走一步 而另一个方向上走还是不走取决于误差项的判断 根据中点Bresen
  • JSP和JavaBean

    8 JSP 8 1 什么是JSP Java Servlet Pages java服务器端页面 也和Servlet一样 用于实现动态Web技术 最大特点 写JSP就像是写HTML 区别 HTML只给用户提供静态的数据 JSP页面中可以嵌入Ja
  • 智慧政务行业发展报告

    转自微信公众号 智慧城市圈子邱文斌 一 智慧政务行业发展状况 从上个世纪90年代开始 政府信息化的建设就开始围绕 通 进行 而现今正逐渐过渡到 云 的建设 从网络的连通 数据的整合 到云的出现与整合 政府信息化的建设是一个漫长而又快速发展的
  • element-ui 实现多日期选择

    一 前端代码