前端后端交互-ElementUI(日期选择器)

news2024/12/24 2:19:03

日期选择器

  • 页面效果

    页面效果
  • 组件源码

    <!-- 
        daterange: 范围选择类型
        format: 绑定后表单中显示的格式
        value-format: 传递时显示的格式
     -->
    <template>
        <el-date-picker v-model="rangeTime" type="daterange" range-separator="" start-placeholder="开始日期"
                end-placeholder="结束日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
        </el-date-picker>
    </template>
    
  • 数据绑定

    <!--  v-model="rangeTime" --> 
    rangeTime: [], 
    
    // 条件表单对象
    regionFormVO: {
        regionId: null,
        regionName: undefined,
        cityName: undefined,
        addressName: undefined,
        createTime: undefined,
        endTime: undefined,
    },
    
    <!-- 数据重组 -->
    onSubmit() {
        const data = this.regionFormVO
        if (data != null) {
    		// 将绑定后的值绑定
            data.createTime = this.rangeTime[0]
            data.endTime = this.rangeTime[1]
            console.log("data: ", data);
            // 重新组装提交的数据
            this.fetchData(this.currentPage, this.pageSize, data)
        }
        this.fetchData(this.currentPage, this.pageSize, this.regionFormVO)
    },
    
    // 异步请求
    fetchData(currentPage, pageSize, regionFormVO) {
        getListPage(currentPage, pageSize, regionFormVO).then(async response => {
            const { data: res } = await response
            console.log(res);
            this.currentPage = res.current
            this.pageSize = res.size
            this.tableData = res.records
            this.total = res.total
        })
    },
    

后端处理

  • 控制器

    package com.example.controller;
    
    @Slf4j
    @Api(tags = "区域信息")
    @RestController
    @CrossOrigin
    @RequestMapping("/region")
    public class RegionController {
        @Autowired
        private RegionService regionService;
    
        @ApiOperation("获取分页列表")
        @PostMapping("/list/{currentPage}/{pageSize}")
        public ResultModel<RegionFormDTO> listPage(
                @ApiParam(value = "当前页码", required = true)
                @PathVariable("currentPage") Integer currentPage,
                @ApiParam(value = "每页记录数", required = true)
                @PathVariable("pageSize") Integer pageSize,
                @ApiParam(value = "查询对象")
                @RequestBody RegionFormVO regionFormVO) {
            log.info("regionFormVO: {}",regionFormVO.toString());
            Page<RegionFormDTO> pageParam = new Page<>(currentPage, pageSize);
            IPage<RegionFormDTO> pageModel = regionService.selectListPage(pageParam, regionFormVO);
            return ResultModel.success(pageModel);
        }
    }
    
  • mapper

    @Mapper
    public interface RegionMapper extends BaseMapper<Region> {
        IPage<RegionFormDTO> selectPageVo(Page<RegionFormDTO> page, RegionFormVO regionFormVO);
    }
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.example.mapper.RegionMapper">
    <!-- IPage<RegionFormDTO> selectPageVo(Page<RegionFormDTO> page, RegionFormVO regionFormVO);  -->
    <select id="selectPageVo" resultType="regionFormDTO" parameterType="regionFormVO">
        SELECT r.regionId, r.regionName, c.cityName, a.addressName, createTime, endTime
        FROM region r
        JOIN city c ON r.regionId = c.regionId
        JOIN address a ON c.cityId = a.cityId
        <where>
            <if test="regionFormVO.regionName != null and regionFormVO.regionName != ''">
                or r.regionName LIKE #{regionFormVO.regionName}
            </if>
            <if test="regionFormVO.cityName != null and  regionFormVO.cityName != ''">
                or c.cityName LIKE #{regionFormVO.cityName}
            </if>
            <if test="regionFormVO.addressName != null and regionFormVO.addressName != ''">
                or a.addressName LIKE #{regionFormVO.addressName}
            </if>
            <if test="regionFormVO.createTime != null and regionFormVO.createTime!='' and  regionFormVO.endTime != null and regionFormVO.endTime !=''">
                or createTime BETWEEN #{regionFormVO.createTime} AND #{regionFormVO.endTime}
            </if>
        </where>
    </select>
    </mapper>
    
    
  • service

    public interface RegionService extends IService<Region> {
        IPage<RegionFormDTO> selectListPage(Page<RegionFormDTO> pageParam, RegionFormVO regionFormVO);
    }
    
    
    @Service
    public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
        @Override
        public IPage<RegionFormDTO> selectListPage(Page<RegionFormDTO> pageParam, RegionFormVO regionFormVO) {
            return baseMapper.selectPageVo(pageParam, regionFormVO);
        }
    }
    
    
  • 请求日志

    请求日期范围
    日志解析

说明

  • 数据库的日期类型是datetime

  • 在真正的实体类上对应的是

    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @ApiModel(value = "Region对象", description = "")
    public class Region implements Serializable {
        private static final long serialVersionUID = 1L;
        @TableId(value = "regionId", type = IdType.AUTO)
        private Integer regionId;
        @TableField("regionName")
        private String regionName;
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private Date createTime;
        @TableField("endTime")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private Date endTime;
    }
    
  • 使用vo时使用String类型,在测试过程中Date反复报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ使用延迟插件,代码量直接减少一半!

今天介绍一下使用RabbitMQ的延迟插件方便实现延迟消息的方案。 RabbitMQ 是一个由 Erlang 语言开发的 AMQP(高级消息队列协议) 的开源实现。 RabbitMQ 是轻量级且易于部署的&#xff0c;能支持多种消息协议。 RabbitMQ 可以部署在分布式和联合配置中&#xff0c;以满足高规模…

【立体视觉(四)】之极线校正与双目视觉

【立体视觉&#xff08;四&#xff09;】之极线校正与双目视觉 一、极线校正一&#xff09;Fusiello校正法1. 转换矩阵计算1&#xff09;计算旋转矩阵 R n R_n Rn​2&#xff09;计算内参矩阵 K n K_n Kn​3&#xff09;计算转换矩阵 T T T 2. 核线影像生成 二、双目视觉 此…

css基础知识五:CSS中,有哪些方式可以隐藏页面元素?区别?

一、前言 在平常的样式排版中&#xff0c;我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种&#xff0c;它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同&#xff0c;这些不同决定了在一些特定场合下使用哪一种方法 二、实现方式 通过…

【IC设计】ICC1 workshop lab guide 学习笔记——Lab 2 Design Planning Task1-4

文章目录 Lab 2 Design Planning2.1 Load the Design2.2 Initialize the Floorplan2.3 Preplace the Macros Connected to I/O Pads2.4 Perform Virtual Flat Placement Lab 2 Design Planning 2.1 Load the Design 进入lab2_dp目录并打开icc_shell&#xff0c;打开orca_lib.…

雪花去噪算法学习记录(一)之基础知识

在进行实验过程中&#xff0c;需要完成对雪天图像的处理&#xff0c;其中一个主要操作为去雪。相较于去雾&#xff0c;去雨模型&#xff0c;去雪模型相对较少&#xff0c;因此在研究时所能够借鉴的资料有限&#xff0c;这对我们的研究造成了一定困扰。 模型算法 DesnowNet网络…

[VPN]华为SecoClient客户端Linux使用

准备 安装环境&#xff1a;CentOS 下载安装包&#xff1a; # wget http://www.corem.com.cn/sites/default/files/tools/secoclient/secoclient-linux-64-7.0.2.26.run 安装 在root用户下&#xff0c;执行&#xff1a; # chmod x secoclient-linux-64-7.0.2.26.run # ./secoc…

瞎搞!你真的懂什么是ERP、中台、低代码吗?

企业数字化领域从来都不缺新概念 从制造资源计划到中台&#xff0c;企业MRP报表数字还没对齐&#xff0c;就要忙着“去烟囱”化&#xff1b; 从中台到低代码&#xff0c;企业“数据孤岛”还没打通&#xff0c;又要忙着“赋能数字化能力”给业务人员了。 这一来二去&#xff0c;…

已有仓库,上传代码,如果你是先写代码,想上传git上你可以这样操作

已有仓库,上传代码&#xff0c;如果你是先写代码&#xff0c;想上传git上你可以这样操作 第一步&#xff1a;初始化 git git init 第二步&#xff1a;添加文件 git add * 第三步&#xff1a;提交文件 git commit -m "完整项目可直接下载使用" 第四步&#xff1a;配置…

【MySql】MySql索引的操作

文章目录 索引结构问题聚簇索引与非聚簇索引索引操作创建主键索引唯一索引创建普通索引创建全文索引创建删除索引查询索引索引创建原则 索引结构问题 InnoDB 在建立索引结构来管理数据的时候&#xff0c;其他数据结构为何不行 链表:线性遍历,在效率上是不合适的 二叉搜索树&am…

如何用Jmeter提取和引用Token

1.执行获取token接口 在结果树这里&#xff0c;使用$符号提取token值。 $根节点&#xff0c;$.data.token表示提取根节点下的data节点下的token节点的值。 2.使用json提取器&#xff0c;提取token 变量路径就是把在结果树提取的路径写上。 3.使用BeanShell取样器或者BeanShell后…

在 Navicat Premium 中管理 MySQL 用户 | 第 2 部分:创建新用户

第 2 部分&#xff1a;创建新用户 第 2 部分&#xff1a;创建新用户 第 1 部分 中&#xff0c;我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL 的 root 帐号。本篇文章将集中介绍如何设置新用户的帐号详细信息、帐号限制和 SSL 设置。如果你想边学边用&#xff1…

做好用户体验设计 关键看5个方面

用户来了就走&#xff0c;用户吐槽不好用&#xff0c;用户留不住&#xff0c;好的功能没人用&#xff0c;这到底是怎么回事&#xff1f;问题关键在于好的用户体验设计&#xff0c;而做好用户体验设计&#xff0c;关键看5个方面&#xff1a; 1、是否有用 我们需要考量产品。对用…

如何用数字人技术让课堂活起来?番职院和3DCAT实时云渲染给出答案

2023年4月20日&#xff0c;广州市第二届智慧教育成果巡展活动在番禺职业技术学院&#xff08;下文简称番职院&#xff09;举行&#xff0c;本次活动的主题是智能AI助教—让课堂活起来。 活动现场&#xff0c;瑞云科技受邀展示了其自主研发的瑞云数字人课堂互动教学解决方案。数…

实时监控Active Directory用户登录操作

用户登录到其域计算机是任何企业中发生的日常活动。一开始&#xff0c;这可能看起来是一个简单的Active Directory事件&#xff0c;但分配了不同角色的管理员可以将这些有价值的数据用于各种审计&#xff0c;合规性和运营需求。组织需要审核“AD 用户登录日志”的详细信息&…

JavaWeb学习路线(5)——MyBatis

准备工作&#xff1a;JDBC 概念&#xff1a; JDBC&#xff08;Java DataBase Connectivity&#xff09;&#xff0c;就是使用Java语言操作关系型数据库的一套API。JDBC使用数据库的五大步骤 //步骤一&#xff1a;注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"…

手机App弹窗的常用测试点

手机App弹窗是目前流行的一种内容展示形式&#xff0c;根据内容性质可以划分为消息、通知、广告、营销等等&#xff0c;展现形式也比较多变&#xff0c;刚上手测试特容易手忙脚乱&#xff0c;为了帮助新人能够快速入门&#xff0c;笔者在此将弹窗常见的测试点一一进行罗列&…

「网络编程」第二讲:网络编程socket套接字(三)_ 简单TCP网络通信程序的实现

「前言」文章是关于网络编程的socket套接字方面的&#xff0c;上一篇是网络编程socket套接字&#xff08;二&#xff09;&#xff0c;下面开始讲解&#xff01; 「归属专栏」网络编程 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」「每篇一句」 I do…

maven-mvnd搞起来

maven-mvnd是Apache Maven团队借鉴了Gradle和Takari的优点&#xff0c;衍生出来的更快的构建工具&#xff0c;maven的强化版&#xff01; maven-mvnd 在设计上&#xff0c;使用一个或多个守护进程来构建服务&#xff0c;以此来达到并行的目的&#xff01;同时&#xff0c;mave…

FreeRTOS 创建任务

例子&#xff1a;创建一个任务&#xff0c;并在任务里面翻转LED 灯 1. 函数原型 BaseType_t xTaskCreate(TaskFunction_t pxTaskCode,const char * const pcName,const uint16_t usStackDepth,void * const pvParameters,UBaseType_t uxPriority,TaskHandle_t * const pxCreat…

STM32的定时器详解(嵌入式学习)

STM32的定时器详解 0. 前言1. Systick定时器概念工作原理时钟基准Systick练习 2. HAL_Delay函数分析3. 定时器基本概念定时器分类定时器组成计数器自动重装寄存器预分频器 定时器计数原理定时器练习 4. 软件定时器概念设计思想代码 0. 前言 想要了解STM32的时钟系统 点击这里跳…