JS实现普通报表自动轮播

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

    1.1 应用场景

    在实际工作中,需要实现多张报表自动轮播效果,但区别于 自动切换分页效果 及 图表手动切换。实际效果如下图所示:

    2020-06-24_12-22-36 (1).gif

    1.2 实现思路

    使用 FineReport 自带的 JavaScript 延时函数,页面加载完成后停留一定时间自动跳转到另一页面来实现自动轮播特效。

    2. 示例

    2.1 打开报表

    依次打开设计器内置模板:

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_1.cpt
    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_2.cpt
     %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\3Darea_3.cpt

    2.2 添加事件

    打开模板 3Darea_1.cpt,设计器菜单栏点击模板>模板Web属性>分页预览设置 ,选择为该模板单独设置 ,添加 加载结束 事件,如下图所示:

    2020-06-24_11-27-29.png 

    3Darea_1.cpt 报表的 JavaScript 代码如下:

    setTimeout(function(){
        window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_2.cpt";
    },3000)

    按照上述步骤,继续为 3Darea_2.cpt 报表的添加 加载结束 事件及 JavaScript 代码,代码如下:

    setTimeout(function(){
        window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_3.cpt";
    },3000)

    按照上述步骤,继续为 3Darea_3.cpt 报表的添加 加载结束 事件及 JavaScript 代码,代码如下:

    setTimeout(function(){
        window.location="${servletURL}?viewlet=doc/Advanced/Chart/3Darea_1.cpt";
    },3000)

    注:如果是决策报表文件(.frm),设置方法参见文档:暂停和继续轮播报表

    2.2 效果预览

    保存模板,任一模板点击分页预览 ,每隔 3 秒模板切换一次,效果如下图所示:

    2020-06-24_12-22-36 (1).gif

    注:不支持移动端。

    3. 模板下载

    已完成的模板可参见:

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播1.cpt

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播2.cpt

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分页预览JS实例\普通报表自动轮播3.cpt

    点击下载模板: 

    普通报表自动轮播1.cpt

    普通报表自动轮播2.cpt

    普通报表自动轮播3.cpt

    注:下载的模板不能直接演示,需要确认JavaScript代码中模板保存路径下,是不是有这些模板,没有的话要把这些模板保存到该路径下。

    附件列表


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