1. 移动端 APP 支持调用 JS编辑
Web 事件 | 分页预览 | 填报预览 |
---|---|---|
加载起始 | √ | √ |
加载结束 | √ | √ |
填报前 | √ | |
填报后 | √ | |
填报成功 | √ | |
填报失败 | √ |
报表内部 JS | 单元格 | 图表 |
---|---|---|
超级链接 JS | √ | √ |
注:图表的内部JS是可以实现超级链接的;但当图表作为决策报表组件时,为该组件添加的JS点击事件是不支持的。
控件事件 | 参数控件 | 填报控件 | 决策报表控件 |
---|---|---|---|
初始化后事件 | √ | √ | √ |
编辑前 | |||
编辑后 | √ | √ | |
编辑结束 | √ | √ | |
点击 | √ | √ | √ |
值改变 | |||
节点生成 | |||
状态改变 | √ | √ | √ |
上传后 |
注1:决策报表控件是指决策报表 body 里的控件,不包含决策报表参数面板里的控件
注2:移动端只支持参数界面控件的初始化,但是不支持参数面板的初始化
注3:目前组件是不支持点击事件的。
2. 控件支持的脚本函数编辑
函数名 | 函数描述 | 参数说明 | 填报控件 | 参数控件 | 决策报表控件 |
---|---|---|---|---|---|
setEnable | 设置控件是否可用 | 一个参数。参数为true可用,false不可用 | √ | √ | |
isEnable | 判断控件是否可用 | 无参数 | √ | √ | |
setVisible | 设置控件是否可见 | 一个参数。参数为true可见,false不可见 | √ | √ | |
isVisible | 判断控件是否可见 | 无参数 | √ | √ | |
setValue | 控件的赋值方法 | 一个参数 | √ | √ | |
getValue | 控件的取值方法 | 无参数 | √ | √ | √ |
reset | 清空控件的数据 | 无参数 | √ | √ | |
fireEvent | 触发指定名字的控件事件 | 一个参数,值为触发的事件的名字 | √ | √ | √ |
getText | 获取控件的显示值 | 无参数 | √ | √ | √ |
3. 分页支持的脚本函数编辑
函数名 | 函数描述 | 参数说明 | 实现 |
---|---|---|---|
contentPane | 当前报表对象 | 无参数。只有在普通报表中才有,决策报表中没有 | √ |
currentPageIndex | 当前所在页的页码 | contentPane 常用属性 只有分页预览报表才有 | √ |
reportTotalPage | 当前报表的总页数 | contentPane 常用属性 只有分页预览报表才有 | √ |
gotoFirstPage | 跳转到报表的首页 | 无参数 | √ |
gotoPreviousPage | 跳转到当前页的上一页 | 无参数 | √ |
gotoNextPage | 跳转到当前页的下一页 | 无参数 | √ |
gotoLastPage | 跳转到报表的末页 | 无参数 | √ |
gotoPage(pn, para, noCache) | 跳转到某一页 | 三个参数。 1)pn:页序号,序号从1开始 2)para:选填,跳转报表块页面时携带的参数 3)noCache:选填,true时跳转报表块不使用缓存,强制取新的数据 | √ |
4. 填报支持的脚本函数编辑
函数名 | 函数描述 | 参数说明 | 实现 |
---|---|---|---|
contentPane | 当前报表对象 | 无参数。只有在普通报表中才有,决策报表中没有 | √ |
verifyReport | 触发填报表的数据校验 | 无参数。只有填报报表下可以用,contentPane 常用方法 | √ |
writeReport | 提交报表 | 无参数。只有填报报表下可以用,contentPane 常用方法 | √ |
verifyAndWriteReport | 校验并提交报表 | 一个参数。选填,只有填报报表下可以用,contentPane 常用方法 1)不填或者填0时,都为提交当前sheet 2)填true或者填非0数字时,提交所有sheet 3)参数不能是非true或者数字字符串,不支持,无法提交 | √ |
getCellValue(cell) | 获取指定格子的值 | 1 个参数,定位单元格,只有填报报表下可以用 | √ |
getCellValue(col,row) | 获取指定格子的值 | 2 个参数,定位列和行,只有填报报表下可以用 | √ |
setCellValue(col,row,value) | 给单元格的赋值 | 3个参数,定位列和行,并赋值,只有填报报表下可以用 | |
getWidgetByCell | 获取指定单元格中的控件 | 1 个参数,值为单元格名,contentPane 常用方法 | √ |
getWidgetByName | 获取指定名字的控件 | 1 个参数,值为控件名,contentPane 常用方法 | √ |
getWidgetsByName | 获取指定名称的扩展控件,返回一个数组 | 1 个参数,值为控件名,contentPane 常用方法 | √ |
refreshAllSheets | 刷新所有sheet | 无参数。只有填报报表下可以用,contentPane 常用方法 | √ |
5. 决策平台编辑
函数名 | 函数描述 | 参数说明 | 实现 |
---|---|---|---|
FS.tabPane.addItem | 向决策平台 Tab 栏新增项目 | 2种属性,分别表示: 1)title:标签页的标题,字符串和数字都可以 2)src:标签页的内容指向的地址 | √ |
FS.tabPane.closeActiveTab | 关闭当前 Tab 选项页 | 无参数 | √ |
FR.logoutApp | 登出,FR 工具类下的方法 | 无参数 | √ |
6. 图表编辑
函数名 | 函数描述 | 补充说明 | 实现 |
---|---|---|---|
getChart | 获取图表对象,图表接口均只支持老图表 | 1 个参数,必填,值为图表块控件名 | √ |
dataRefresh | 刷新图表数据,图表接口均只支持老图表 | 1 个参数,必填,值为图表块控件名 使用请参考:JS获取决策报表内图表块刷新数据 | √ |
注:getChart() 和 dataRefresh() 只支持 8.0 App 使用,9.0 App 由于老图表转化为新图表显示,故不支持。
7. 常用的工具类脚本函数编辑
函数名 | 函数描述 | 参数说明 | 实现 |
---|---|---|---|
FR.Msg.alert | 弹出消息的提示对话框 | 3 个参数,分别表示: 1)title:必填,消息提示框的标题 2)message:必填,消息提示框的提示内容 3)callback:选填,对话框显示以后的回调函数。 | √ |
FR.Msg.confirm | 弹出的确认对话框 | 3 个参数,分别表示: 1)title:必填,消息提示框的标题 2)message:必填,消息提示框的提示内容 3)callback:选填,点击确认后的回调函数 | √ |
FR.Msg.prompt | 弹出的输入对话框 | 4 个参数,分别表示: 1)title:必填,输入对话框的标题 2)message:选填,输入对话框的显示消息 3)value:选填,输入对话框的默认值 4)callback:选填,点击确认后的回调函数 | √ |
FR.Msg.toast | 弹出悬浮提示,5s自动消失 | 1 个参数,值为要显示的消息 | √ |
FR.location | 获取当前 GPS 经纬度信息 | 1 个参数,必填,值为要调用的函数 | √ |
FR.doHyperlinkByGet FR.doHyperlinkByPost | 超级链接,FR下的工具类方法 | 2 个参数,分别表示: 1)url:必填,url或json超链定义 2)config:选填,传递的参数 | √ |
FR.ajax | 异步请求函数 | 9 种属性,分别表示: 1)url:必填,发送请求的地址 2)data:发送到服务器的数据 3)type:请求方式POST/GET,默认为GET 4)dataType:预期服务器返回的数据类型 5)success:请求成功后的回调函数 6)error:请求失败时调用此函数 7)complete:请求完成后回调函数 8)timeout:设置请求超时时间(毫秒) 9)async:默认为true,所有请求均为异步请求 | √ |
FR.Mobile.getDeviceInfo | 获取移动端设备信息 | 2 种属性,分别表示: 1)Model:设备型号 2)DeviceID:设备唯一ID | √ |
contentPane.parameterCommit | 触发查询操作 | 无参数,只支持普通报表,不支持决策报表 | √ |
_g().parameterCommit | 触发查询操作 | 无参数,支持普通报表、决策报表 | √ |
setInterval | 按照指定的周期(以毫秒计)来调用函数或计算表达式 | 2 个参数,分别表示: 1)code:必填,要调用的函数或要执行的代码串 2)millisec:周期性执行或调用 code 之间的时间间隔,以毫秒计 | √ |
setTimeout | 在指定的毫秒数后调用函数或计算表达式 | 2 个参数,分别表示: 1)code:必填,要调用的函数后要执行的 JavaScript 代码串 2)millisec:在执行代码前需等待的毫秒数 | √ |
FR.isMobile | / | / | 不支持 |
FR.MobileTools.openLink | / | / | 不支持 |
8. 具体使用示例编辑
8.1 获取控件的一系列方法
this.options.form.getWidgetByName("控件名"); //参数界面及决策报表中获取控件
contentPane.getWidgetByCell("单元格"); //填报界面获取控件
contentPane.getWidgetByName("控件名"); //填报界面获取控件
详细请查看 填报成功后自动刷新
8.2 JS 获取决策报表图表、报表块
1)JS 获取决策报表图表组件并刷新数据
详细请查看 JS 获取决策报表图表组件并刷新数据
2)JS 获取报表块刷新和翻页
this.options.form.getWidgetByName('xx').gotoPage(2,{'p1':'123','p2':'234'},true);
详细请查看 JS 获取决策报表报表块
8.3 延时函数
setTimeout(function(){},500);
8.4 刷新
1)当前页刷新
location.reload()
详细请查看 当前页刷新
2)定时刷新,支持定时 JS,以及取消定时
setInterval('location.reload();',10000);//时间单位为 ms,即每 10s 刷新一次页面
var timer = setInterval('location.reload();',10000);clearInterval(timer);//取消定时
详细请查看 定时刷新 JS
8.5 获取地理位置
FR.location(function(status, message){ //获取地理位置
if(status=="success") {
//定位成功,message 返回经纬度值
FR.Msg.alert("当前位置是" + message);
contentPane.setCellValue(2, 3, message);
} else {
//定位失败,message返回对应的错误信息
FR.Msg.alert(message); //定位失败
}
});
详细请查看 获取地理位置
8.6 查询
查询操作,不管是 cpt 还是 frm,参数界面上会有内置查询按钮,用户可以不用内置查询,通过 JS 来触发查询操作
1)普通报表可以通过下面两种方式触发
contentPane.parameterCommit()
_g().parameterCommit()
2)决策报表只能通过下面一种方式触发
_g().parameterCommit()
详细请查看 决策报表自动查询 JS
详细请查看 扫码输入查询
8.7 超级链接
FR.doHyperlinkByGet({url:'${servletURL}?viewlet=JS 超链自定义标题子表.cpt',title:'标题是我',para:{area:'华北'}});
注:title 只在 App 中支持
详细请查看 JS 超链自定义标题
8.8 登出 App
FR.logoutApp();
详细请查看 登出 App 的 JS
8.9 获取控件显示值与实际值
var Widget = this.options.form.getWidgetByName("t1"); //在参数界面获取控件的方法,先获取决策报表,再通过控件名称来获取控件
var value_1 =Widget.getValue(); //获取控件实际值
alert('我的实际值是:'+value_1); //弹出控件实际值
var value_2 =Widget.getText(); //获取控件显示值
alert('我的显示值是:'+value_2); //弹出控件显示值