反馈已提交
网络繁忙
补充 FVS 大屏模板相关接口说明
适用于安装了「FVS大屏编辑模式」插件 V1.8.0 及之后版本的用户
和 10.0 区别:
新增 servletURL、serverURL、server、fineServletURL、SessionMgr.getSessionID() 接口
注意事项必看:
1)在普通报表和决策报表, 以下 API 使用方式为 FR.xxx ,FVS 大屏模板中使用方式为 duchamp.xxx 。
2)部分接口中,FVS 大屏模板参数为 json 格式,普通报表和决策报表中,参数为 字符串 格式,详情看以下接口介绍。
3)FVS 大屏编辑模式插件 不支持移动端 ,以下 API 若标注支持移动端则只针对普通报表和决策报表。
获取 servletURL,返回值为字符串,格式如:
/webroot/decision/view/report
普通报表、决策报表示例:
FR.servletURL;
FVS 大屏模板示例:
duchamp.servletURL;
支持移动端,移动端返回格式和 PC 端有区别,如: /webroot/decision
获取 serverURL,返回值为字符串,格式如:
http://localhost:8075
FR.serverURL;
duchamp.serverURL;
获取 server,返回值为字符串,格式如:
http://localhost:8075/webroot
FR.server;
duchamp.server;
获取 fineServletURL,返回值为字符串,格式如:
/webroot/decision
FR.fineServletURL;
duchamp.fineServletURL;
获取 sessionId,返回值为字符串,如:
62a0f071-c2c6-4623-91c3-3d58c6265c19
FR.SessionMgr.getSessionID();
duchamp.SessionMgr.getSessionID();
点击按钮,打印报表的 sessionId:
点击可下载模板:打印sessionId.cpt
FVS 大屏模板:打印sessionId.fvs
title:string
width:number
height:number
innerContent:iframe
注:11.0.10 及以后版本参数支持 json 格式,如下:
{
title:string,
width:number,
height:number,
innerContent:iframe
}
title:对话框标题,字符串
width:对话框宽度
height:对话框高度
innerContent:对话框内容,iframe 标签,如果要打开工程下的报表,需先将报表定义为 iframe 标签
void
示例1:打开一个标题为“弹窗”,宽 600、高 400 内容为 “Hello World”的对话框
FR.showDialog("弹窗",600,400,"Hello World");
示例2:打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框
注:设计器中添加如下较长代码时,注意换行导致的代码格式问题,修改格式即可。
// 创建对话框内的 iframe,iframe参数的命名及宽高等var iframe = $("<iframe id='inp' name='inp' width='100%'height='100%' scrolling='no' frameborder='0'>");// 给 iframe 添加 src 属性,指向需要展示的模板地址iframe.attr("src", "/webroot/decision/view/report?viewlet=GettingStarted.cpt");//弹出对话框FR.showDialog("对话框",700,500, iframe);
点击按钮,打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框:
详细内容介绍可参考:JS实现弹窗后数据回填
showDialog(
)
title:string
width:number
height:number
string
duchamp.showDialog({title:"弹窗",width:600,height:400,innerContent:"Hello World"})
"use document";const iframe = document.createElement("iframe");iframe.width = "100%";iframe.height = "100%";iframe.scrolling = "no";iframe.frameborder = "0";iframe.src = "/webroot/decision/view/report?viewlet=GettingStarted.cpt";//弹出对话框duchamp.showDialog( { title:"销量弹窗", width:700, height:500, innerContent:iframe, });
打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框:
点击下载模板:点击打开iframe对话框.fvs
FR.closeDialog();
duchamp.closeDialog();
弹窗选择数据后,自动关闭已经打开的对话框:
URL :object
config :object
target :object
feature :object
URL:URL 或 Json 超链定义,必填
支持的绝对路径如:
http://192.168.100.1:8080/webroot/decision/view/report?viewlet=GettingStarted.cpt
相对路径如:/webroot/decision/view/report?viewlet=GettingStarted.cpt
config:传递的参数,可以不写
target:超链子页的打开位置,可以不写
_dialog:对话框
_self:当前页
某个 iframe 的 name,当前页打开,post 方式提交
feature:超链打开位置的属性,可以不写
注:移动端不支持 target 和 feature 参数效果
打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:
FR.doHyperlinkByGet({ //报表路径 "url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt", //参数 "para":{ "地区":"华东" }, "target":"_dialog", //对话框方式打开 "feature":{ "width":700, "height":500, "title":"销售报表" } })
点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:
详细内容介绍可参考:JS实现对话框打开超链
doHyperlinkByGet(
url:object,
para:object,
target:object,
feature:object
url:object
para:object
target:object
para:传递的参数,选填
target:超链子页的打开位置,选填,默认为 _dialog
feature:超链打开位置的属性,选填
duchamp.doHyperlinkByGet({ //报表路径 "url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt", //参数 "para":{ "地区":"华东" }, "target":"_dialog", //对话框方式打开 "feature":{ "width":700, "height":500, "title":"销售报表" } })
点击下载模板:Get 方法打开对话框.fvs
相对路径如:
/webroot/decision/view/report?viewlet=GettingStarted.cpt
某个 iframe 的 name,当前页打开, post 方式提交
注:移动端不支持 target 和 feature 参数效果。
FR.doHyperlinkByPost({ //报表路径 "url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt", //参数 "para":{ "地区":"华东" }, "target":"_dialog", //对话框方式打开 "feature":{ "width":700, "height":500, "title":"销售报表" } })
doHyperlinkByPost(
config:object,
config:传递的参数,选填
duchamp.doHyperlinkByPost({ //报表路径 "url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt", //参数 "para":{ "地区":"华东" }, "target":"_dialog", //对话框方式打开 "feature":{ "width":700, "height":500, "title":"销售报表" } })
点击下载模板:Post 方法打开对话框.fvs
注:FVS 大屏模板不支持 doURLPrint 。
见:doURLPrint
自定义打印按钮,以「零客户端」方式打印报表:
需调用其方法使用,详细内容可见 :Msg
见:Msg
注:FVS 大屏模板不支持 remoteEvaluate 。
执行 FR 内置公式,返回公式计算结果。
注1:remoteEvaluate(String) 不支持 tablename.select 函数。
注2:网页中不支持调用 remoteEvaluate(String) 。
公式,需要写成字符串形式
调用 FR 中 sum 函数对 A1、A2 求和:
FR.remoteEvaluate("sum(A1,A2)");
调用 FR 中字符串拼接函数 CONCATENATE 拼接字符串
FR.remoteEvaluate('CONCATENATE("001","1201110")');
支持移动端
注:移动端 App 9.0 及之后的版本不再支持 FR.remoteEvaluate(formula) ,否则会报错 synchronous http requests are not supported 。
注意事项:
使用FR.remoteEvaluate接口存在安全风险,可能会导致攻击者对数据库进行增删改查等操作,其风险等级相当于远程执行。所以在「数据决策系统」中增加了「脚本调用公式限制」功能且默认开启,当用户使用了FR.remoteEvaluate接口,且开启了脚本调用公式限制开关,则效果预览时会弹出提示框信息:此调用存在安全风险,如需使用请在安全管理中修改脚本调用公式限制。如下图所示:
如果用户想要取消此消息弹窗,需要在平台中关闭此开关。如何操作可查看:安全防护
对字符串进行 jsonEncode 编码
必填,需要转码的字符串
对报表路径进行 jsonEncode 编码
FR.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");
duchamp.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");
对进行过 jsonEncode 编码的字符串解码
必填,需要解码的字符串
对 jsonEncode 转码过的报表路径进行解码
FR.jsonDecode(FR.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");
duchamp.jsonDecode(duchamp.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");
封装过的 jQuery.ajax() 函数,对 data 参数做了中日韩文编码处理,可以通过 FR.ajax(options) 在任何可以用 JS 的地方进行调用
Ajax 参数,JSON 格式,说明见:ajax
见:ajax
判断对象是否为空
对象
是否为空,布尔型
true :是
false:否
查看是否存在「文本框控件」text0
var a = FR.isEmpty(_g().getParameterContainer().getWidgetByName("text0"));alert(a);
var a = duchamp.isEmpty(duchamp.getWidgetByName("text0"));alert(a);
判断对象是否为数组
定义一个数组,查看其是否为数组
var txt = new Array("I","love","FR");FR.isArray(txt);
var txt = new Array("I","love","FR");alert(duchamp.isArray(txt));
根据单元格编号获取行列索引
单元格编号
行列索引,json 格式
col:列索引,从 0 开始
row:行索引,从 0 开始
示例1:普通报表或决策报表中,返回 A1 单元格的行列信息
FR.cellStr2ColumnRow("A1");
示例2:普通报表或决策报表中,打印 A1 单元格的行号
var a=FR.cellStr2ColumnRow("A1").row+1;FR.Msg.alert("提示", "A1单元格的行号为"+a);
示例3:FVS 大屏模板中,打印单元格的行列号
var a=duchamp.cellStr2ColumnRow("A3").col+1;var b=duchamp.cellStr2ColumnRow("A3").row+1;//alert(a);duchamp.Msg.alert({ title: "提示", message: "A3单元格的列号为"+a,});duchamp.Msg.alert({ title: "提示", message: "A3单元格的行号为"+b,});
普通报表示例:点击按钮,打印 A1 单元格的行号
FVS 大屏模板示例:点击按钮,打印 A3 单元格的行列号
点击下载模板:打印单元格的行列号.fvs
示例1:普通报表或决策报表中,返回行索引为 3,列索引为 1 的单元格编号
FR.columnRow2CellStr({col:1, row:3});
示例2:普通报表或决策报表中,打印行索引为 3,列索引为 1 的单元格编号
var a=FR.columnRow2CellStr({col:1, row:3})FR.Msg.alert("提示", "行索引3,列索引为1的单元格编号为"+a);
示例3:FVS 大屏模板中,打印行索引为 3,列索引为 1 的单元格编号
var a=duchamp.columnRow2CellStr({col:1, row:3})duchamp.Msg.alert({ title: "提示", message: "行索引3,列索引为1的单元格编号为"+a,});
普通报表示例:打印行索引为 3,列索引为 1 的单元格编号
FVS 大屏模板示例:打印行索引为 3,列索引为 1 的单元格编号
点击下载模板:根据行列号获取单元格编号.fvs
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526
文 档反 馈
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭