一个查询功能居然被你玩出了花!(一)

简介: 上次是表单控件,这次是查询控件,不要弄混了哦。

1

 功能  

00:22

使用 vue3 + element-plus 封装了一个查询控件,专为管理后台量身打造,支持各种查询需求:

  • 多种查询方式
  • 快捷查询
  • 更多查询
  • 自定义查询
  • 支持防抖
  • 清空每个查询条件
  • 依赖 json 动态创建

有些控件自带清空功能,有些没有自带清空功能,那么就需求我们手动加上清空的功能。

2

 技术栈  

  • Vite2
  • Vue3
  • element-plus

3

 查询控件设计  

00:22

74.png


【自我感觉良好的一个脑图】

4

 在线演示  

https://naturefw.gitee.io/nf-vue-cdn/elecontrol/

进入页面后请点击“查询控件”。可以在“表单控件”里面添加测试数据,数据会存入webSQL。受限于webSQL,有些查询功能无法实现。

5

 功能演示  

查询功能具体是什么样子呢?我们先来看一段视频:【视频演示】

image.png


6

 各种查询方式  

查询控件针对不同的数据类型(后端数据库字段类型),量身打造了多种查询方式,让查询更便捷!

文本

76.png

文本类的查询

针对文本类的数据类型(varchar、text等),提供常用的模糊查询(包含)、精确查询(=),还有起始于、结束于等查询方式可供选择。这样用户可以更灵活方便的进行查询操作。


数字


77.png


数字查询

针对数值类型(int、float、decme等),提供常用的精确查询(=)、范围查询(从xx到xxx)还有大于等于等查询方式。


单选组的查询

78.png

单选组

79.png


单选组的多选

针对枚举类型,int 或者 varchar 等有限数量。

单选组有两种情况,一个是常见的查询一种情况即可,选择第一选项那么只需要显示第一个选项对应的数据。另一个就是想同时看多个选项的结果,那么这时候还用单选组的方式就不适合了,需要变成多选组的方式,这样才可以让用户选择多个选项。

所以这里的单选的查询支持两种查询方式:

  • =:只能查询一个选项,对应单选。
  • 包含:可以同时查询多个选项,对应多选。

支持清空查询条件,即点击右侧的“x”。多选支持防抖。

勾选和开关

80.png



勾选和开关

二者对应的数据类型是 bool 型的(bit),所以只有“=”这一种查询方式,增加了一个“清空”的按钮,这样可以单独清掉查询条件。


级联选择

81.png


联动下拉

常见的级联选择是省市区县的选择,组件默认给的model是一个数组形式,有多少级就会有多少个数组。

但是在后端数据库里面,往往会分成多个字段来存放,比如省份用一个字段表示,城市用一个字段表示,区县又是一个字段表示。

那么我们在查询的时候,就需要把查询结果按照字段给拆分开,这样才便于查询。

所以这里把查询结果按照字段拆分开然后在返回给后端,比如这样:{ "a": [ 401, "zhinan" ], "b": [ 401, "shejiyuanze" ], "c": [ 401, "yizhi" ] }


日期

日期查询比较复杂,这里对应的数据类型是date,选择后返回的数据是“2021-05-20”的形式。然后就是如何让用户感觉爽的问题了。

  • 常规查询方式

82.png


日期查询

一般都是如上图所示,直接选择日期范围,这个看起来似乎没有啥问题,可以选择任意日期。

但是如果用户想查询2021年1月到2021年3月的数据,那么用户的操作就会比较繁琐。我们来看看一共要点击几次鼠标?打开日期栏 》 找到一月份(n次) 》 选择一号 》 找到三月份(又是n次) 》选择31号。整个流程需要点好多次鼠标,实在是太麻烦了。

  • 通过月份查询日期范围 如果可以直接选择月份呢?像这样:

84.png


通过月份选择日期

如果用户想选择多个月份的日期,可以通过“从” + “年月”的形式,选择起始月份即可,返回的数据是"2021-01-01", "2021-03-31" 的形式。

84.png


选择一个月的范围

如果客户想选择一个月的范围,那么可以用“=” + “年月”的方式来选择(如上图),返回的数据是"2021-02-01", "2021-02-28" 的形式。

这样用户就非常方便了,节省了n次鼠标点击。不过这还没有结束,还有选择“年”的情况。

  • 通过年查询日期范围 如果要查询一年的或者多年的日期范围呢?我们可以选择“年”的方式。

85.png


选择一整年的方式

目录
打赏
0
0
0
0
6
分享
相关文章
【阅读】一周翻过《构建之法》,笔记整理
🚩 前言 我的阅读方式 我拿到这本书挺久了,之前已经零散地看过一部分,最近一周集中地花了一些时间,将整本书看过了一遍。看得比较粗略,正如“好读书,不求甚解”(我甚至没有去看书中提到的那些参考资料)。
72 0
|
8月前
|
ACL 2024:大模型性能掺水严重?北大交出答卷:交互评估+动态出题,死记硬背也没用
【7月更文挑战第8天】北大研究团队推出KIEval框架,针对大语言模型(LLMs)的性能评估进行创新。KIEval采用互动评估和动态出题,通过多轮基于知识的对话测试模型理解和应用能力,旨在减少数据污染影响,挑战死记硬背的评估。然而,该方法可能增加计算需求,且评估结果可能受主观因素影响,不适用于所有类型LLMs。[论文链接:](https://arxiv.org/abs/2402.15043)**
142 24
太爽了!这12个前端库,帮我在工作中赢得了不少摸鱼时间!!
太爽了!这12个前端库,帮我在工作中赢得了不少摸鱼时间!!
|
10月前
|
【错题集-编程题】主持人调度(一)(排序)
【错题集-编程题】主持人调度(一)(排序)
|
10月前
|
工作四年,关于过滤敏感词,我准备这样干
工作四年,关于过滤敏感词,我准备这样干
261 0
正确认识及掌握时间的用法
时间是一个相对地区而言的概念,因此有一个基准地区,就是本初子午线穿过的地区。了解世界时间相关的概念可以更好地协调全球人们的活动,便于跨越不同地区的时差。比如按照UTC时区划分算,洛杉矶和北京 之间的时间差异是16个小时, 但是一旦洛杉矶启用了夏令时两者之间的时间差异只有15个小时,神奇吗?
426 0
正确认识及掌握时间的用法
从非诚勿扰看数据索引,优化代码小妙招
从非诚勿扰看数据索引,优化代码小妙招
170 0
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
271 0
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
一个查询功能居然被你玩出了花!(二)
上次是表单控件,这次是查询控件,不要弄混了哦。
一个查询功能居然被你玩出了花!(二)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等