Skip to content

表单字段权限控制

表单字段权限用于按流程节点控制字段的显示、只读、可编辑和必填。它既适用于在线流程表单,也适用于自定义业务表单,只是两类表单的字段来源不同。

适用范围

表单类型字段来源是否需要绑定数据模型典型用途
流程表单表单设计器中的字段配置不需要轻量审批、临时申请、在线表单
业务表单代码生成器导入的业务表字段需要OA、HRM、合同、资产等正式业务单据

流程表单已经知道自己的字段定义,因此在流程设计器中可直接配置字段权限。业务表单的字段来自业务数据库表,需要先把业务主表和明细表导入代码生成器,并在流程模型中关联数据模型。

菜单与配置入口

字段权限是“表单开发”的一级专题,但配置动作发生在流程模型的节点上:

text
流程中心
  -> 流程模型
  -> 编辑模型
  -> 表单设计:选择流程表单或业务表单
  -> 流程设计:点击节点
  -> 表单字段权限

区别在于字段来源:

  • 流程表单:字段来自 表单设计器 中保存的在线表单配置。
  • 业务表单:字段来自代码生成器导入的数据模型,需要在“表单设计”步骤关联主表和明细表。

权限类型

权限效果适用场景
只读字段可见但不可修改审批人查看申请内容
可编辑字段可见且可修改审批人补填金额、日期、处理意见等
必填字段可编辑且必须填写审批节点必须回填的数据
隐藏字段不显示且不占位敏感字段或当前节点无关字段

流程表单配置

流程表单不需要绑定业务模型。配置步骤如下:

  1. 进入 流程中心 → 流程模型,新建或编辑模型。
  2. 在“表单设计”步骤选择“流程表单”,并选择表单设计器中维护好的表单。
  3. 进入“流程设计”步骤,点击发起人节点、审批人节点或抄送节点。
  4. 在节点配置中打开“表单字段权限”,为字段设置只读、可编辑、必填或隐藏。
  5. 保存并发布流程。

流程表单适合在节点内直接控制字段。若需要更复杂的显隐、禁用或脚本联动,也可以配合 流程表单上下文变量

业务表单配置

业务表单需要先准备数据模型,再进入流程节点配置字段权限。

1. 导入数据模型

进入 基础设施 → 代码生成,确认业务表单对应的主表已经导入。如果有明细表,也建议一并导入。

导入数据模型

数据模型用于让流程设计器识别字段列表。字段名称和中文标签通常来自数据库表字段和注释。

2. 关联数据模型

进入 流程中心 → 流程模型,编辑目标模型。在“表单设计”步骤选择“业务表单”,填写提交路由和查看组件,并关联业务主表;如有明细表,再选择明细表。

关联数据模型

说明:

  • 一个流程模型通常关联一个业务主表。
  • 明细表可多选,用于控制 VxeTable 等明细字段。
  • 关联后,流程节点的字段权限配置才能展示业务字段。

3. 配置节点字段权限

进入“流程设计”步骤,点击需要控制的节点,切换到“表单字段权限”。

配置字段权限

配置建议:

节点建议
发起人节点申请人填写字段设为可编辑,审批回填字段设为隐藏
普通审批节点大部分字段只读,需要审批人补填的字段设为可编辑或必填
财务/主管节点金额、预算、合同等关键字段按实际职责开放
抄送节点通常只读,敏感字段可隐藏

4. 发布流程

字段权限修改后必须发布流程才会影响新发起的流程实例。

发布流程

场景生效规则
新创建流程实例使用最新发布版本的权限配置
已运行流程实例通常继续使用创建时的流程版本
仅保存未发布不影响运行时

运行时效果

制单人

制单人进入新建或编辑草稿页面时,会按发起人节点的字段权限展示。隐藏字段不会出现,可编辑字段可以填写。

制单页面效果

查看人

从列表详情、已办、抄送等只读入口进入时,可见字段通常只读,隐藏字段仍不显示。

详情页面效果

审批人

审批人处理待办时,会按当前审批节点的权限展示字段。可编辑和必填字段会在审批前校验并保存;只读字段仅展示;隐藏字段不展示。

常见场景

审批节点回填字段

例如保管员审批时需要填写“实际用章时间”:

  1. 在保管员审批节点打开“表单字段权限”。
  2. 将“实际用章时间”设为可编辑或必填。
  3. 其他业务字段设为只读。
  4. 发布流程。

隐藏敏感字段

例如合同金额只允许部门负责人及以上节点查看:

  1. 在发起人、部门负责人节点设为只读或可编辑。
  2. 在普通处理节点设为隐藏。
  3. 发布流程并重新发起验证。

精简发起表单

例如审批回填字段不需要申请人看到:

  1. 在发起人节点设为隐藏。
  2. 在对应审批节点设为可编辑或必填。
  3. 审批人处理时再填写。

二开接入要点

流程表单由表单设计器运行时承载,通常不需要额外写页面代码。业务表单需要前端组件主动接入字段权限。

业务表单接入时重点检查:

要点说明
fieldPermission接收流程节点返回的字段权限配置
isApproval判断当前是否审批态
viewType区分 tododonemycopy 等入口
processStatus判断草稿、审批中、通过、拒绝等状态
beforeApproval审批前保存可编辑字段,拒绝操作避免被非必要校验阻塞

已接入的业务表单通常使用 BasicForm,运行时权限由 useBusinessFieldPermission 统一处理。新增业务表单可参考 业务表单接入

常见问题

配置了权限但不生效?

优先检查:

  1. 流程是否重新发布。
  2. 当前流程实例是否是发布后新发起的实例。
  3. 业务表单是否已关联数据模型。
  4. 业务表单前端是否已经接入 fieldPermission

流程表单是否需要关联数据模型?

不需要。流程表单的字段来自表单设计器自身配置,可以直接在节点上配置字段权限。

业务表单是否必须导入明细表?

如果只控制主表字段,只导入主表即可。如果要控制明细表列的显示和编辑,需要把明细表也导入代码生成器并在流程模型中关联。

未配置权限的字段会怎样?

未配置时通常跟随页面全局状态:制单时可编辑,审批、已办、抄送时只读。建议关键字段明确配置,减少不同节点理解差异。

可编辑字段修改后如何保存?

审批人在待办中点击“通过”前,业务表单应校验并保存可编辑字段。流程表单由表单运行时处理;业务表单需要在 beforeApproval 或等价逻辑中保存。

联系我们

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

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版