跳到主要内容

审批流配置

在实体对象下配置审批流程,通过可视化流程设计器编排审批节点与分支条件。

概述​

审批流(Approval Flow)是挂在实体对象上的业务流程配置。同一实体对象可以配置多条审批流,每条审批流定义一条从「发起审批」到「审批结束」的完整路径,用于对该对象的数据进行多级审批。

审批流的典型用途:

  • 对业务数据(合同、报销单、请假单等)进行多级审批;
  • 根据数据字段值走不同的审批分支;
  • 审批过程中自动执行接口、发送通知;
  • 审批结束后回调自定义接口,驱动后续业务逻辑。

审批流在 开发中心 → 对象配置 → 审批流管理 中维护。与字段、表单、视图列表、接口一样,审批流都属于单个实体对象,因此同一条审批流只服务于它所属的对象。

创建审批流​

  1. 进入 开发中心 → 对象配置,打开目标实体对象;
  2. 切换到「审批流管理」页签;
  3. 点击「新增流程」,填写名称、选择审批页面、标题、描述后保存;
  4. 保存成功后会自动打开该审批流的流程设计器,编排节点;
  5. 编排完成后点击「保存并发布」,生成一个新版本,对新发起的审批生效。

列表中每条审批流支持「查看详情」「编辑」「复制」操作。

节点类型一览​

流程设计器左侧为组件面板,按分组展示可拖拽的节点:

分组节点NodeType说明
基础组件发起审批ApproveStart流程起点,引擎固定节点,每个流程有且仅有一个
基础组件审批结束ApproveEnd流程终点,引擎固定节点
流程审批组件条件分支ApproveCondition根据数据条件决定流向
流程审批组件审批节点ApproveNode人工审批环节
流程审批组件自动审批ApproveAutoHandle由系统自动执行审批动作

新画布会自动预置「发起审批」与「审批结束」两个节点并自动连线。固定节点不能禁用,也不能插入到连线中间。

界面结构​

流程设计器(FlowEditor)由以下区域组成:

  • 标题栏:显示流程名称、发布状态与最近更新时间;提供版本切换、保存并发布、流程属性设置入口。
  • 左侧组件面板:按「基础组件」「流程审批组件」分组展示可拖拽节点,拖到画布空白处或连线中间即可新增。
  • 画布区:可视化编排节点与连线。
  • 右侧属性面板(属性设置):选中节点后展示该节点的全部可配置属性,修改即保存到画布草稿。
  • 版本下拉框:查看、切换历史版本。

版本与发布​

审批流按版本管理:

  • 只有点击「保存并发布」才会生成新版本;
  • 新发起的审批使用最新发布版本;
  • 发布新版本不影响已发起的审批,历史审批仍按原版本继续执行;
  • 未发布的改动只存在于草稿,不会生效。

审批入口​

审批流可以通过以下方式发起:

  • 视图列表的列表行按钮(配置了发起审批的按钮);
  • 通过自定义接口在业务逻辑中发起。

审批过程中与结束后,可按配置回调自定义接口继续处理业务逻辑。

审批页面

为审批流选择「审批页面」后,审批待办通知中会附带该页面的链接,审批人点击可直接打开审批详情。

下一步​

数据模型与存储​

以下内容面向技术实现与知识库检索,说明审批流相关实体的类型、含义与存储格式。

审批流主对象 MetaWorkflow​

存储于数据表 system_metaworkflow。

属性名类型含义取值/存储值
_idstring(GUID)主键例:3f5a1c2d-...
AppIdstring所属应用应用 ID
MetaObjectIdstring所属对象实体对象 ID,列表按此字段过滤
Namestring名称,必填显示名称
Titlestring标题通知等场景展示的标题
Descriptionstring描述纯文本
MetaPageIdstring审批页面 ID关联的页面,可为空
Statusenum(PublishStatusEnum)发布状态0=UnPublish 未发布,1=Published 已发布
Versionstring已发布版本 ID指向 system_metaflowversion._id
Propertiesobject(MetaWorkflowProperties)全局属性JSON 序列化后存储
Customizedbool是否被自定义过true / false
CustomCreatedbool是否由用户自定义创建true / false

流程图版本 MetaFlowVersion​

每次发布生成一条记录,存储于 system_metaflowversion。

属性名类型含义取值/存储值
_idstring(GUID)版本主键
Scenariostring业务场景审批流固定为 MetaWorkflow
MainObjectIdstring主对象 ID指向 system_metaworkflow._id
LogicGraphicalstring(JSON)流程图 JSON见「流程图存储格式」

流程图存储格式​

LogicGraphical 为 JSON 字符串,采用 cells 数组:节点 shape 为 node,连线 shape 为 edge。

{
"cells": [
{
"shape": "node",
"id": "node-start",
"data": {
"meta": { "type": "ApproveStart", "Title": "发起审批", "SubTitle": "" }
}
},
{
"shape": "node",
"id": "node-approve-1",
"data": {
"meta": { "type": "ApproveNode", "Title": "部门审批", "PassCondition": "0" }
}
},
{
"shape": "edge",
"source": { "cell": "node-start" },
"target": { "cell": "node-approve-1" }
}
]
}

引擎解析时以 data.meta.type 作为节点类型 Type,以 data.meta 作为节点属性字典 Meta,以 data.meta.order 作为执行优先级 Order。

流程实例数据 WorkflowData​

每次发起审批生成一条实例,存储于 system_workflowdata。

属性名类型含义
BizDataIdstring关联的业务数据 ID
MetaObjectCodestring对象编码
WorkflowIdstring关联审批流 ID
WorkflowVersionIdstring关联流程版本 ID
LaunchUserIdstring发起人
Statusenum(ApprovalStatusEnum)审批状态
CurrentNodestring当前节点 ID
PendingApproverUserIdsstring[]当前节点未处理审批人 ID 数组
ParticipantUserIdsstring[]参与人 ID 数组
NodeItemsarray(WorkflowDataNode)节点明细列表

相关接口​

接口说明
POST /api/MetaWorkflow/GetList分页获取某对象下的审批流列表
POST /api/MetaWorkflow/Create新建审批流
POST /api/MetaWorkflow/Edit编辑审批流基本信息
POST /api/MetaWorkflow/Save保存审批流全局属性
GET /api/MetaWorkflow/GetWithVersions获取审批流及其全部版本
POST /api/MetaWorkflow/SaveAndPublish保存并发布流程图
POST /api/MetaWorkflow/Copy复制审批流
GET /api/MetaWorkflow/Get获取审批流详情