1. 概述
1.1 版本
报表服务器版本 | App 版本 | HTML5 移动端展现插件版本 |
---|---|---|
11.0 | V11.0 | V11.0 |
1.2 应用场景
填报时如果需要需要连续扫码录入数据,那么每扫完一次提交后,又要去点击控件的扫码按钮重新打开扫码界面,非常影响录入数据的效率。
针对上述问题,新增一个连续扫码的 JS 方法scanCode(),在填报事件中添加该方法即可在扫完一次提交后,自动进入下一个扫描,效果如下图所示:
1.3 方法介绍
新增的scanCode()方法使用的场景和事件写法如下表所示:
触发方式 | 模板场景 | 事件写法 |
---|---|---|
获取控件触发 | 决策报表内文本控件 | var self=_g().options.form.getWidgetByName("name") self.scanCode(); |
var self=this.options.form.getWidgetByName("name") self.scanCode(); | ||
决策报表参数面板文本控件 | var self=_g().options.form.getWidgetByName("name") self.scanCode(); | |
var self=this.options.form.getWidgetByName("name") self.scanCode(); | ||
var self=_g().getParameterContainer().getWidgetByName("name") self.scanCode(); | ||
填报单元格文本控件 | var self = _g().getWidgetByCell("A1"); self.scanCode(); | |
填报参数面板文本控件 | var self=_g().getParameterContainer().getWidgetByName("name") self.scanCode(); | |
单个控件直接触发 | 所有场景 | this.scanCode(); |
注1:目前只有文本控件支持设置连续扫码。
注2:目前只支持 App 端和 H5 集成环境下连续扫码,不支持其他 H5 场景。
注3:必须开启文本控件的扫码功能,即移动端高级属性中必须设置为支持手动和扫码输入或者仅支持扫码输入。
注4: FVS 可视化看板不支持此功能。
注4:如果要显示扫码按钮,需要在填报页面设置处勾选「直接显示控件」,如下图所示:
2. 示例
下面给出一个多控件连续扫码填报录入数据的例子,介绍下实现连续扫码的操作步骤。
2.1 设计表格
新建普通报表,设计填报表格,B1 和 B2 单元格添加文本控件,如下图所示:
2.2 设置填报属性
设计器菜单栏点击「模板」>「报表填报属性」,新增内置 SQL 提交,具体设置如下图所示:
2.3 添加事件
1)选择 B1 单元格,给文本控件添加一个「编辑后」事件,如下图所示:
该代码的作用是在 B1 单元格扫码后,自动打开 B2 单元格的扫码界面,JavaScript 代码如下:
var a = contentPane.getWidgetByCell("B2"); //B1单元格扫码后获取B2单元格
a.scanCode();//B2单元格自动打开扫码界面
2)设计器菜单栏点击「模板」>「模板Web属性」,在「填报页面设置」中添加一个「填报成功」事件,如下图所示:
注:需要勾选「直接显示控件」,这样可以看到扫码按钮。
该代码的作用是在提交成功后,自动打开 B1 单元格的扫码界面,JavaScript 代码如下:
var b = contentPane.getWidgetByCell("B1"); //填报提交成功后,获取B1单元格
b.scanCode();//B1单元格自动打开扫码界面
2.4 效果预览
移动端预览模板,连续扫码效果如下图所示:
最终录入的数据如下图所示:
3. 模板下载
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\Phone\form\移动端连续扫码-phone.cpt
点击下载模板:移动端连续扫码-phone.cpt
点击下载二维码资源包:二维码.rar