数据填报是 VeryReport 专为业务字段录入提供的在线表单能力:业务人员通过浏览器填写数据,写入数据库或平台本地表,再供数据集、报表、仪表板、Vera 问数等模块二次分析。对标 Quick BI 数据填报,实现「采集 → 建模 → 分析 → 可视化」闭环。
范围说明:本文介绍菜单「数据中心 → 数据填报」(/data/form)在线表单模块的整体能力。与复杂报表填报(.vrp 设计器内填报控件)是不同功能;能力依据《数据填报设计》文档,结构参考 Quick BI《数据填报概述》。1. 功能概述
数据填报模块(后端 /api/bi/form,资源类型 resourceType=FORM)包含表单设计器、填报页、数据管理、入库审批、任务下发五大能力块。表单定义存于 bi_form.definition_json(settings + controls + binding);未绑定外部表时提交数据落 bi_form_data,绑定后写入目标数据源物理表。
| 优势 | 说明 |
|---|---|
| 一站式闭环 | 采集 → 入库 → 数据集/报表/仪表板分析,数据留在业务库 |
| 零代码搭建 | 拖拽控件、配置校验与样式,无需开发表单页面 |
| 多人协作 | 文件夹资源树、任务下发、入库审批,团队共维护一份数据 |
| 双端适配 | 一次设计,PC 填报页与移动端路由共用同一表单定义 |
| 灵活落库 | 默认本地存储,可绑定外部数据源物理表自动建表/改表 |
2. 能达到的目标
- 替代 Excel 线下收集:客户登记、巡检记录、费用报销、问卷调研;
- 规范入库:必填、格式、长度、正则校验,减少脏数据;
- 流程管控:任务截止、进度统计、入库审批、站内信/邮件提醒;
- 数据资产化:提交记录进入业务库,一键转为分析数据源;
- 权限隔离:文件夹 + 资源级 USE/EDIT/MANAGE,按人按部门授权。
3. 产品界面与入口
入口:数据中心 → 数据填报。列表页左侧为文件夹资源树,右侧展示表单卡片或列表,支持新建文件夹、新建表单、搜索、复制、删除等操作。
| 功能模块 | 路由 | 说明 |
|---|---|---|
| 表单列表 | /data/form | 左侧资源树 + 右侧列表/卡片 |
| 表单设计器 | /data/form/design/:formId | 拖拽控件、样式、数据库绑定 |
| 填报页面 | /data/form/fill/:formId | 业务人员填写提交(支持 ?taskId=) |
| 数据管理 | /data/form/data/:formId | 查看/编辑/删除已提交数据、审批 tab |
| 任务下发 | /data/form/task/:formId | 指定接收人、定时/周期派发 |
| 我的任务 | /data/form/my-tasks | 待办填报、忽略/恢复、进度跟踪 |
3.1 设计器布局
全屏三栏:左侧控件库(基础/高级/布局)|中间画布(PC/移动预览切换)|右侧属性面板(表单级样式/高级 或 控件级属性)。顶部提供撤销重做、预览、保存、发布、数据库绑定、二维码分享等。
3.2 表单主题
- 表单主题(form):经典问卷/登记表布局;
- 卡片主题(card):每题独立卡片样式;
- 可配置列数(1~4 列)、题间距、标题样式、封面标题等。
4. 控件说明
设计器提供 21 种控件,分三类。每个控件可配置:显示标题、物理字段名、提示语、描述、默认值、必填、宽度、只读/隐藏状态,以及选项类控件的静态/数据集选项与联动规则。
4.1 基础控件
| 控件 | field key | 用途 |
|---|---|---|
| 单行文本 | text | 姓名、编号等短文本 |
| 多行文本 | textarea | 备注、描述 |
| 数值 | number | 金额、数量,支持小数位校验 |
| 日期时间 | date | 日期或日期时间 |
| 单选 | radio | 固定选项单选 |
| 多选 | checkbox | 固定选项多选 |
| 下拉单选 | select | 下拉列表单选 |
| 下拉多选 | multiselect | 下拉列表多选 |
4.2 高级控件
| 控件 | field key | 用途 |
|---|---|---|
| 树形下拉 | treeselect | 层级选项(如组织树) |
| 富文本 | richtext | 带格式的长文本(前后端白名单净化) |
| 图片上传 | image | 上传图片附件 |
| 评分 | rating | 星级评分 |
| 手机号 | phone | 手机号格式校验 |
| 邮箱 | 邮箱格式校验 | |
| 身份证号 | idcard | 身份证格式校验 |
| 填报时间 | submittime | 自动记录提交时间 |
| 进度 | progress | 进度条展示/录入 |
| 填报人 | submitter | 自动带入当前用户 |
| 用户单选 | user_select | 从系统用户列表选择 |
| 用户多选 | user_multiselect | 多选系统用户 |
4.3 布局控件
| 控件 | field key | 用途 |
|---|---|---|
| 分栏布局 | column_layout | 1~4 列栅格排版 |
5. 核心能力详解
5.1 双轨存储与数据库绑定
- 本地兜底:未绑定时,提交 JSON 存
bi_form_data; - 物理表绑定:选择数据源,新建表或对接已有表,字段 mappings 自动同步 DDL(增删改列);
- 系统列:
id、_submitter、_submit_time、_deleted(软删除)。
5.2 入库审批
开启后,提交先进入 bi_form_approval(PENDING),审批人通过后数据才写入正式表;支持撤回、驳回、重提,并通过站内信通知相关人。数据管理页提供审批 tab(?tab=approval)。
5.3 填报任务
下发人创建任务,指定接收人与截止时间,支持:
- 立即派发:创建即通知;
- 单次定时:到点派发一次;
- 周期下发:按 interval + unit(时/日/周/月)重复,可设结束时间。
taskId),提交后自动回写进度。6. 操作流程概览
| 阶段 | 角色 | 主要操作 |
|---|---|---|
| 1. 设计表单 | 管理员/设计者 | 新建表单 → 拖控件 → 配置校验 → 保存 |
| 2. 绑定数据库(可选) | 设计者 | 映射物理表字段,自动建表或对接已有表 |
| 3. 发布使用 | 设计者 | 分享填报链接 / 二维码 / 嵌入门户 |
| 4. 采集数据 | 业务填报人 | 打开填报页填写并提交 |
| 5. 审批入库(可选) | 审批人 | 待审批 → 通过/驳回 → 数据正式入库 |
| 6. 任务下发(可选) | 下发人 | 指定接收人、截止时间、周期提醒 |
| 7. 数据管理 | 数据管理员 | 查询、导出、编辑、软删除提交记录 |
| 8. 分析呈现 | 分析师 | 绑定表建数据集 → 仪表板/报表/大屏 |
手把手操作步骤见数据填报快速入门。
7. 使用限制
| 限制项 | 说明 |
|---|---|
| 数据源账号权限 | 绑定外部表时,连接账号需具备 CREATE / INSERT / UPDATE / DELETE 等 DDL/DML 权限 |
| 表名列名规范 | 小写字母、数字、下划线,首尾为字母或数字 |
| 任务接收人规模 | 单任务 assignees 建议 ≤ 百人(JSON 单表存储) |
| 调度精度 | 任务定时派发约 30 秒轮询,适合日常批量采集 |
| 审批能力 | 当前完整支持「提交审批」;编辑/删除审批为后续版本 |
8. 权限说明
| 权限点 | 能力 |
|---|---|
| data:form:view | 查看表单、打开填报页 |
| data:form:design | 进入设计器、编辑表单定义 |
| data:form:data | 数据管理、导出、删除记录 |
| data:form:dispatch | 创建/关闭填报任务、我的任务管理 |
资源级还可对单个表单文件夹/文件授予 USE(填报)、EDIT(设计)、MANAGE(管理)权限;任务派发时会为接收人自动补 FORM USE 授权(任务结束后可回收)。
9. 与 BI 分析的关系
10. 常见问题
Q:数据填报和复杂报表里的填报控件有什么区别?
A:数据填报是独立在线表单应用;复杂报表填报是在 .vrp 模板内嵌的填报控件,二者入口与存储模型不同。
Q:不绑定数据库能用吗?
A:可以。数据先存平台 bi_form_data,适合试用或小规模采集;正式生产建议绑定业务库。
Q:如何发给外部人员填写?
A:设计器生成填报链接或二维码;若开启开放平台嵌入,也可嵌入第三方页面。