适用场景:安装了「FineVis数据可视化」插件的用户,可参考本文了解 FineVis 的相关功能。
目录:
版本编辑
报表服务器版本 | 插件版本 | 功能变动 |
---|---|---|
11.0 | V1.0.0 | 最低版本要求 |
11.0.22 | V2.4.1 | FVS 统一模板分页、表格组件分页、Tab组件标签页相关 API 接口 详情请参见本文 获取页、操作页 相关内容 |
查看历史版本更新 | |||||||||||||||||||||
|
兼容说明编辑
V2.4.1 版本对模板分页、表格组件分页、Tab组件标签页相关 API 接口进行了统一设计,新接口的页索引统一从 1 开始。
详细说明参见表格:
类型 | 旧接口 | 新接口 |
---|---|---|
模板分页 | url 后缀参数 page=x ,x 从 0 开始 page=0 表示第一页 | url 后缀参数改为 page_number=x , x 从 1 开始 page_number=1 表示第一页 |
表格分页 | 表格分页索引从 1 开始,表示第一页 | 表格分页索引从 1 开始,表示第一页 |
Tab标签页 | 标签页索引从 0 开始,表示第一页 | 标签页索引从 1 开始,表示第一页 |
this编辑
方法 | this | 获取当前的组件对象,获取后可以使用组件的方法和属性 |
---|---|---|
参数 | - | - |
返回值 | object | 当前组件对象 |
示例 | 示例1:获取当前控件组件的实际值 this.getValue(); 示例2:设置当前控件不可见 this.setVisible(false); 示例3:清空当前控件的值 this.reset(); | |
应用示例 | - | |
移动端 | 支持移动端 |
getAllWidgets编辑
方法 | getAllWidgets() | 获取当前页面中所有组件信息 |
---|---|---|
参数 | - | - |
返回值 | { [key: string,value:object] } | key 为组件名,value 为组件对象 |
示例 | 查看当前页面中所有的组件信息: duchamp.getAllWidgets(); | |
应用示例 | 浏览器 F12 开发者工具查看 FVS 模板「页面1」中所有的组件信息: | |
移动端 | 支持移动端 |
getWidgetByName编辑
方法 | getWidgetByName(name) | 获取当前页面中的某个组件 |
---|---|---|
参数 | name: string | 组件名称,字符串 |
返回值 | object | 组件对象 |
示例 | 示例:获取标题组件 duchamp.getWidgetByName('标题组件1_页面1'); | |
应用示例 | - | |
移动端 | 支持移动端 |
refresh编辑
方法 | refresh() | 触发组件刷新 |
---|---|---|
参数 | {para:"para"} | 参数名称:参数值 |
返回值 | - | - |
示例 | 示例1:触发「组件1」刷新 duchamp.getWidgetByName("组件1").refresh(); 示例2:触发「柱形图」组件刷新并将地区华北作为参数传递给柱形图 duchamp.getWidgetByName("柱形图").refresh({area:"华北"}); 注:给同一组件传多个参数时,写法如下 duchamp.getWidgetByName("组件").refresh({a:"参数值",b:"参数值"}); | |
应用示例 | 点击标题组件,触发「柱形图」组件刷新并将地区华北作为参数传递给柱形图 点击可下载模板:refresh刷新组件.fvs | |
移动端 | 支持移动端 |
trigger编辑
方法 | trigger() | 触发组件点击事件 注:不支持三维组件和控件组件 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 触发「组件1」的所有点击事件 duchamp.getWidgetByName("组件1").trigger(); | |
应用示例 | - | |
移动端 | 支持移动端 |
requestFullscreen编辑
方法 | requestFullscreen() | 触发页面全屏 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 示例:给标题组件添加点击 JavaScript 事件,触发页面全屏 duchamp.requestFullscreen(); | |
应用示例 | - | |
移动端 | 不支持移动端 |
exitFullscreen编辑
方法 | exitFullscreen() | 关闭页面全屏 注:仅针对 requestFullscreen 接口触发的全屏,若使用按键 F11 触发全屏,则该接口无效 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 示例:给标题组件添加点击 JavaScript 事件,关闭页面全屏 duchamp.exitFullscreen(); | |
应用示例 | - | |
移动端 | 不支持移动端 |
reload编辑
方法 | reload() | 触发模板整体刷新 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 每两秒刷新一次页面 setInterval(() => { duchamp.reload(); }, 2 * 1000); | |
应用示例 | V1.7.2 版本之前的插件,只能通过模板的「模板>页面加载结束事件」写 JavaScript 代码实现 V1.7.2 及之后版本,可通过「模板定时刷新」功能设置,详情请参见:FVS模板定时刷新 | |
移动端 | 支持移动端 |
setPageButtonDisplayPolicy编辑
方法 | setPageButtonDisplayPolicy() | 设置多分页模板左下角切换分页按钮是否显示 |
---|---|---|
参数 | always/hover/never | 切换按钮的三种状态(默认为 always):
|
返回值 | - | - |
示例 | 可添加以下代码在模板的「加载结束事件」中 示例1:设置切换按钮永远显示 duchamp.setPageButtonDisplayPolicy("always"); 示例2:设置切换按钮隐藏,鼠标悬浮时显示 duchamp.setPageButtonDisplayPolicy("hover"); 示例3:设置切换按钮从不显示 duchamp.setPageButtonDisplayPolicy("never"); | |
应用示例 | - | |
移动端 | 不支持移动端 |
linkageGlobal编辑
方法 | linkageGlobal() | 参数全局联动 |
---|---|---|
参数 | {para:"para"} | 参数名称:参数值 |
返回值 | - | - |
示例 | 无需获取多个参数控件分别赋值,使用该接口即可实现全局参数联动,对所有分页生效 示例:点击标题组件,将「华北」作为参数值,传递给模板内所有使用了参数 area 的组件 duchamp.linkageGlobal({area:"华北"}) 注:传递多个参数时,写法如下 duchamp.linkageGlobal({a:"参数值",b:"参数值"}); | |
应用示例 | 点击下载模板:参数全局联动接口示例.fvs | |
移动端 | 支持移动端 |
pauseRollPlay编辑
方法 | pauseRollPlay() | 暂停页面自动切换 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 多分页模板开启自动切换页面时,暂停页面自动切换 duchamp.pauseRollPlay(); | |
应用示例 | 点击下载模板:JS实现暂停继续页面切换.fvs | |
移动端 | 不支持移动端 |
continueRollPlay编辑
方法 | continueRollPlay() | 继续页面自动切换 |
---|---|---|
参数 | - | - |
返回值 | - | - |
示例 | 多分页模板开启自动切换页面时,暂停页面自动切换后,继续页面自动切换 duchamp.continueRollPlay(); | |
应用示例 | 点击下载模板:JS实现暂停继续页面切换.fvs | |
移动端 | 不支持移动端 |
注:以下获取页及操作页接口需使用 V2.4.1 及之后版本,V2.4.1 之前版本接口请参考 历史接口 。
获取页编辑
getPage
方法 | getPage() | 获取页 |
---|---|---|
参数 | value:page_number|name | 根据页索引或页名称获取页 page_number:页索引,从 1 开始的正整数 name:页名称,字符串 |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取「页面1」 duchamp.getPage("页面1"); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件的分页1 duchamp.getWidgetByName('表格1').getPage(1); 示例3:在 FVS 模板中,获取「Tab1」组件第一个标签页 duchamp.getWidgetByName('Tab1').getPage(1); | |
应用示例 | - | |
移动端 | 支持移动端 |
getPreviousPage
方法 | getPreviousPage() | 获取上一页 |
---|---|---|
参数 | - | - |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取当前页的上一页 duchamp.getPreviousPage(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件当前页的上一页 duchamp.getWidgetByName('表格1').getPreviousPage(); 示例3:在 FVS 模板中,获取「Tab1」组件当前页的上一页 duchamp.getWidgetByName('Tab1').getPreviousPage(); | |
应用示例 | - | |
移动端 | 支持移动端 |
getNextPage
方法 | getNextPage() | 获取下一页 |
---|---|---|
参数 | - | - |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取当前页的下一页 duchamp.getNextPage(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件当前页的下一页 duchamp.getWidgetByName('表格1').getNextPage(); 示例3:在 FVS 模板中,获取「Tab1」组件当前页的下一页 duchamp.getWidgetByName('Tab1').getNextPage(); | |
应用示例 | - | |
移动端 | 支持移动端 |
getFirstPage
方法 | getFirstPage() | 获取第一页 |
---|---|---|
参数 | - | - |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取模板的第一页 duchamp.getFirstPage(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件第一页 duchamp.getWidgetByName('表格1').getFirstPage(); 示例3:在 FVS 模板中,获取「Tab1」组件第一页 duchamp.getWidgetByName('Tab1').getFirstPage(); | |
应用示例 | - | |
移动端 | 支持移动端 |
getLastPage
方法 | getLastPage() | 获取最后一页 |
---|---|---|
参数 | - | - |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取模板的最后一页 duchamp.getLastPage(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件最后一页 duchamp.getWidgetByName('表格1').getLastPage(); 示例3:在 FVS 模板中,获取「Tab1」组件最后一页 duchamp.getWidgetByName('Tab1').getLastPage(); | |
应用示例 | - | |
移动端 | 支持移动端 |
getCurrentPage
方法 | getCurrentPage() | 获取当前页 |
---|---|---|
参数 | - | - |
返回值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可见性 options:跳转的页面对象 name:页面名称 number:页面索引,从 1 开始的正整数 } |
示例 | 示例1:在 FVS 模板中,获取模板展示的当前页 duchamp.getCurrentPage(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取「表格1」组件当前页 duchamp.getWidgetByName('表格1').getCurrentPage(); 示例3:在 FVS 模板中,获取「Tab1」组件当前页 duchamp.getWidgetByName('Tab1').getCurrentPage(); | |
应用示例 | - | |
移动端 | 支持移动端 |
操作页编辑
以下接口需结合获取页接口使用
setVisible
方法 | setVisible() | 设置页面显示或隐藏 注:若隐藏正在展示的页面,会弹出提示「无法隐藏当前页」 |
---|---|---|
参数 | visible: boolean | 页面是否显示,布尔型
|
返回值 | - | - |
示例 | 示例1:在 FVS 模板中,隐藏模板「页面1」 duchamp.getPage("页面1").setVisible(false); 示例2:在 FVS 模板中,「表格1」组件设置了分页,隐藏表格分页1 duchamp.getWidgetByName('表格1').getPage(1).setVisible(false); 示例3:在 FVS 模板中,隐藏「Tab1」组件标签页1 duchamp.getWidgetByName('Tab1').getPage(1).setVisible(false); | |
应用示例 | 点击下载模板:FVS设置页面显示或隐藏.fvs![]() | |
移动端 | 支持移动端 |
isVisible
方法 | isVisible() | 获取页面显示/隐藏状态 |
---|---|---|
参数 | - | - |
返回值 | visible: boolean | 页面是否显示,布尔型
|
示例 | 示例1:在 FVS 模板中,获取「页面2」,返回其显示隐藏状态并弹窗提示 var a = duchamp.getPage("页面2").isVisible(); duchamp.Msg.alert({ title: "提示" , message:"页面2显隐状态为 "+ a } ) 示例2:在 FVS 模板中,「表格1」组件设置了分页,获取表格分页2,返回其显隐状态 duchamp.getWidgetByName('表格1').getPage(2).isVisible(); 示例3:在 FVS 模板中,获取「Tab1」组件标签页2,返回其显隐状态 duchamp.getWidgetByName('Tab1').getPage(2).isVisible(); | |
应用示例 | 点击下载模板:FVS获取页面显隐状态.fvs | |
移动端 | 支持移动端 |
goto
方法 | goto() | 跳转到获取的页面 |
---|---|---|
参数 | {para:"para"} | 参数名:参数值 |
返回值 | - | - |
示例 | 示例1:在 FVS 模板中,跳转到下一页 duchamp.getNextPage().goto(); 示例2:在 FVS 模板中,「表格1」组件设置了分页,跳转表格下一页 duchamp.getWidgetByName('表格1').getNextPage().goto(); 示例3:在 FVS 模板中,跳转「Tab1」组件下一页 duchamp.getWidgetByName('Tab1').getNextPage().goto(); 示例4:在 FVS 模板中,跳转到下一页并传参 duchamp.getNextPage().goto({a:"参数a"}); 传递多个参数写法如下: duchamp.getNextPage().goto({a:"参数a",b:"参数b"}); | |
应用示例 | 点击下载模板:FVS页面跳转.fvs | |
移动端 | 支持移动端 |
getName
方法 | getName() | 获取页面名称 |
---|---|---|
参数 | - | - |
返回值 | name:string | 页面名称,字符串 |
示例 | 示例1:在 FVS 模板中,获取当前页面名称并弹窗显示 var name = duchamp.getCurrentPage().getName(); duchamp.Msg.alert({ title: "提示" , message:"当前页面名称为 "+ name } ) 示例2:在 FVS 模板中,获取「Tab1」组件当前页面名称并弹窗显示 var name = duchamp.getWidgetByName('Tab1').getCurrentPage().getName(); duchamp.Msg.alert({ title: "提示" , message:"当前页面名称为 "+ name } ) 注:表格组件分页没有名称,若使用上述 JS ,返回值为 undefined | |
应用示例 | 点击下载模板:FVS获取页面名称.fvs![]() | |
移动端 | 支持移动端 |
getIndex
方法 | getIndex() | 获取页面索引 |
---|---|---|
参数 | - | - |
返回值 | number | 页面索引,从 1 开始的正整数 |
示例 | 示例1:在 FVS 模板中,获取当前页面索引并弹窗显示 var number = duchamp.getCurrentPage().getIndex(); duchamp.Msg.alert({ title: "提示" , message:"当前页面名称为 "+ number } ) 示例2:在 FVS 模板中,获取「表格1」组件当前页面索引并弹窗显示 var number = duchamp.getWidgetByName('表格1').getCurrentPage().getIndex(); duchamp.Msg.alert({ title: "提示" , message:"表格当前页面索引为 "+ number } ) 示例3:在 FVS 模板中,获取「Tab1」组件当前页面索引并弹窗显示 var number = duchamp.getWidgetByName('Tab1').getCurrentPage().getIndex(); duchamp.Msg.alert({ title: "提示" , message:"Tab当前页面索引为 "+ number } ) | |
应用示例 | 点击下载模板:FVS获取页面索引.fvs![]() | |
移动端 | 支持移动端 |