JS实现自定义切换查看报表块

  • Last update:  2022-02-14
  • 1. 概述

    1.1 预期效果

    日常业务中,需要能够点击不同按钮,展现不同的报表,和 Tab 效果类似。如下图所示:


    1.2 实现思路

    在决策报表中添加按钮和报表块,给按钮添加 JS 事件,来控制报表块的显示和隐藏。

    使用超级链接也可以实现该效果,实现思路参见文档:超链实现类Tab联动 。

    2. 示例

    2.1 准备模板

    1)新建决策报表,body 布局调整为「绝对布局>固定大小」。如下图所示:

    2)在表单内添加 3 个「按钮控件」,控件名称分别为产量统计表、各产品线产能统计、各产品线库存统计,依据喜好设置样式。如下图所示:

    3)在表单内添加三个报表块,叠加放置,依据自己的需求,设置报表块内容。如下图所示:

    2.2 添加事件

    1)选中 body,为其添加一个「初始化事件」,设置初始化时默认显示产量统计表内容的 report0 。如下图所示:

    JavaScript 代码如下:

    setTimeout(function(){
    var a= _g().getWidgetByName("REPORT0");
    var b= _g().getWidgetByName("REPORT1");
    var c= _g().getWidgetByName("REPORT2");
    a.visible();
    b.invisible();
    c.invisible();
    }, 50)

    2)选中产量统计表按钮,为其添加一个「点击」事件,实现点击时显示产量统计表内容,隐藏其他表内容。如下图所示:


    JavaScript 代码如下:

    //设置显示REPORT0,其他隐藏
    var a= _g().getWidgetByName("REPORT0");
    var b= _g().getWidgetByName("REPORT1");
    var c= _g().getWidgetByName("REPORT2");
    a.visible();
    b.invisible();
    c.invisible();

    2)选中各产品线产能统计按钮,为其添加一个「点击」事件,实现显示各产品线产能统计内容,操作同 1)。

    JavaScript 代码如下:

    //设置显示REPORT1,其他隐藏
    var a= _g().getWidgetByName("REPORT0");
    var b= _g().getWidgetByName("REPORT1");
    var c= _g().getWidgetByName("REPORT2");
    b.visible();
    a.invisible();
    c.invisible();

    3)选中各产品线库存统计按钮,为其添加一个「点击」事件,实现显示各产品线库存统计内容。操作同 1)。

    JavaScript 代码如下:

    //设置显示REPORT2,其他隐藏
    var a= _g().getWidgetByName("REPORT0");
    var b= _g().getWidgetByName("REPORT1");
    var c= _g().getWidgetByName("REPORT2");
    c.visible();
    a.invisible();
    b.invisible();

    2.3 效果预览

    保存模板,点击「PC端预览」,效果如 1.1 节预期效果所示。

    注:不支持移动端。

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\JS实现自定义切换查看报表块.frm

    点击下载模板:JS实现自定义切换查看报表块.frm

    Attachment List


    Theme: 决策报表应用
    Already the First
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy