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

目录:

1. FS编辑

finereport.js 中除了包含 FR 的属性和方法之外,还包含了对决策系统进行操作的属性和方法。

报表中所有的地方包括 Web 事件、控件事件、超链JavaScript脚本、决策报表事件中都可以通过 window.parent.FS 来获得 FS 对象

1.1 FS.Trans.signOut()

(1)PC 端退出决策平台系统

可以在任何可以写 JavaScript 的地方进行调用

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

(2)App 端登出决策平台系统

可以在任何可以写 JavaScript 的地方进行调用

FR.logoutApp();

详细请查看 登出 App 的 JavaScript

1.2 FS.tabPane.closeActiveTab()

关闭当前决策平台的标签

可以在报表中任何可以用 JavaScript 的地方进行调用

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

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

1.3 FS.tabPane.addItem

在决策平台中打开新标签页

可以在报表中任何可以 JavaScript 的地方进行调用

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


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

属性    类型说明  
  title  String  标签页的标题
  src  String  标签页的内容指向的地址
window.parent.FS.tabPane.addItem({title:"baidu",src:"http://www.baidu.com"})

2. 示例编辑

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

2.1 描述

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

前面 2 种方式很好理解,第三种在新窗口中打开,即在浏览器端打开一个新的 tab 页面,如果是在数据决策系统中使用,希望实现在决策系统框架下新增一个 tab 页签,而不是在浏览器端重新打开一个窗口,这个该怎么实现呢?

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

2.2 模板

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

2.3 超级链接

打开模板,进入 A5 单元格的超级链接设置界面。

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

新增一个 JavaScript 的超级链接,添加参数 ID,参数值为当前单元格的值,即ID=$$$

title:订单明细

src:订单明细模板的路径

具体设置如下图:

222

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

代码如下:

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

2.4 效果查看

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

222

222

关键字:决策系统 JS