跳到主要内容

范围查询设置默认值

1、数值默认值查询

  • 效果展示

  • 默认查询年龄在16-22岁之间的,中间用|表示,16|22

2、日期范围设置默认值

2.1 非表达式默认值

  • 效果展示

  • 日期查询2021年11月1日到2021年11月30日的数据

默认值配置成:2021-11-01|2021-11-30

2.2 表达式默认值

  • 效果展示

  • 通过表达式设置默认,查询当月1号到今日的数据:

默认值配置成:=concat(string.substring(dateStr('yyyy-MM-dd'),0, 8), '01')|=dateStr('yyyy-MM-dd')

注意: 示例2和示例3本质上是一样的,传到后台的查询值都是日期字符串,字符串,所以sql执行的时候也是直接用这个字符串作的比较。

2.3 查询N天前数据

  • 效果展示

  • 默认查询N天前数据,时间格式为:yyyy-MM-dd HH:mm:ss,例如:配置10天前的零点至当前时间

默认值配置:=concat(dateStr('yyyy-MM-dd',-10),' 00:00:00')|=dateStr('yyyy-MM-dd HH:mm:ss')

查询日期格式:yyyy-MM-dd HH:mm:ss 不填时默认为yyyy-MM-dd

2.4 查询近3个月数据

  • 效果展示

  • 默认查询近3个月数据

默认值配置:=concat(dateStr('yyyy',-1),'-', dateStr('MM', -3),'-',dateStr('dd'))|=dateStr('yyyy-MM-dd') 日期格式:yyyy-MM-dd

dateStr('MM', -3) 中负数为月份往前,正数为月份往后,年日同理

2.5 查询当前月第一天和最后一天数据

通过 JS增强动态赋值

  • 字段设置日期范围查询,设置默认格式

  • 设置js增强

function init(){
var date=new Date();
//获取当月第一天
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
var start = date.getFullYear() + '-' + month + '-' + day;
//获取当月最后一天
var currentMonth=date.getMonth();
var nextMonth=++currentMonth;
var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
var oneDay=1000*60*60*24;
var end = new Date(nextMonthFirstDay-oneDay)
//赋值
this.updateSearchFormValue('dbCode', 'fieldName', start+'|'+end)
}