1. 概述
1.1 问题描述
控件添加「提交入库」类型的事件,即可实现点击或编辑控件后填报入库。该方式在提交后默认不返回成功和失败的结果提示,如果希望在进行填报时返回结果提示,或者根据提交成功与否执行一些自定义的方法,应该如何操作呢?
1.2 实现思路
在使用「提交入库」类型事件的时候,可通过「设置回调函数」的方式,来进行填报成功或失败之后的下一步操作。如下图所示:
1.3 接口介绍
回调函数中返回参数 fr_submitinfo 来判断填报是否成功, fr_submitinfo.success 的返回值为 true 表示填报成功,false 表示填报失败。当填报失败时,fr_submitinfo.failinfo返回具体报错信息。
2. 示例
以下通过实现一个自定义按钮提交入库,并且填报成功或失败都返回回执消息的示例,来讲解如何使用回调函数的返回值。
2.1 设计报表样式
新建模板,如下图所示设计报表样式,其中 A3-F3 单元格中都添加「文本控件」,G2 单元格中添加一个「按钮控件」。
2.2 设置填报属性
点击 G2 单元格中「按钮控件」,为该按钮控件添加一个「点击」事件,事件类型为「提交入库」,绑定数据列,设置填报属性,如下图所示:
2.3 设置回调函数
设置填报属性后,点击「设置回调函数」,添加 JS 事件,事件内容为填报成功则提示填报成功,填报失败则提示填报失败,如下图所示:
JavaScript 代码如下:
if (fr_submitinfo.success) {
FR.Msg.toast('提交成功');
} else {
FR.Msg.toast('提交失败,错误信息为:' + fr_submitinfo.failinfo);
}
注:success 只表示后台程序执行没有异常,最终入库结果会受到设置的影响,可能和预期的不一致。
2.4 预览效果
保存模板,点击「填报预览」,在报表页面填入数据,点击提交按钮,若成功提交,则提示提交成功;反之则提示提交失败。
PC 端实现效果下图所示:
移动端及 HTML5 效果如下图所示:
3. 模板下载
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\57-控件回调事件的返回值.cpt
点击下载模板:57-控件回调事件的返回值.cpt