Skip to content

表单设计器

表单设计器是 RuoYi Office 的在线拖拽式表单能力,适合快速搭建轻量申请、临时审批、流程原型和字段较少的内部表单。它可以单独维护表单配置,也可以和工作流 BPM 结合,作为流程模型中的“流程表单”使用。

本页是“表单设计器”主教程。与它强相关的流程表单接入、上下文变量、数据查询已经放在左侧“表单设计器”下面,便于按操作链路阅读。

表单设计器全景

入口与定位

在管理端进入 流程中心 → 流程表单,可以查看、搜索、新增、复制、编辑和预览流程表单。当前工程代码目录仍位于 BPM 模块下,但从能力归类上,它属于“表单开发”的基础能力。

流程表单列表

能力说明
在线设计通过 form-create 设计器维护字段、布局、校验、默认值和事件
流程表单作为 BPM 模型的 NORMAL 表单,发起流程时在线渲染
动态控制支持显隐、禁用、必填和事件脚本
数据查询流程表单值以 Flowable 变量保存,可用于排查和轻量统计
快速试运行适合先验证流程和字段,再决定是否升级为业务表单

设计器界面

表单设计器主要分为顶部操作区、左侧组件区、中间画布和右侧配置区。全景图用于定位,配置细节建议看下面的局部图。

区域主要操作注意点
顶部操作区保存、预览、清空、撤销重做保存只保存表单配置,不会自动发布流程
左侧组件区拖拽字段、容器、系统字段优先选择贴近业务含义的组件
中间画布排版、复制、删除、调整字段顺序字段 key 稳定后不要随意改
右侧配置区配置表单属性、字段属性、动态属性、事件简单规则用动态属性,复杂联动用事件

左侧组件区

左侧按类型提供组件,常用分类包括基础组件、子表单组件、容器组件、辅助组件、布局组件和系统字段。可以直接拖拽到中间画布。

左侧组件区

常用组件建议:

  • 普通字段优先使用输入框、选择器、日期、时间、文件上传等基础组件。
  • 需要人员、部门、字典或接口数据时,优先使用系统字段。
  • 字段很多时用栅格、分组、标签页拆分,不要把所有字段堆在一个长表单里。
  • 明细类数据可以使用数据表格、Vxe 数据表格或表格表单,但正式业务明细建议评估业务表单。

组件选择建议:

业务字段推荐组件
姓名、标题、事由输入框、多行输入框
金额、数量、时长数字输入框、金额、时长
部门、人员、字典部门选择器、用户选择器、字典选择器
附件、图片文件上传、单图上传、多图上传
明细行数据表格、Vxe 数据表格、表格表单

中间画布

中间画布展示最终运行时表单结构。选中字段后,可以在字段上进行复制、删除、排序,也可以继续调整布局。

中间画布

设计建议:

  • 字段 key 一旦进入流程使用后不要随意修改,否则历史变量会保留旧 key。
  • 必填字段要和真实业务最小提交要求一致,避免审批人无法处理异常单据。
  • 文件上传、明细表格、富文本等复杂组件要提前验证移动端或详情页展示效果。

右侧配置区

右侧用于配置表单整体属性或当前选中组件的属性。表单级配置包括表单名称、布局、标签宽度、提交按钮、重置按钮、表单事件等;字段级配置包括标签、字段名、默认值、校验规则、动态属性、事件脚本等。

右侧配置区

常用配置:

配置用途
字段名运行时变量 key,后续查询、表达式和脚本都依赖它
标签用户看到的字段名称
校验规则控制必填、格式、长度等
动态属性控制隐藏、禁用、必填等运行时状态
表单事件编写复杂联动脚本,例如 onMounted

操作流程

1. 新增或编辑表单

进入 流程中心 → 流程表单,点击“新增流程表单”创建新表单;也可以在列表中选择“编辑”打开已有表单。复制适合基于已有表单快速创建变体。

2. 拖拽组件并配置字段

从左侧选择组件拖入画布,在右侧配置字段名、标签、选项、默认值和校验规则。字段名建议使用稳定英文或业务字段名,例如 amountreasonapplyDeptId

字段命名建议:

类型示例
文本titlereasonremark
金额amountapplyAmountapproveAmount
组织deptIddeptNameapplyUserId
附件attachmentfileIds
明细detailListitemList

3. 配置动态属性

设计器支持把以下属性追加到配置中:

属性作用
hidden控制字段是否隐藏
props.disabled控制字段是否禁用
$required控制字段是否必填

例如只在待办审批页开放字段,可以配合流程上下文变量:

js
GET_DATA("$globalData.bpmProcess.viewType") !== "todo"

更多变量见 流程表单上下文变量

如果只是“某个审批节点可编辑、其他节点只读或隐藏”,优先使用 表单字段权限控制,不要把节点权限全部写成脚本。

4. 配置表单事件

如果显隐、禁用、必填需要多字段联动,可以在“表单事件”中写脚本。常用事件是 onMounted

js
function onMounted(api) {
  const bpm = api.getData?.("$globalData.bpmProcess") || {};
  const readonly = bpm.viewType !== "create";

  ["amount", "reason", "attachment"].forEach((field) => {
    api.disabled?.(readonly, field);
  });
}

简单规则优先用动态属性,复杂联动再用事件脚本。

5. 保存表单信息

点击顶部“保存”,填写表单名称、单据类型编码、状态和备注后保存。保存后表单会出现在流程表单列表中,可被流程模型引用。

保存表单信息

截图时只打开保存弹窗用于说明,不需要在演示环境重复提交保存。

6. 绑定流程模型

进入 流程中心 → 流程模型,在“表单设计”步骤选择“流程表单”,再选择刚维护好的表单。发布流程后,用户在“发起流程”中即可填写该在线表单。

流程模型表单配置

与业务表单的选择

维度流程表单业务表单
数据存储Flowable 变量独立业务表
开发成本低,在线配置中高,需要前后端开发
页面能力受设计器组件约束可完全定制
查询统计适合简单查询适合复杂报表与业务分析
推荐场景临时审批、轻量表单、流程试运行OA、HRM、CRM、合同、项目等正式业务闭环

如果后续需要业务台账、列表筛选、明细表生命周期、移动端独立页面、复杂附件或状态机,应迁移为 业务表单接入

延伸阅读

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版