Skip to content

流程模型 ​

一句话:流程模型是一条审批流的「母版」——把基本信息、表单、流程图、更多设置四部分装配好,保存并发布出可被员工实际发起的版本;流程的新建、修改、发布、停用、版本回退全部在这一页完成。

功能在哪 ​

  • 菜单路径:工作流程 → 流程管理 → 流程模型
  • 地址栏路由:/bpm/manager/model
  • 主要权限:bpm:model:query / create / update / delete / export / import;发布与启停复用 update;历史版本页另需 bpm:process-definition:query

界面认识 ​

列表不是一张大平表:先按流程分类分成一个个面板(面板标题是分类名),面板内才是模型表格;面板标题右侧还有该分类自己的下拉菜单(重命名 / 删除该类)。

区域作用常用操作
工具条整页级动作「新建模型」「导入模型」;设置菜单里「新建分类」「分类排序」(跳流程分类页)
搜索框按流程名过滤「搜索流程」输入后回车
分类面板一个分类一个面板分类下拉:「重命名」「删除该类」
模型表格流程名 / 可见范围 / 流程类型 / 表单信息 / 最后发布 / 操作行内「修改」「复制」「发布」;「更多」里「历史」「导出」「报表」「停用|启用」「清理」「删除」

流程模型列表:按分类分组的面板,表内含流程名、可见范围、流程类型、表单信息、最后发布

两个一眼要会看的信号:

  • 被停用的模型,流程名旁挂**「已停用」**角标;
  • 「最后发布」列是最新版本的部署时间——空着代表从未发布,员工在审批中心看不到、也发起不了这条流程。

「更多」菜单六项最容易按错,先讲清楚再上手:

更多菜单展开:历史、导出、报表、停用、清理、删除

菜单项干什么可反悔吗
历史跳流程定义页,看这条流程发布过的全部版本只读,无反悔问题
导出把模型下载成 JSON 文件(可用「导入模型」再装回去)可反悔
报表跳按本流程过滤的流程实例报表只读,无反悔问题
停用|启用挂起/激活当前版本定义:停用后不能再发起新流程,在办实例不受影响随时可反悔
清理清空该模型下全部流程数据:在办实例逐条取消,历史实例与抄送记录删除不可逆,台账清零
删除删除模型本身并挂起其定义,列表里从此没有这条流程不可逆

「清理」和「删除」都不可逆,按之前想清楚

  • 清理清的是「台账」:在办实例被强制取消、历史实例和抄送记录全删,但模型和版本还在,之后发起的流程从空台账开始;
  • 删除删的是「母版」:模型从列表消失、定义被挂起,但历史实例数据不会跟着删——要连台账一起清,先「清理」再「删除」;
  • 这两个操作后端会校验身份:只有模型上设置的流程管理员(MANAGE 权限)能执行,仅有设计权限的人点了会报无权限。

常用操作 ​

新建模型:四步填完 ​

工具条「新建模型」进入向导页。顶部四个步骤块:基本信息 / 表单设计 / 流程设计 / 更多设置。步骤块可以直接点着跳,但跳转前会校验其余各步的必填项——哪里没填完会提示「请先完善当前步骤必填信息」且不跳,所以按顺序走最省心。

第一步 基本信息

第一步基本信息:流程标识、名称、分类、图标、描述、流程类型、可见性、谁可以发起、流程管理员

字段必填说明
流程标识是流程的唯一英文标识;创建后不可改(修改时置灰,悬停提示「流程标识不可修改!」)
流程名称是展示给所有人看的名字
流程分类是决定列表里归到哪个面板;只能选流程分类页里启用中的分类
流程图标否列表与发起入口显示的小图标
流程描述否给管理员看的一句话说明
流程类型是SIMPLE 设计器(卡片式可视化流程图,推荐)或 BPMN 设计器(专业 BPMN 画布);决定第三步画什么
是否可见是选「否」则员工在审批中心看不到这条流程(管理员仍可管理)
谁可以发起是全员 / 指定人员 / 指定部门,控制发起入口的可见范围
流程管理员是默认包含你自己;改、发、停、清理、删除的权限都认它,人员变动时记得补接班人

第二步 表单设计

第二步表单设计:表单类型三选一,下方表单预览实时渲染所选流程表单

  • 流程表单:从流程表单页挑一张现成表单;下方「表单预览」实时渲染所选表单,字段对不对当场能核对;
  • 业务表单:表单在自己业务系统里的场景——填「表单提交路由」「表单查看地址」两个路由,流程只负责审批、不负责收数据;
  • 在线表单:把表单设计里发布的表单直接当流程表单用——发起页渲染的就是它,数据照旧落在它绑定的业务表上,同时创建流程实例,「业务表 + 列表 + 权限 + 审批」不必再画一张流程表单。下拉只列已发布且主表合格的表单;不合格的灰着标「不可用」,悬停能看到具体原因(最常见的是主表缺 process_instance_id(字符串型、长度不小于 64)或 process_status(整数型:TINYINT / INT / LONG),补法与「为什么建表时不报错」见表单接入审批流第 3 步)。

第三步 流程设计(SIMPLE 设计器)

第三步 SIMPLE 设计器:发起人→部门审批→抄送财务→结束,节点之间有蓝色加号按钮

画布是一张自上而下的流程卡片:顶上是发起人、底下是结束,中间是已摆好的审批/抄送节点;节点之间的蓝色「+」按钮用来插入新节点,点开弹出节点菜单:审批人、办理人、抄送、条件分支、并行分支、包容分支、延迟器、路由分支、触发器、子流程。右上角工具条提供导出、导入、缩放、重置。

点节点卡片打开右侧配置抽屉。以审批节点为例:顶部是审批类型(人工审批 / 自动通过 / 自动拒绝),下面四个页签:

审批节点抽屉审批人页签:审批人设置 15 种方式、多人审批方式、审批人拒绝时

  • 审批人:这个节点谁来审。指定成员、指定角色、指定岗位、部门成员、部门负责人、连续多级部门负责人、发起人自选、审批人自选、发起人本人、用户组、表单内用户字段、流程表达式等 15 种方式;选定后再设「多人审批方式」(按顺序依次审批 / 会签 / 或签 / 随机挑选一人审批)与「审批人拒绝时」(终止流程 / 驳回到指定节点);
  • 操作按钮设置:审批时给审批人看哪几个按钮——通过 / 拒绝 / 转办 / 委派 / 加签 / 退回,逐个可改显示名称、可停用;比如本流程不允许转办,把开关关掉即可;

审批节点抽屉操作按钮设置页签:通过、拒绝、转办、委派、加签、退回六个按钮可改名与启用

  • 表单字段权限:每个表单字段在本节点是只读 / 可编辑 / 隐藏哪种状态;比如让审批节点能补填「请假原因」,就把它设为可编辑;

审批节点抽屉表单字段权限页签:请假人、请假时间、请假原因逐字段设只读、可编辑、隐藏

  • 监听器:配置 HTTP 回调监听器(节点开始/结束时调用一个 HTTP 接口)——注意它与「流程监听器」页面的记录无关,后者只被 BPMN 设计器消费。

两个设计器各有一套生态,配置别串门

  • SIMPLE 设计器的「监听器」页签是 HTTP 回调;流程监听器页与流程表达式页登记的记录,只有 BPMN 设计器会读;
  • SIMPLE 设计器审批人设置里同名的「流程表达式」选项是一个自由文本框(直接写表达式),不是从流程表达式页里挑选;
  • 所以:用 SIMPLE 设计器就在设计器内配监听与表达式,两个管理页可以完全无视;用 BPMN 设计器才需要去那两个页面登记。

第三步 流程设计(BPMN 设计器)

第一步选了 BPMN 设计器时,第三步换成专业 BPMN 画布:左侧画图、右侧节点属性面板;工具条提供打开文件、下载文件、浏览、模拟。本平台的流程监听器、流程表达式记录就是在右侧属性面板里被挑选消费的。

第三步 BPMN 设计器:bpmn-js 画布加右侧属性面板,工具条可打开文件、下载文件、浏览、模拟

第四步 更多设置

第四步更多设置:提交人权限、审批人权限、流程编码、自动去重、标题设置、摘要设置、四种通知、自定义打印模板

  • 提交人权限:是否允许撤销审批中的申请;
  • 审批人权限:是否允许审批人撤回正在审批节点的前一节点;
  • 流程编码:给实例编号加「前缀 + 中缀 + 后缀 + 位数」,台账里更好检索;
  • 自动去重:同一审批人在一条流程里重复出现时,重复节点是否自动通过(不自动通过 / 仅审批一次 / 仅针对连续审批节点);
  • 标题设置 / 摘要设置:实例标题与摘要默认走系统规则(标题展示流程名称、摘要展示表单前 3 个字段),也可自定义;
  • 四种通知:流程启动后、流程结束后、任务执行时、任务结束后的消息通知开关;
  • 自定义打印模板:审批单打印版式。

保存与发布

  • 「保 存」:存草稿,不产生新版本,对在跑的流程零影响;
  • 「发 布」:把当前草稿部署成新版本,员工之后发起的就是新流程。修改已有模型时向导右上角直接有「发 布」;新建的模型右上角只有「保 存」,保存后回列表点行内「发布」(或再进「修改」)完成首发;
  • 发布成功后列表「最后发布」刷新为当前时间,「历史」里多出一个版本。

改了不发布 = 没改

发布前的一切修改都只是草稿,员工发起的仍是旧版本;在办实例永远按它发起时的版本跑,新版本发布也不影响它们。

修改与复制 ​

  • 修改:进与新建同一个向导;注意流程标识置灰不可改;改完要重新发布才生效;
  • 复制:以当前模型为模板生成副本(名称加「副本」、标识加 _copy),适合派生一条相似流程再微调,比从零搭快得多。

导入模型:把导出的 JSON 装回来 ​

工具条「导入模型」打开弹窗:拖入「导出」得到的 JSON 模型文件,「流程标识」「流程名称」会从文件里带出且允许改——这意味着「标识起错了想改名」的正路是:导出 → 导入时填新标识 → 发布 → 删除旧模型。

导入模型弹窗:上传 JSON 模型文件,流程标识与名称可改

跨环境搬运后先核对关联再发布

导入会完整保留流程配置,并把新模型归属到当前租户。发布前先确认流程里引用的人员、部门、用户组、表单、子流程在当前租户都有效——否则发起或审批时会报找不到人/找不到表单。

版本管理:历史与恢复 ​

更多 →「历史」跳到流程定义页:每一行是一个已发布版本,列有定义编号、流程版本、部署时间、当前状态。

流程定义页:历史版本列表,行内有恢复与权限配置两个操作

  • 恢复:点某行「恢复」,向导会装载该历史版本的内容(右上角按钮变为「恢 复」),确认后把旧版本写回为模型当前草稿,提示「恢复成功,可点击【发布】按钮,进行发布模型」——「新版流程图改坏了,先回退」的标准补救路径;恢复后仍需发布才真正生效;

  • ★ 权限配置:本项目定制入口。它按 bpm:process:<流程标识> 去资源表找这条流程对应的资源,找到后打开资源授权面板,可以精细配置「谁对这条流程有哪些动作权限」。若提示:

    流程 … 在资源表中不存在(bpm:process:…),请先发布流程或等待迁移 Runner 同步

    说明该流程还没登记进资源表——先发布一次流程再回来点。

视角对照 ​

视角看到什么
超管 admin / 租户管理员 docadmin全部模型;可新建、修改、发布、启停、清理、删除、看历史
流程管理员(模型上指定的人)即使没有 bpm:model:* 菜单权限之外的管理权,也按「流程管理员」身份对自己负责的模型执行改/发/停/清理/删
普通员工 salesman01无此菜单;只能在审批中心看到「是否可见 = 是」且自己在「谁可以发起」范围内的流程

进阶 ​

  • 流程标识一旦创建不可修改,命名时预留业务语义(如 doc_leave_demo);真要改名走「导出 → 导入改标识 → 发布 → 删旧」;
  • 版本与实例的关系:实例永远绑定发起时的版本运行;新版本只影响之后发起的实例。回退 = 历史页「恢复」+ 重新发布;
  • 停用 vs 删除:临时不让发起用「停用」(可启用回来);彻底下线才用「删除」,且记得先「清理」台账;
  • 流程管理员要留接班人:清理/删除/发布都认它,管理员离职又没交接,这条流程就没人能删得动;
  • SIMPLE 设计器里节点卡片上的摘要文字(如「指定成员:文档租户管理员」)就是审批人设置的回显,巡检流程时不用逐个点开抽屉。

常见问题 ​

Q:保存成功了,为什么员工在审批中心看不到这条流程? A:三件事逐个查:① 是否发布过(列表「最后发布」为空 = 没发布);② 「是否可见」是否为「是」;③ 该员工是否在「谁可以发起」范围内。

Q:改了流程图,在办的审批会跟着变吗? A:不会。在办实例按发起时的版本跑;改动要发布成新版本后,只影响之后发起的实例。

Q:新版本发布后发现改错了,怎么回退? A:更多 →「历史」→ 找到上一个正常版本点「恢复」→ 回列表「发布」。恢复只是把旧版写回草稿,发布后才生效。

Q:「清理」和「删除」到底选哪个? A:想保留流程、只清空跑出来的数据(比如演示环境重置)用「清理」;流程彻底下线用「删除」,且要连数据一起清就先清理再删除。两者都不可逆。

Q:流程监听器页登记了监听器,为什么流程没反应? A:SIMPLE 设计器不读流程监听器页的记录(它只被 BPMN 设计器消费)。SIMPLE 流程要回调接口,请在节点抽屉的「监听器」页签配 HTTP 回调。详见流程监听器。

Q:向导里点步骤块为什么不跳? A:跳步前会校验其余各步必填项,提示「请先完善当前步骤必填信息」就是还有没填完的地方;回对应步骤补齐再跳。

相关页面 ​

  • 流程表单:第二步「流程表单」选项的表单来源;
  • 流程分类:列表面板的分组依据,新建分类/分类排序也在那;
  • 用户分组:审批人设置里「用户组」选项的名单来源;
  • 流程监听器 / 流程表达式:仅 BPMN 设计器消费的两类登记;
  • 流程实例:发布后跑出来的实例台账,管理端视角;
  • 流程任务:实例拆出的任务台账,改派/委派/加签在这管;
  • 表单接入审批流:把「建表单 → 装模型 → 发布 → 发起 → 审批」端到端串起来的场景教程。