永洪社区

标题: 日期过滤;默认显示当天;默认显示昨天 [打印本页]

作者: 寻找新技能    时间: 2021-4-2 17:53
标题: 日期过滤;默认显示当天;默认显示昨天

场景:日期过滤组件,如何默认显示当天/昨天,或者日期过滤组件范围模式:左侧日期显示七天前,右侧日期显示当天。

1、工具栏直接设置默认显示当天/昨天。

范围模式下,左侧日期显示七天前,右侧默认显示当天暂无法直接通过工具栏设置实现,脚本实现方法参考如下步骤。

2、脚本实现方法如下:

(1)默认显示当天。


脚本-装载时运行-->

var date = new Date();

var year = date.getFullYear();

var month = date.getMonth();

var day = date.getDate();

日期过滤1.firstDates = (["t" + year + "-" + month + "-" + day]);

(2)范围模式下,左侧日期显示七天前,右侧默认显示当天。

脚本-装载时运行-->

var date = new Date();
var year1 = date.getFullYear();
var year2 = date.getFullYear();
var month1 = date.getMonth();
var month2 = date.getMonth();
var day1 = date.getDate();
var day2 = parseInt(substring(formatDate(date,"yyyy-MM-dd"), 8,10))-7
//将日期转为字符串,substring函数截取到天,并转为数值后减去7.
日期过滤1.firstDates = (["t" + year2 + "-" + month2 + "-" + day2]);
日期过滤1.secondDates = (["t" + year1 + "-" + month1 + "-" + day1]);
//日期过滤组件,左侧默认值用firstDates,右侧默认值用secondDates


作者: misszhang    时间: 2021-7-1 10:55
用了那个默认近7天的脚本,出现了这个报错,是什么原因呀,请大佬帮忙看看

作者: 永洪tech-wisiy    时间: 2021-7-1 11:13
misszhang 发表于 2021-7-1 10:55
用了那个默认近7天的脚本,出现了这个报错,是什么原因呀,请大佬帮忙看看
...

选定现在的时间还是绑定的时间
作者: misszhang    时间: 2021-7-1 11:16
永洪tech-wisiy 发表于 2021-7-1 11:13
选定现在的时间还是绑定的时间

绑定的时间
作者: misszhang    时间: 2021-7-1 11:33
misszhang 发表于 2021-7-1 11:16
绑定的时间

var day2 = parseInt(substring(formatDate(date,"yyyy-MM-dd"), 8,10))-7
//将日期转为字符串,substring函数截取到天,并转为数值后减去7.


感觉这个不对吧。截取日期-7,如果跨月了,就不对了。
作者: 永洪tech-wisiy    时间: 2021-7-1 11:45
请将日期列同时绑定到一个表格上并以降序排序,然后将表格组件设置为不可见并在表格设置中勾选【隔离当前元素不受数据联动影响】。并参考以下脚本
//下面是设置日期过滤默认第二个选中最大的日期
var a  = formatDate(dateAdd(getData("图表2",DATA).get(1,0),"month",-1), "yyyy-MM-dd")
日期过滤1.secondDates = ["t"+a]
//下面是设置日期过滤默认第一个选中七天前
var b = dateAdd(getData("图表2",DATA).get(1,0),"dayofyear",-7)
var c = formatDate(dateAdd(b,"month",-1),"yyyy-MM-dd")
日期过滤1.firstDates = ["t"+c]
(, 下载次数: 50)