反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

决策报表JS实例

  • 文档创建者:RosieY
  • 历史版本:11
  • 最近更新:RosieY 于 2021-10-18
  • 1. 概述

    决策报表中,使用 JavaScript 对一些功能进行二次开发时,部分接口和普通报表一致,同时也会具有一些决策报表特有的接口,如实现指定隐藏 Tab 块的接口。本文将列举一些决策报表适用的 JS 接口,用户可通过学习,开发实现一些功能。

    2. 接口

    2.1 获取组件

    获取控件有两种方法,_g().getWidgetByName('Component') 和 this.options.form.getWidgetByName('Component')

    前者能获取到报表中所有地方的组件,后者仅能获取当前容器内的组件。

    如 this.options.form.getWidgetByName 写在参数面板里,就只能获取参数面板里的组件, 写在 body 里,就只能获取body 里的组件。

    所以,推荐使用 _g().getWidgetByName('Component')。

    1)获取当前容器内的组件

    方法this.options.form.getWidgetByName('Component') 获取当前容器内的控件
    Component

    字符串,控件名称

    示例

    this.options.form.getWidgetByName('textEditor0') 参数面板中某个控件添加事件,获取同在参数面板内的文本框 textEditor0

    this.options.form.getWidgetByName('report0') 给 body 内的按钮添加事件获取 body 内的报表块report0

    this.options.form.getWidgetByName('tabpane0') 给 body 内的按钮添加事件获取body 内的 Tab 块 tabpane0

    应用示例

    JS实现参数组合筛选的前进和后退    JS实现隐藏决策报表组件   数据库表字段控制Tab块隐藏

    2)获取到报表中所有地方的控件

    方法_g().getWidgetByName('Component') 获取到报表中所有地方的控件
    Component

    字符串,控件名称

    示例

    _g().getWidgetByName('textEditor0') 获取报表内的文本框 textEditor0,无论其在参数面板内,还是在 body 内

    _g().getWidgetByName('report0') 给参数面板内的按钮添加事件获取 body 中报表块 report0

    _g().getWidgetByName('tabpane0') 给参数面板内的按钮添加事件获取 body 中 Tab 块 tabpane0

    应用示例JS实现在报表参数界面获取控件的值  JS实现决策报表中点击标题排序  JS实现决策报表中Tab块轮播

    2.2 控件

    2.2.1 获取控件

    如何获取控件可参考 2.1 节内容。

    2.2.2 控件方法

    获取控件后,可对控件进行一些设置。对控件可执行的方法如下表,Widget 为获取的控件。

    方法名方法说明
    取实际值Widget.getValue()

    获取控件实际值

    取显示值Widget.getText()获取控件的显示值
    赋实际值Widget.setValue()

    给参数控件赋值,不建议给填报控件赋实际值

    注:使用setValue()给下拉树赋值,需要添加一个 false 参数,即 setValue(value,false)

    赋显示值Widget.setText()

    给参数控件赋显示值

    重置Widget.reset()清空数据
    是否可见Widget.isVisible()返回控件是否可见,返回 true 可见,false 不可见
    设置可见Widget.setVisible(boolean)设置控件是否可见,参数为 true 可见,false 不可见
    设置可用Widget.setEnable(boolean)设置控件是否可用,参数为 true 可用,false 不可用
    是否可用Widget.isEnabled()返回控件是否可用,返回 true 可用,false 不可用
    调用控件事件Widget.fireEvent("事件名称")设置控件触发指定名字的事件
    是否可以为空Widget.options.allowBlank=false 设置控件是否可为空,true 可为空,false 不可为空
    应用示例

    JS实现隐藏决策报表组件    JS实现参数组合筛选的前进和后退  

    JS实现在报表参数界面获取控件的值    JS实现报表组件获取参数面板控件值   

    2.3 报表块和图表块

    2.3.1 获取图表块或报表块

    如何获取图表块和报表块可参考 2.1 节内容。

    2.3.2 方法

    方法名
    方法说明
    设置可见Widget.setVisible(boolean)

    设置控件是否可见,参数为 true 可见,false 不可见

    JS实现隐藏决策报表组件

    2.4 Tab块

    2.4.1 获取 tabpane 块

    如何获取 tabpane 块可参考 2.1 节内容。

    2.4.2 方法

    方法名
    方法说明
    设置可见setTabVisible(Tabarry, boolean)

    Tabarry 为一个数组显示,用来定位具体为哪一个 Tab,

    boolean 设置是否可见,参数为 true 可见,false 不可见

    获得 Tab 的索引getShowIndex() 获得当前展示 Tab 的索引
    展示 TabshowCardByIndex(index)展示定位的 Tab ,index 为 Tab 的索引
    应用示例

    JS实现点击超链切换Tab块 数据库表字段控制Tab块隐

    JS实现决策报表中Tab块轮播 JS 实现点击查询后停留在当前查询的Tab页

    2.5 刷新

    方法名
    方法说明
    跳转到指定页(可以用于刷新当前报表块)gotoPage( pn, para, noCache ) 

    pn : Number 要跳转的页,从1开始

    para : JSON 跳转页面是携带的参数

    noCache : Boolean 不是用缓存,强制取新的数据

    JS实现决策报表中点击标题排序

    提交参数并加载报表内容_g().parameterCommit()

    提交参数并加载报表主体内容

    决策报表自动查询JS

    2.6 其他

    以下 JavaScript 语法相关的内容,可结合帆软提供的接口用在报表开发中。

    应用应用说明
    setInterval('location.reload();',time)

    setInterval() 方法可按照指定的周期(time,以毫秒计)来调用函数或计算表达式。

    location.reload(forceGet) 重新载入当前文档 

    setInterval('location.reload();',time) 定时刷新,即每time毫秒刷新一次

    JS实现决策报表定时刷新

    window.location

    用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

    JS实现点击跳转页面和定时跳转页面

    encodeURI(url)

    encodeURI 函数可把字符串进行 URL 编码,url 为含有 URI 或其他要编码的文

    JS实现点击跳转页面和定时跳转页面

    window.parent

    parent 属性返回当前窗口的父窗口

    JS实现决策报表中网页框相互刷新

    location.href 

    href 属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整 URL

    JS实现暂停和继续轮播报表

    3. 示例

    目录
    文档应用场景
    Tab 块JS实现统一Tab块标题宽度

    使用 Tab 块时,Tab 标题宽度根据字数自动扩展,若想实现统一宽度,补空格的方式比较麻烦,可以通过添加 JS 统一Tab 块标题宽度。

    JS实现隐藏Tab块用户希望可以自定义设置 Tab 的展现与隐藏,比如不同用户可以查看不同的 Tab 块,或者特定场合下隐藏一些 Tab 页。
    JS实现点击超链切换Tab块

    通过 JS 实现 Tab 块的切换,用户可以自主的选择点击超链或者按钮切换到某个 Tab 块。

    数据库表字段控制Tab块隐藏通过数据库表中设置的字段值来控制每个 Tab 块是否显示,修改时只需要修改数据库表中的值,不用再改前端。
    JS实现决策报表中Tab块轮播对于多 Tab 块,固定时间间隔内自动循环跳转,鼠标移动不会对其产生干扰
    JS 实现点击查询后停留在当前查询的 Tab 页

    多 Tab 且需要参数查询时,每次查询后页面自动跳转到第一个 Tab 页,可以通过 JS 实现点击查询后,不自动跳转到第一个 Tab 页,而在当前 Tab 页。

    JS实现切换Tab块时进行数据联动不同 Tab 页关联不同的数据和内容,Tab 轮播切换时,实现报表块中其他内容联动。
    获取控件JS实现在报表参数界面获取控件的值参数界面点击按钮获取 body 画布中控件的实际值。
    JS实现获取参数面板控件值获取参数面板中控件的实际值。
    参数查询JS实现决策报表参数界面自动查询决策报表中通过参数面板实现参数查询实现不点击「查询」按钮,参数控件选择值之后即可将报表结果展现。
    JS实现参数组合筛选的前进和后退记录每次查询的参数组合,方便前后切换。
    JS实现日期控件取消选择值后不再传递参数日期控件,选中日期后点击取消即可取消选择值。
    JS实现日期控件点击确定后再查询日期控件,选中日期后点击确定后再查询。
    页面刷新JS实现决策报表定时刷新大屏页面定时刷新。
    JS隐藏正在加载图标与文字刷新时,隐藏页面加载图标。
    JS实现决策报表内报表块刷新/翻页不刷新整个决策报表 ,而刷新报表里的某个报表块。
    JS实现决策报表中网页框刷新决策报表中刷新网页框中的报表或者其他跨域页面。
    JS实现报表块数据变化后刷新联动的图表块刷新图表块,图表块数据来源于报表块,报表块数据变化后,图表块也随之刷新。
    页面滚动、切换、跳转、联动JS实现自定义切换查看报表块自定义切换报表块,实现 Tab 切换的功能。
    JS实现暂停和继续轮播报表自定义轮播多张决策报表,功能类似于 Tab 轮播。
    JS实现隐藏决策报表组件
    通过按钮控制报表块、图表块的隐藏和显示。
    JS实现决策报表中点击标题排序
    报表块中实现动态排序,即根据参数值的不同来决定报表按某列升序还是降序排列。
    JS实现点击跳转页面和定时跳转页面

    点击一个报表块时跳转到另一张报表,或多张报表实现轮播。

    JS实现决策报表中滚屏/跑马灯效果
    报表块内容上下滚动,实现跑马灯效果。
    背景、边框、特效JS实现改变控件透明度
    控件和深色背景不一致时,可通过修改控件的透明度来使其一致。
    JS设置动态背景/边框制作大屏模板时,给报表或者报表中的某一部分添加动态背景或动态边框。
    JS实现倒计时特效
    地产、零售、电子商务等大屏制作时,经常会有倒计时的需求,例如:营销作战倒计时,零售促销倒计时等。
    JS实现时间齿轮
    动态时间齿轮,图表面板中央展示系统当前的实时时间,一般用于大屏场景展示。
    利用JS制作旋转木马效果
    图片类似于旋转木马的方式轮播,可以用在大屏炫酷场景中。
    JS实现时间烟花特效
    倒计时烟花效果,可以用在大屏炫酷场景中。
    JS 实现文字雪花效果
    文字雪花特效,可以用在大屏炫酷场景中。
    JS实现时钟效果
    美观的钟表效果,可以用在大屏炫酷场景中。


    附件列表


    主题: 决策报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526