如果选择一整年的话,我们可以使用“=” + “年”的方式(如上图),选择需要的年份即可,返回的数据是 "2021-01-01", "2021-12-31" 的形式。
通过年来选择日期范围
如果选择连续的多个年份,可以用“从” + “年”的方式(如上图),选择起始年份即可,返回的数据是"2021-01-01", "2022-12-31" 的形式。
年、年月、年周的查询
上面是针对date类型的数据,这里是针对int、varchar类型的数据。有时候为了加快查询速度,数据库设计上面可能会用增加“冗余字段”的方式来提升性能,比如增加“年”的字段,类型是int,存放“2021”、“2022”这样的数据。同理,可以增加“年月”的字段,类型是int,存放“202101”、“202103”这类的数据,还有“年周”的情况。
这里的查询方式就是针对这种情况来设计的。
- 年的查询
年
年的范围
要比日期查询简单很多。
- 年月的查询
月份
月份
月份范围
- 年周的查询
这里不是指星期几,而是一年内的第几周,听说有些企业是按照周来安排工作的,所以这里也提供了周的查询。
周
多个周
日期时间的查询
日期时间查询
快速查询
显示常用的查询条件。
快捷查询
自定义查询方案
可以把常用的查询字段放在一起,组成一个查询方案,方便用户使用。
自定义查询方案
更多查询
显示全部查询条件,查询后的字段可以带入快捷查询,便于随时更改查询条件。
显示全部查询字段
查询条件带入快捷查询7
文件结构
上面都是介绍功能,下面开始介绍一下实现方式。首先看一下文件结构:
查询控件的文件结构
- packages
存放基础的js,和UI库无关的基本逻辑代码,很显然等稳定后会发布到npm上面,以便于支持其他UI库。目前有表单子控件、表单控件、查询子控件、查询控件,以后还会有列表控件、按钮控件等。 - control-web
web 控件的意思。存放组件的UI部分。至于会不会发布到npm,目前还没有想好,因为有个灵活性的问题。 - views
这里就是如何使用的代码了。