历史版本30 :全局接口-FS 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. FS编辑

FineReport.js 中除了包含 FR 的属性和方法之外,还包含了决策系统相关的属性和方法。

报表中的 Web 事件、控件事件、JavaScript 类型的超级链接、决策报表事件中都可以通过 window.parent.FS 来获得 FS 对象。

1.1 FS.signOut()

该方法可以登出数据决策系统。

1)PC 端登出数据决策系统

模板中添加事件调用该方法,将模板挂载到决策平台目录,预览模板执行该事件,会自动退出登录,返回决策平台登录界面。JavaScript 代码如下:

window.location.href = window.parent.FS.signOut();

注:需要在决策系统中打开该模板,否则会报错。

2)App 端登出数据决策系统

模板中添加事件调用该方法,移动端预览模板执行该事件,会自动退出登录,返回 App 端数据决策系统登录界面,详细介绍参见文档:JS实现登出App ,JavaScript 代码如下:

FR.logoutApp();

1.2 FS.tabPane.closeActiveTab()

该方法可以关闭数据决策的标签页,JavaScript 代码如下:

window.parent.FS.tabPane.closeActiveTab();

注:因为报表在 iframe 里,先获取当前 window.parent 后然后再找到 FS。

1.3 FS.tabPane.addItem

该方法可以在数据决策系统中打开新标签页,JavaScript 代码如下:

window.parent.FS.tabPane.addItem({title:"baidu",src:"http://www.baidu.com"})

参数 entry 说明:

   参数  类型  说明  
  entry  Object  必填,tab 项对应的 entry 对象

entry 以 json 格式提供,属性如下表所示:

属性    类型说明  
  title  String  标签页的标题
  src  String  标签页的内容指向的地址

2. 示例编辑

前面两个接口很简单,这里不再举例说明,下面详细介绍一下第三个接口,即在数据决策系统中打开一个新 Tab 页。

数据钻取是使用超级链接实现,打开方式有三种,当前窗口,对话框,新窗口。

前面两种方式很好理解,第三种在新窗口中打开,即在浏览器端打开一个新的 Tab 页面。

如果是在数据决策系统中使用,希望实现在决策系统框架下新增一个 Tab 页签,而不是在浏览器端重新打开一个窗口,这个该怎么实现呢?

注:还可通过安装插件实现平台内打开新标签,详情可参考:平台内打开新标签

2.1 打开模板

下面以 %FR_HOME%\demo\basic\数据钻取主报表.cpt 为例,该模板中实现了在当前窗口的钻取功能,下面将在当前窗口打开替换成在新的 Tab 页面中打开

2.2 超级链接

实现效果:将「订单明细」的钻取修改成在数据决策中打开一个新的 Tab 页面,新 Tab 页面的标题为「订单明细」。

打开模板,选中 A5 单元格,在右侧属性面板中选择超级链接,添加一个 JavaScript 脚本类型的超级链接。

添加参数 ID,参数值为当前单元格的值,即公式 $$$ 。如下图所示:

1572281218335609.png

JavaScript 代码如下:

window.parent.FS.tabPane.addItem({title:"订单明细",src:"${servletURL}?viewlet=demo/basic/数据钻取子报表订单明细.cpt&订单号="+ID})
  • title:模板名称

  • src:模板路径

注:src 最后的 & 符号为参数的传递,即将当前单元格的值传递给参数 ID,然后再 src 的路径后面拼接字符串,将 ID 参数的值传递给需要打开的新模板中的订单号参数。

2.3 效果预览

注:需要在决策平台中打开该模板,否则会提示错误。

1572282088121461.gif

3. 注意事项编辑

若 FineReport 工程集成到 FineBI 数据决策系统上使用,登录 FS 需要有 FR 决策平台功能点的同时,还需要有 FineBI 决策平台的功能点。

注册 FineReport 决策平台功能点参见文档:FineReport 服务器注册步骤

注册 FineBI 决策平台功能点参见文档:FineBI服务器注册步骤