1. 概述
1.1 版本
报表服务器版本 | App 版本 |
---|---|
11.0.2 | V11.0.64 |
1.2 应用场景
注: FVS 可视化看板不支持此功能。
填报时如果需要需要连续读卡录入数据,那么每扫完一次提交后,又要去点击控件的读卡按钮重新打开界面,非常影响录入数据的效率。
针对上述问题,新增一个连续读卡的 JS 方法nfcCode(),在填报事件中添加该方法即可在读卡完一次提交后,自动进入下一个扫描,效果如下图所示:
1.3 方法介绍
新增的nfcCode()方法使用的场景和事件写法如下表所示:
触发方式 | 模板场景 | 事件写法 |
---|---|---|
获取控件触发 | 决策报表内文本控件 | var self=_g().options.form.getWidgetByName("name") self.nfcCode(); |
var self=this.options.form.getWidgetByName("name") self.nfcCode(); | ||
决策报表参数面板文本控件 | var self=_g().options.form.getWidgetByName("name") self.nfcCode(); | |
var self=this.options.form.getWidgetByName("name") self.nfcCode(); | ||
var self=_g().getParameterContainer().getWidgetByName("name") self.nfcCode(); | ||
填报单元格文本控件 | var self = _g().getWidgetByCell("A1"); self.nfcCode(); | |
填报参数面板文本控件 | var self=_g().getParameterContainer().getWidgetByName("name") self.nfcCode(); | |
单个控件直接触发 | 所有场景 | this.nfcCode(); |
1.4 注意事项
1)实现 NFC读卡,需要满足以下要求项:
序号 | 要求项 | 详情 |
---|---|---|
1 | 版本适配 |
|
2 | 使用范围 | 填报模板、参数面板、表单body |
3 | 控件类型 | 文本控件 |
4 | 移动设备 | 支持 NFC 且开放 NFC 功能的移动端设备 |
5 | NFC |
|
6 | 开启NFC读卡输入 | 在「文本控件>控件设置>移动端」中,必选项为「NFC读卡输入」 |
2)如果要显示读卡按钮,需要在填报页面设置处勾选「直接显示控件」,如下图所示:
2. 示例
下面给出一个多控件连续 NFC 读卡填报录入数据的例子,介绍下实现连续读卡的操作步骤。
2.1 设计表格
新建普通报表,设计填报表格,B1 和 B2 单元格添加文本控件,如下图所示:
2.2 设置填报属性
设计器菜单栏点击「模板>报表填报属性」,新增内置 SQL 提交,具体设置如下图所示:
2.3 添加事件
1)选择 B1 单元格,给文本控件添加一个「编辑后」事件,如下图所示:
该代码的作用是在 B1 单元格读卡后,自动打开 B2 单元格的读卡界面,JavaScript 代码如下:
var a = contentPane.getWidgetByCell("B2"); //B1单元格读卡后获取B2单元格a.nfcCode();//B2单元格自动打开读卡界面
2)设计器菜单栏点击「模板>模板Web属性」,在「填报页面设置」中添加一个「填报成功」事件,如下图所示:
操作要点:需要「勾选直接显示控件」,这样可以看到读卡按钮。
该代码的作用是在提交成功后,自动打开 B1 单元格的读卡界面,JavaScript 代码如下:
var b = contentPane.getWidgetByCell("B1"); //填报提交成功后,获取B1单元格b.nfcCode();//B1单元格自动打开读卡界面
2.4 效果预览
移动端预览模板,连续读卡效果如下图所示:
最终录入的数据如下图所示:
3. 模板下载
点击下载模板:移动端连续读卡-phone.cpt