帆软填报后刷新界面

1. 需求描述

 

当多窗口填报时,希望子窗口填报成功后,数据能马上在父窗口中显示出来,通常采用的方法是刷新父窗口,但现在触发刷新事件是在子窗口中,而父窗口又无法获取子窗口填报成功的事件。要如何设置才能实现子窗口刷新父页面呢?

 

2. 解决方案

 

打开填报的子模板,在子模板中添加填报成功事件。

3. 示例

 

3.1 打开模板

 

打开子模板:%FR_HOME%\\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\Hyperlink6.cpt

 

3.2 添加填报成功事件

 

在打开的子模板中,点击菜单模板>模板Web属性>填报页面设置,选择为该模板单独设置,添加填报成功事件,如下图所示:

帆软填报后刷新界面_第1张图片

JS代码如下:

刷新当前报表界面:window.location.reload();

刷新整个网页:window.parent.location.reload();

3.3 效果预览

 

打开主模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\Hyperlink5.cpt

点击订单ID,在新对话框中修改数据,点击提交后,即可自己刷新主模板,效果如描述中所述。

 

4. 示例-保留父页面查询参数

 

 

4.1 父模板添加查询参数

 

打开父模板:%FR_HOME%\\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\Hyperlink5.cpt

1)数据集ds1修改为:SELECT * FROM 订单 where 1=1 ${if(len(客户ID)=0,""," and 客户ID='"+客户ID+"'")}

帆软填报后刷新界面_第2张图片

2)编辑参数面板,添加下拉控件客户ID和查询按钮,并配置客户ID控件的数据字典:

帆软填报后刷新界面_第3张图片

3)点击参数面板空白处,将点击查询前不显示报表内容前面的勾去掉:

帆软填报后刷新界面_第4张图片

4)回到单元格设计界面,编辑A2单元格添加的超级链接-网络报表1,将网络报表1窗口中的继承报表的参数前面的勾选上:

帆软填报后刷新界面_第5张图片

4.2 修改子模板js代码

 

打开子模板:%FR_HOME%\\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\Hyperlink6.cpt

点击菜单模板-模板Web属性-填报页面设置,编辑之前添加好的填报成功事件,在事件设置窗口的参数面板添加一个参数ID,值为公式:$客户ID。

注:公式中的参数客户ID为父模板中的下拉框控件。

并修改下面的js代码:

Copy to clipboardwindow.parent.location="http://localhost:8075/webroot/decision/view/report?viewlet=HyperLink5.cpt&客户ID="+ID;

帆软填报后刷新界面_第6张图片

4.3 效果预览

 

打开主模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\Hyperlink5.cpt

查询客户名称,点击订单ID,在新对话框中修改数据,点击提交后,即可保留查询参数刷新主模板,效果如下所述。

帆软填报后刷新界面_第7张图片

你可能感兴趣的:(帆软,帆软,可视化,填报)