历史版本2 :JS实现自定义按钮快速给参数赋指定范围值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 需求分析编辑

平时我们接触的很多项目,可能都会需要制作相关的周报、月报、年报等表样。像这样的报表,选择适当的参数(时间)范围就显得尤其重要了。但如果每次都手动去选择又觉得太过麻烦。现在我来介绍一种快速定位法,只需点击某个按钮,就能准确定位到合适的时间范围!如图:
222

2. 实现方法编辑

通过在参数栏添加按钮,在按钮上添加JavaScript点击事件给指定参数赋值的方法来实现!

3. 示例编辑

3.1 报表样式

新建一个工作簿,添加模板参数B和E:
222
报表样式如下:
222

3.2 日期控件设置

切换至参数面板,新建二个日期控件,控件名分别为:B和E

222

日期控件格式设为yyyy-MM-dd

3.3 按钮控件设置

再添加一个按钮控件,设置控件值:,并给控件添加一个JavaScript点击事件:

222
【本周】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);

同理添加【本月】、【本年】按钮,并设置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);

最后添加查询按钮,完成效果如下:
222
保存并预览,效果如上图所示。