历史版本1 :JS实现自定义按钮快速给参数赋指定范围值 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
一、需求分析编辑
平时我们接触的很多项目,在数据分析模块可能都会需要制作相关的周报、月报、年报等表样。像这样的报表,选择适当的参数(时间)范围就显得尤其重要了。但如果每次都手动去选择又觉得太过麻烦。现在我来介绍一种快速定位法,只需手动点击某个按钮,就能准确定位到合适的时间范围!如图:
二、实现方法编辑
通过 在参数栏添加按钮,在按钮上添加JavaScript点击事件给指定参数赋值 的方法来实现!
三、示例编辑
3.1 在参数区新建二个时间参数,参数名分别为:B和E
参数为【日期型】,格式:【yyyy-MM-dd】
3.2 再添加一个按钮,设置控件值:【本周】,并给控件添加一个JavaScript点击事件:
JavaScript脚本:
//获取当前日期所在周的第一天
var K1='${=dateInWeek(TODATE(),1)}';
//获取当前日期所在周的最后一天
var K2='${=dateInWeek(TODATE(),-1)}';
//获取控件(开始时间)
var state1= this.options.form.getWidgetByName("B");
//获取控件(结束时间)
var state2= this.options.form.getWidgetByName("E");
//给控件(开始时间)赋值
state1.setValue(K1);
//给控件(结束时间)赋值
state2.setValue(K2);
3.3 同理:添加【本月】、【本年】按钮,并设置JavaScript点击事件。
【本月】JavaScript脚本:
//获取当前日期所在月份的第一天
var K1='${=DATEINMONTH(TODATE(),1)}';
//获取当前日期所在月份的最后一天
var K2='${=DATEINMONTH(TODATE(),-1)}';
//获取控件(开始时间)
var state1= this.options.form.getWidgetByName("B");
//获取控件(结束时间)
var state2= this.options.form.getWidgetByName("E");
//给控件(开始时间)赋值
state1.setValue(K1);
//给控件(结束时间)赋值
state2.setValue(K2);
【本年】JavaScript脚本:
//获取当前日期所在年份的第一天
var K1='${=DATEINYEAR(TODATE(),1)}';
//获取当前日期所在年份的最后一天
var K2='${=DATEINYEAR(TODATE(),-1)}';
//获取控件(开始时间)
var state1= this.options.form.getWidgetByName("B");
//获取控件(结束时间)
var state2= this.options.form.getWidgetByName("E");
//给控件(开始时间)赋值
state1.setValue(K1);
//给控件(结束时间)赋值
state2.setValue(K2);
3.4 效果预览
保存设置并预览,效果如上图所示!