历史版本10 :根据图表分类或系列超链到不同报表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在例会时,存在这种情况,几个部门的数据先集中在一起做总览汇报,但点击各部门的数据部分又能跳到对应部门的详细报告。此时就可以用到根据图表分类不同钻取到不同的报表的功能,效果如下:

不同分类跳转到不同报表效果图.GIF

1.2 思路

通过图表的超级链接-JavaScript,获取图表参数系列名称,通过JS,判断系列名称,打开不同的报表。

2. 示例编辑

2.1 数据集

新建普通报表,添加内置数据集,如下图所示:

222

2.2 模板设置

合并单元格,选择插入图表—饼图—等弧度玫瑰图,数据属性配置如下:

222

2.3 添加超级链接

特效—交互属性添加超级链接-JavaScript,如下图所示:


在 JavaScript 窗口右上角的参数界面添加一个参数 series,参数值选择系列名称,添加第二个参数为A,参数值设置为A22单元格的值,并添加代码:

image.png

注:若是要根据饼图的分类名判断,则将参数值设置为分类名即可。

代码如下:

if(series=='财务部') /*判断系列名称为财务部*/{
var URL='/webroot/decision/view/report?viewlet=doc/Advanced/Chart/利润分析.cpt&A22='+A;
window.open(FR.cjkEncode(URL));
//在新标签页打开报表
}
if(series=='销售部'){
var URL='/webroot/decision/view/report?viewlet=doc/Advanced/Chart/销售情况.cpt';
 window.open(FR.cjkEncode(URL));
 }

代码说明:

window.open();  //在新标签页打开报表

FR.cjkEncode(URL)  //对 URL 中的中文进行编码转换,详细可参考 Web 传递中文参数

如需要在对话框中打开链接,可将 JS 代码修改为下面的:

var url = '';
if (series == '财务部') /*判断系列名称为财务部*/ {
url = '/webroot/decision/view/report?viewlet=doc/Advanced/Chart/利润分析.cpt&A22='+A';
}
if (series == '销售部') {
url = '/webroot/decision/view/report?viewlet=doc/Advanced/Chart/销售情况.cpt';
}
FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主页',target:'_dialog'}); //在对话框打开报表

代码说明: 

FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主页',target:'_dialog'}); //FR.doHyperlinkByGet() 为超链接接口,target:'_dialog'为对话框形式打开超链接

2.4 其他设置

a)各部门反馈情况cpt,选中A22单元格元素->插入元素->普通文本->"我是参数" 如下图所示:

image.png

b)利润分析cpt,设置A19单元格,单元格元素->插入元素->插入公式->=$A22,用来接受来自各部门反馈情况.cpt的A22参数 如下图所示:

image.png


2.5 效果预览

PC端预览:保存主报表,点击分页预览,效果如应用场景所示。

注:不支持移动端预览,移动端各部门反馈情况.frm界面能展示,但JS跳转不行。 


3.模板下载编辑

已完成模板情况:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Chart\各部门反馈情况.cpt

点击下载各部门反馈情况模板:各部门反馈情况.cpt

点击下载模板利润分析模板:利润分析.cpt

点击下载模板销售情况模板:销售情况.cpt