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

日期选择器

  • 页面效果

    页面效果
  • 组件源码

    <!-- 
        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.mfbz.cn/a/31089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达471机器学习入门课程3第1周——K-means

K-means 聚类 1 - 实现 K-means1.1 找到最近的质心练习11.2 计算质心均值练习2 2 - K-means在样本数据集上的应用3 - 随机初始化4 - K-means图像压缩4.1 数据集可视化处理数据 4.2图像像素上的 K-mean4.3 压缩图片 实现 K-means 算法&#xff0c;并将其用于图像压缩。 您将从一…

fscan安装配置(windows、linux系统)

fscan安装配置(windows、linux系统) 1、简介 fscan一款内网综合扫描工具&#xff0c;方便一键自动化、全方位漏扫扫描。 它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探…

qt 时间编程之时钟

这里写目录标题 开启time格式自动 QTIM打点 qtime qt的时间类 qtimer qt的定时类 头文件包含以及定义 #include<QTime> #include<QTimer>QTime * time; QTimer * timer;开启 右键槽 timer start&#xff08;50&#xff09; 到达50毫米的时候会触发 time out信号…

AcWing801: 二进制中1的个数(两种方法详解)

原题引出 方法一&#xff1a;使用lowbit 算法的时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn)&#xff0c;使用lowbit操作&#xff0c;每次操作截取一个数字的最后一个1后面的所有位&#xff0c;每次减去lowbit得到的数字&#xff0c;直到数字减到0&#xff0c;就得到了最终…

基于SSM+jsp的电子商城系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

Redis原理 - 内存策略

原文首更地址&#xff0c;阅读效果更佳&#xff01; Redis 本身是一个典型的 key-value 内存存储数据库&#xff0c;因此所有的 key、value 都保存在之前学习过的 Dict 结构中。不过在其 database 结构体中&#xff0c;有两个 Dict &#xff1a;一个用来记录 key-value&#xf…

day1

在linux内核中&#xff0c;当用户打开设备文件时&#xff0c;内核中的VFS层会调用设备驱动中的sys_open()函数&#xff0c;在sys_open()函数中&#xff0c;内核会根据文件的inode号判断文件是否存在于文件系统中&#xff0c;如果存在&#xff0c;内核会找到这个文件的文件信息结…

翻筋斗觅食策略改进灰狼算法(IGWO)

目录 一、动态扰动因子策略 二、翻筋斗觅食策略 三、改进灰狼算法收敛曲线图 灰狼优化算法存在收敛的不合理性等缺陷&#xff0c;目前对GWO算法的收敛性改进方式较少&#xff0c;除此之外&#xff0c;当GWO迭代至后期&#xff0c;所有灰狼个体都逼近狼、狼、狼&#xff0c;…

A Neural Conversational Model 读后感

目录 摘要 1、介绍 2、相关工作 3、模型 4、数据&#xff08;后面都是具体的东西&#xff0c;不赘述&#xff09; 5、总结 使用微软翻译得到的中文原文&#xff1a; 摘要 会话建模是自然语言理解和机器智能中的一项重要任务。尽管存在以前的方法&#xff0c;但它们通常仅…

React中的HOC高阶组件处理

先了解函数柯里化 柯里化函数&#xff08;Currying Function&#xff09;是指将一个接受多个参数的函数转化成一系列只接受单个参数的函数&#xff0c;并且返回接受单个参数的函数&#xff0c;达到简化函数调用和提高可读性的目的。 简单来说&#xff0c;柯里化即将接收多个参…

Pytorch数据类型Tensor张量操作(操作比较全)

文章目录 Pytorch数据类型Tensor张量操作一.创建张量的方式1.创建无初始化张量2.创建随机张量3.创建初值为指定数值的张量4.从数据创建张量5.生成等差数列张量 二.改变张量形状三.索引四.维度变换1.维度增加unsqueeze2.维度扩展expand3.维度减少squeeze4.维度扩展repeat 五.维度…

Jenkins-pipeline自动化构建Java应用

本实验操作需要&#xff1a;Jenkins&#xff0c;git代码仓库&#xff08;如gitlab&#xff0c;gitee等都可以&#xff09;&#xff0c;maven&#xff0c;docker&#xff0c;docker镜像仓库&#xff08;habor&#xff0c;nexus或者阿里云ACR等&#xff09;以及k8s环境。 前期准…

Python网络爬虫基础进阶到实战教程

文章目录 认识网络爬虫HTML页面组成Requests模块get请求与实战效果图代码解析 Post请求与实战代码解析 发送JSON格式的POST请求使用代理服务器发送POST请求发送带文件的POST请求 Xpath解析XPath语法的规则集&#xff1a;XPath解析的代码案例及其详细讲解&#xff1a;使用XPath解…

k8s使用ceph存储

文章目录 初始化操作k8s使用ceph rbdvolumePV静态pv动态pv k8s使用cephfsvolume静态pv 初始化操作 ceph创建rbd存储池 ceph osd pool create k8s-data 32 32 replicated ceph osd pool application enable k8s-data rbd rbd pool init -p k8s-dataceph添加授权&#xff0c;需…

吴恩达ChatGPT《Building Systems with the ChatGPT API》笔记

1. 课程介绍 使用ChatGPT搭建端到端的LLM系统 本课程将演示使用ChatGPT API搭建一个端到端的客户服务辅助系统&#xff0c;其将多个调用链接到语言模型&#xff0c;根据前一个调用的输出来决定使用不同的指令&#xff0c;有时也可以从外部来源查找信息。 课程链接&#xff1a…

client-go的Indexer三部曲之三:源码阅读

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 《client-go的Indexer三部曲》全部链接 基本功能性能测试源码阅读 本篇概览 本文是《client-go的Indexer三部曲》系列的终篇&#xff0c;主要任务是阅读和…

VR全景智慧园区,沉浸式数字化体验,720度全视角展示

导语&#xff1a; 随着科技的迅猛发展&#xff0c;虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;全景技术已经成为了人们趋之若鹜的新兴领域。 而城市园区作为现代社会的重要组成部分&#xff0c;也正在积极寻求创新的方式来吸引更多的人流和投资。 一&…

C++基础

C基础入门 1 C初识 1.1 第一个C程序 编写一个C程序总共分为4个步骤 创建项目创建文件编写代码运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写C程序的主要工具&#xff0c;我们先将它打开 1.1.2 创建文件 右键源文件&#xff0c;选择添加->新建项 1.1.3 编…

SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

SignalR快速入门 ~ 仿QQ即时聊天&#xff0c;消息推送&#xff0c;单聊&#xff0c;群聊&#xff0c;多群公聊&#xff08;基础》提升&#xff0c;5个Demo贯彻全篇&#xff0c;感兴趣的玩才是真的学&#xff09; 官方demo:http://www.asp.net/signalr/overview/getting-started…

【面试】标准库相关题型(二)

文章目录 1. deque底层实现原理1.1 概述1.2 原理图1.3 类结构1.4 操作函数 2. 什么时候使用vector、list、deque2.1 vector2.2 list2.3 deque 3. priority_queue的底层实现原理3.1 一句话概括&#xff1a;用堆来实现优先级队列3.2 堆结构3.3 底层容器3.4 STL对堆结构提供的接口…
最新文章