JS实现隐藏决策报表组件

  • 文档创建者:1879483131
  • 编辑次数:19次
  • 最近更新:Leo.Tsai 于 2020-07-29
  • 1. 概述

    1.1 问题描述

    不勾选决策报表组件属性>基本下的可见,可在前端展示时隐藏决策报表组件,但是无法自由切换隐藏或显示。

    Snag_142cd860.png

    那么如何才能在前端预览时自由切换组件隐藏或显示呢?效果如下图所示:

    1595216503381839.gif

    1.2 实现思路

    决策报表中添加 2 个按钮,分别添加点击事件,实现隐藏和显示组件功能。

    2. 示例

    2.1 准备模板

    打开内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\analytics\financial\2016年上半年收入分析.frm

    点击下载模板:2016年上半年收入分析.frm

    2.2 添加按钮

    拖入两个按钮控件,分别将按钮名称修改为隐藏、显示,如下图所示:

    222

    2.3 添加隐藏事件

    选中隐藏按钮,添加点击事件,点击即可隐藏 report0 组件,如下图所示:

    Snag_14a53b2a.png

    JavaScript 代码如下:

    this.options.form.getWidgetByName('report0').setVisible(false);  //隐藏报表块

    注:report0 是报表块名,如果是需要隐藏图表块,换成图表块名即可。

    2.4 添加显示事件

    选中显示按钮,添加点击事件,点击即可显示 report0 组件,如下图所示:

    Snag_14af741b.png

    JavaScript 代码如下:

    this.options.form.getWidgetByName('report0').setVisible(true); //显示报表块

    注:上述点击事件的写法,只适用于按钮控件在 body 内,当按钮控件在参数面板内时,需要使用另外一种写法,JavaScript 如下:

    _g().getWidgetByName('report0').visible(); //显示
    _g().getWidgetByName('report0').invisible(); //隐藏

    2.5 效果预览

    2.5.1 PC 端

    保存模板,点击表单预览,效果如下图所示:

    222

    2.5.2 移动端

    同时支持 App 端和 H5 端预览,效果如下图所示:

    222

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\10-JS隐藏决策报表内报表块或图表块.frm

    点击下载模板:10-JS隐藏决策报表内报表块或图表块.frm

    4. 注意事项

    1)只支持隐藏报表块、图表块。

    2)组件不可见时,导出时必须增加 sessionID,不然连同隐藏组件会一起导出。

    3)自适应布局下,组件隐藏后触发自适应效果,被隐藏组件的位置会被旁边的组件占用。如果是绝对布局,被隐藏组件的位置会空出来,如下图所示:

    222

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!