Skip to content

我的流程 PRD

文档信息

项目内容
产品名称PMForge - 我的流程
文档版本v2.0
创建日期2026-09-19
最后更新2026-09-24
文档状态评审中
优先级P0

一、功能概述

1.1 功能定位

如果说「流程管理」是管理员视角的交通指挥中心,那「我的流程」就是每位员工手中的导航仪——它告诉用户"路该怎么走、走到哪了、还能怎么加速"。

我的流程是 PMForge 工作流模块面向全体普通用户的统一入口,承载从"发起申请"到"审批完成"的完整生命周期。它包含六个核心子功能:流程发起(选流程、填表单、提交)、我的流程(查看进度、撤销、催办)、流程详情(流程图可视化 + 审批时间线)、待我审批(处理审批任务)、我已审批(回顾历史记录)、抄送给我(查阅同步信息)。

一句话定位:让每个员工都能轻松发起申请、实时掌握进度、高效完成审批。

1.2 目标用户

用户类型典型角色使用场景核心诉求
普通员工入职半年的研发工程师小李请假、报销、领用办公用品等日常申请表单好填、进度能看、被驳回能改
审批人部门经理王经理(日均审批 15 条)处理下属提交的各种审批请求信息一目了然、操作快、支持转办/委派
部门负责人技术总监老张了解部门流程整体情况,催办卡住的流程数据直观、异常能感知
抄送接收人HR 小陈(被抄送转正流程)查阅需要知晓的流程信息及时收到、标记已读、不遗漏

1.3 业务价值

  • 降低操作门槛:统一的流程发起入口 + 分类导航,新员工也能 30 秒内找到并发起需要的流程
  • 提升审批透明度:流程图实时高亮 + 审批时间线,发起人随时知道"走到哪了、卡在谁那"
  • 加速流程流转:催办通知 + 转办/委派机制,避免流程因人员出差、忙碌等原因停滞
  • 灵活应对复杂场景:加签(请专家帮忙看)、减签(去掉不必要的环节)、退回(退回某个节点补充材料)等操作覆盖真实审批中的各种意外情况
  • 信息同步零遗漏:抄送机制确保相关方及时知晓流程动态,避免信息孤岛
  • 完整审计追溯:每一步审批操作都有记录,满足合规审计要求

1.4 功能范围

子模块功能项说明优先级
流程发起流程分类浏览按分类(人事/财务/行政/项目等)查看可发起的流程P0
流程发起填写业务表单渲染流程关联的动态表单,用户填写后提交P0
流程发起自选审批人部分流程允许发起人指定审批人(由流程设计时配置)P1
流程发起提交申请校验表单 → 创建流程实例 → 匹配审批人 → 发送通知P0
我的流程流程列表查看自己发起的所有流程,按状态分 Tab 展示P0
我的流程状态筛选全部 / 进行中 / 已完成 / 已取消 / 已驳回P0
我的流程搜索按流程名称模糊搜索、按流程编号精确搜索P1
流程详情流程图可视化BPMN 流程图渲染,已完成节点绿色、当前节点蓝色闪烁、未到灰色P0
流程详情审批时间线时间轴展示每个节点的处理人、动作、意见、耗时P0
流程详情撤销流程发起人撤销进行中的流程(需二次确认)P1
流程详情催办流程向当前审批人发送催办通知(10 分钟内限频)P1
流程详情重新发起已驳回的流程一键复制表单数据重新提交P1
待我审批待办列表展示当前用户待处理的审批任务P0
待我审批审批通过同意申请,流程流转到下一节点P0
待我审批审批驳回驳回申请(驳回到发起人 / 上一节点 / 指定节点)P0
待我审批转办将任务完全转交给其他人处理P0
待我审批委派临时委派给他人,处理完后返回给自己确认P1
待我审批退回将流程退回到之前某个已完成的节点P1
待我审批加签前加签(别人先审)/ 后加签(自己审完后别人再审)P1
待我审批减签移除因加签产生的额外审批任务P1
我已审批已办列表查看自己已处理的任务历史P1
我已审批审批详情查看审批时的意见和附件P1
抄送给我抄送列表查看抄送给自己的流程记录P1
抄送给我标记已读单条 / 批量标记抄送为已读P1

二、用户场景

2.1 用户角色

角色描述典型操作
流程发起人需要发起业务审批的普通员工选流程 → 填表单 → 提交 → 跟踪进度 → 必要时撤销或催办
当前审批人当前节点待审批的用户查看表单 → 审阅附件 → 通过/驳回/转办/委派/加签
已审批人已完成审批任务的用户查看自己的审批记录、了解后续流程进展
抄送接收人被抄送流程信息的用户查阅抄送内容 → 标记已读

2.2 使用场景

场景 1:员工小李发起请假申请

用户:研发工程师小李(普通员工) 背景:小李下周需要请 3 天年假处理个人事务

操作流程

  1. 小李登录系统,点击左侧菜单「我的流程」
  2. 页面展示流程分类卡片:人事流程、财务流程、行政流程、项目流程……
  3. 小李点击「人事流程」分类,看到该分类下的流程列表:请假申请、加班申请、转正申请……
  4. 小李点击「请假申请」,系统展示请假表单
  5. 表单包含:请假类型(下拉选择:年假/事假/病假/调休)、开始时间、结束时间、请假天数(自动计算)、请假事由(文本框)
  6. 小李填写:年假、2026-09-22 ~ 2026-09-24、3天、"个人事务需处理"
  7. 系统根据流程配置自动匹配审批人:直属领导王经理 → 部门总监老张 → HR 备案
  8. 小李点击「提交申请」
  9. 系统校验表单 → 创建流程实例 → 生成待办任务给王经理 → 发送通知
  10. 页面提示"提交成功",自动跳转到「我发起的」列表,小李能看到这条请假流程,状态为"进行中",当前节点"直属领导审批"

期望:表单简洁清晰,有字段提示;提交后能立即看到流程进度。

异常场景

  • 如果小李未填"请假事由",提交时表单校验不通过,提示"请填写请假事由"
  • 如果该流程配置了"发起人自选审批人",提交前会弹出人员选择器让小李指定审批人

场景 2:王经理审批报销申请

用户:部门经理王经理(审批人) 背景:王经理早上打开系统,看到待办通知有 3 条新审批

操作流程

  1. 王经理点击顶部导航的"待办"图标,看到数字角标"3"
  2. 进入「待我审批」页面,列表展示 3 条待办任务,按到达时间排序(最早的排最前面)
  3. 第一条:小李的报销申请,金额 2,580 元,到达时间 09:15,停留 2 小时
  4. 王经理点击这条任务,进入审批页面
  5. 页面分三个区域:
    • 上方:报销表单(只读),显示报销明细、金额、附件清单
    • 中间:流程图(高亮当前节点"部门经理审批")
    • 下方:审批记录时间线(已通过的节点)
  6. 王经理查看报销明细和发票附件,确认无误
  7. 在底部审批区域:填写审批意见"同意"→ 点击「通过」按钮
  8. 系统提示"审批成功",流程流转到下一节点(财务审核),财务人员收到待办通知

期望:审批信息一目了然、操作快捷、支持直接查看附件。

异常场景

  • 如果王经理觉得金额有问题,点击「驳回」→ 选择"驳回到发起人" → 填写"请补充发票明细" → 小李收到驳回通知
  • 如果王经理正在出差,点击「转办」→ 选择副经理赵经理 → 填写"出差中,转交赵经理审批" → 赵经理收到待办

场景 3:小李催办卡住的流程

用户:研发工程师小李(流程发起人) 背景:小李 3 天前提交的采购申请,至今还卡在"技术总监审批"节点

操作流程

  1. 小李进入「我发起的」列表,看到这条采购申请状态为"进行中"
  2. 当前节点显示"技术总监审批",当前审批人"老张",已停留"3 天 2 小时"(红色字体,表示超时)
  3. 小李点击「催办」按钮
  4. 系统弹出确认框:"确认向老张发送催办通知?"
  5. 小李点击"确认"
  6. 老张收到一条催办通知:"小李 提交的采购申请已等待 3 天,请尽快处理"
  7. 系统记录催办时间,10 分钟内小李不能对同一流程再次催办

期望:催办操作简单直接,催办后审批人能收到提醒。

为什么限制催办频率:避免审批人被频繁催办打扰,10 分钟是产品体验和技术实现的平衡点。


场景 4:王经理加签请专家审核

用户:部门经理王经理(审批人) 背景:王经理在审批一项技术方案采购时,需要技术专家小刘先给出专业意见

操作流程

  1. 王经理打开待办任务(技术方案采购审批)
  2. 点击「加签」按钮,弹出加签对话框
  3. 选择加签方式:「前加签」(让小刘先审核,审核完再回到王经理)
  4. 选择加签人员:搜索并选择"小刘"
  5. 填写加签说明:"请技术专家小刘评估方案可行性"
  6. 点击「确认加签」
  7. 系统生成一个前加签任务给小刘,小刘收到待办通知
  8. 小刘审批完成后,任务回到王经理的待办列表
  9. 王经理参考小刘的意见,做出最终审批决定

前加签 vs 后加签

  • 前加签:别人先审 → 审完回来给我(适合"我需要先听听专家意见")
  • 后加签:我先审 → 审完给别人再审(适合"我同意了,但还需要某人确认")

场景 5:小李撤销填错的申请

用户:研发工程师小李(流程发起人) 背景:小李刚提交请假申请后发现日期选错了

操作流程

  1. 小李进入「我发起的」列表,找到刚提交的请假申请
  2. 点击「撤销」按钮
  3. 系统弹出确认框:"确认撤销该流程?撤销后所有审批人将收到撤销通知。"
  4. 小李填写撤销原因:"日期选错,需要重新提交"
  5. 点击「确认撤销」
  6. 流程状态变为"已取消",所有待办任务自动关闭
  7. 王经理收到通知:"小李 已撤销请假申请,原因:日期选错"
  8. 小李重新发起请假申请,填写正确的日期

期望:撤销操作有确认提示防误操作,撤销后各方收到通知。

注意:只有"进行中"的流程才能撤销。如果流程已经审批完成或被驳回,就不能撤销了。


场景 6:HR 小陈查看抄送流程

用户:HR 小陈(抄送接收人) 背景:研发部有员工转正流程,流程设计中配置了"转正通过后自动抄送 HR 备案"

操作流程

  1. 小陈收到系统通知:"您有一条新的抄送记录"
  2. 进入「抄送给我」页面,看到一条新记录:
    • 流程名称:转正申请
    • 发起人:小李
    • 抄送节点:转正通过
    • 抄送人:王经理(审批时手动抄送)
    • 抄送时间:2026-09-18 14:30
    • 状态:未读(红点标记)
  3. 小陈点击这条记录,查看流程详情(只读模式,不能审批)
  4. 系统自动将这条记录标记为"已读"
  5. 小陈了解到小李已转正通过,无需进一步操作

期望:抄送列表清晰、未读有明显标记、详情可查看但不可操作。


场景 7:王经理委派任务给出差期间的副经理

用户:部门经理王经理(审批人) 背景:王经理下周出差 5 天,期间有多条审批需要处理

操作流程

  1. 王经理在待办列表中看到一条报销审批
  2. 点击「委派」按钮
  3. 选择委派目标人:副经理赵经理
  4. 填写委派说明:"下周出差,请赵经理代为审批"
  5. 设置委派期限:5 天
  6. 点击「确认委派」
  7. 赵经理收到待办任务,任务标注"委派任务"
  8. 赵经理审阅后点击「通过」
  9. 任务返回给王经理确认(王经理收到通知:"赵经理已完成您委派的报销审批,请确认")
  10. 王经理确认后,流程流转到下一节点

委派 vs 转办

  • 转办 = "这个任务给你了,我不再管"(完全转移)
  • 委派 = "帮我处理一下,处理完还得我确认"(临时转移,最终决定权在自己)

2.3 用户故事与验收标准

编号用户故事验收标准优先级
US-01作为普通员工,我希望能按分类浏览并发起流程① 流程分类页面 1 秒内加载完成 ② 每个分类下展示流程名称和描述 ③ 点击流程后 2 秒内渲染出表单P0
US-02作为普通员工,我希望能查看我发起的流程列表及状态① 列表展示流程名称、当前节点、状态、发起时间 ② Tab 切换各状态时数据准确 ③ 状态统计数字与实际列表条数一致P0
US-03作为普通员工,我希望能查看流程图和审批记录① 流程图 2 秒内渲染完成 ② 已完成节点绿色、当前节点蓝色闪烁 ③ 时间线按时间顺序展示每条审批记录P0
US-04作为普通员工,我希望能撤销进行中的流程① 仅"进行中"状态显示撤销按钮 ② 撤销需二次确认 ③ 撤销后审批人收到通知 ④ 流程状态变为"已取消"P1
US-05作为普通员工,我希望能催办超时流程① 仅"进行中"状态可催办 ② 催办后审批人 5 秒内收到通知 ③ 同一流程 10 分钟内不能重复催办P1
US-06作为审批人,我希望能查看待办任务列表① 列表按到达时间升序排列 ② 超时任务红色标记 ③ 展示发起人、金额/摘要等关键信息P0
US-07作为审批人,我希望能执行通过/驳回/转办/委派操作① 通过后面自动流转到下一节点 ② 驳回支持 3 种方式 ③ 转办后原审批人不再看到该任务 ④ 委派后任务最终返回原审批人P0
US-08作为审批人,我希望能加签或减签① 前加签后加签人先审,审完回到自己 ② 后加签自己审完后加签人再审 ③ 减签只能减加签产生的任务P1
US-09作为审批人,我希望能查看已办任务列表① 列表按审批完成时间倒序 ② 展示审批动作和意见 ③ 支持按动作类型筛选P1
US-10作为抄送接收人,我希望能查看抄送列表并标记已读① 未读记录红点标记 ② 点击详情自动标记已读 ③ 支持批量标记 ④ 抄送详情为只读模式P1

三、功能需求

3.1 流程发起

3.1.1 功能描述

用户通过流程分类浏览和选择,填写业务表单后提交申请,启动流程实例。系统支持流程分类管理、动态表单渲染、审批人自动匹配及发起人自选审批人等功能。

给开发同学的说明:流程分类和流程定义的数据来自「流程设计」模块(03-01),本模块只负责"消费"这些配置,渲染表单并创建流程实例。

3.1.2 页面原型

流程发起页面(分类选择)流程发起分类选择

流程发起页面(表单填写)流程发起表单填写

3.1.3 操作流程

1. 用户进入「我的流程」页面
2. 页面展示流程分类卡片列表(如:人事流程、财务流程、行政流程、项目流程等)
3. 用户点击某个分类,查看该分类下的所有流程
4. 用户选择需要发起的流程类型
5. 系统渲染该流程关联的业务表单(动态表单,字段由流程设计时配置)
6. 用户填写表单内容
7. 如流程配置了"发起人自选审批人",系统弹出审批人选择器
8. 用户选择审批人(如需要)
9. 用户点击「提交申请」
10. 系统校验表单数据(字段必填、格式、范围等)
11. 系统创建流程实例并启动
12. 系统根据流程定义匹配审批人,生成第一个待办任务
13. 系统向审批人发送待办通知(站内消息)
14. 提示用户"提交成功",跳转到「我发起的」列表

3.1.4 业务规则

规则编号规则描述设计原因
R-01仅展示当前租户下已启用且用户有权限发起的流程不同部门/角色看到的流程不同,避免信息干扰
R-02流程按分类展示,分类排序由管理员在「流程分类管理」中配置常用分类排前面,减少用户查找时间
R-03表单字段校验规则由流程设计时定义,提交前必须全部通过保证数据完整性,减少因数据不全导致的审批退回
R-04审批人匹配优先级:发起人自选 > 流程变量指定 > 角色匹配 > 部门领导 > 岗位匹配灵活性与自动化兼顾:需要自定义时能自定义,否则系统自动匹配
R-05发起人自选审批人功能由流程设计时配置开关控制不是所有流程都需要自选,标准流程应自动匹配
R-06同一流程在同一用户下允许同时存在多个进行中的实例(可由流程配置限制)如请假流程可限制"同时只能有一个进行中的请假申请"
R-07提交成功后流程状态变为「进行中」
R-08表单数据以 JSON 格式存储,关联到流程实例JSON 灵活适配不同流程的表单结构差异

3.1.5 接口列表

接口名称请求方式接口路径说明
获取流程分类列表GET/app-api/bpm/process-category/list获取已启用的流程分类列表
获取流程列表(按分类)GET/app-api/bpm/process/list-by-category按分类获取可发起的流程列表
获取流程表单定义GET/app-api/bpm/process/get-form获取流程关联的业务表单结构
获取流程审批人配置GET/app-api/bpm/process/get-assignee-config获取流程是否需要发起人自选审批人
发起流程POST/app-api/bpm/process-instance/create提交表单数据并发起流程实例
校验流程发起条件POST/app-api/bpm/process-instance/check校验用户是否有权限发起该流程

3.1.6 数据模型

发起流程请求参数:

字段名类型必填说明
processDefinitionIdString流程定义ID
processDefinitionKeyString流程定义标识
variablesMap<String, Object>流程变量(用于条件分支判断)
formDataJSON业务表单数据
assigneesList<Assignee>发起人自选审批人列表
remarkString申请备注

发起人自选审批人对象(Assignee):

字段名类型必填说明
taskDefinitionKeyString任务节点定义Key(对应流程设计中的节点标识)
assigneeTypeInteger审批人类型(1-用户 2-角色 3-部门 4-岗位)
assigneeIdLong审批人ID

3.2 我的流程列表

3.2.1 功能描述

展示当前用户发起的所有流程实例,支持按状态筛选和关键字搜索,使用户能快速定位和跟踪自己的流程申请。

3.2.2 页面原型

我发起的列表页面我发起的列表

3.2.3 操作流程

1. 用户进入「我发起的」页面
2. 默认展示"全部"Tab,显示所有流程列表(分页)
3. 列表展示字段:流程名称、状态标签、当前审批节点、发起人、发起时间、操作按钮
4. 用户可通过顶部 Tab 切换状态筛选:全部 / 进行中 / 已完成 / 已取消 / 已驳回
5. 每个 Tab 上显示对应状态的数量统计
6. 用户可在搜索框输入关键字搜索(支持流程名称模糊匹配、流程编号精确匹配)
7. 用户可点击某条流程进入流程详情页
8. 操作按钮根据状态动态展示:
   - 进行中:查看详情、撤销、催办
   - 已驳回:查看详情、重新发起
   - 已完成/已取消:查看详情

3.2.4 业务规则

规则编号规则描述设计原因
R-01仅展示当前用户发起的流程实例数据隔离,用户只看自己的
R-02流程状态:进行中(0)、已完成(1)、已取消(2)、已驳回(3)四种状态覆盖所有流程生命周期
R-03列表按发起时间倒序排列最新发起的排最前面,方便快速查看
R-04状态为「进行中」的流程可执行撤销和催办操作只有还在流转中的流程才有撤销和催办的意义
R-05状态为「已驳回」的流程支持重新发起(自动复制表单数据)减少用户重复填写工作量
R-06搜索支持流程名称模糊匹配和流程编号精确匹配模糊匹配方便记不清编号的用户,精确匹配方便知道编号的用户
R-07默认每页展示 10 条,支持 10/20/50 条切换兼顾加载速度和信息密度
R-08「已取消」状态包含用户主动撤销和管理员终止两种情况用户视角不区分取消来源,统一展示

3.2.5 流程状态说明

状态标识颜色标签可执行操作说明
进行中RUNNING(0)🔵 蓝色查看详情、撤销、催办流程实例正在审批流转中
已完成COMPLETED(1)🟢 绿色查看详情流程已审批通过并完成
已取消CANCELLED(2)⚪ 灰色查看详情发起人撤销或管理员终止
已驳回REJECTED(3)🔴 红色查看详情、重新发起流程被审批人驳回至发起人

3.2.6 接口列表

接口名称请求方式接口路径说明
获取我发起的流程分页GET/app-api/bpm/process-instance/my-page分页查询我发起的流程列表
获取流程状态统计GET/app-api/bpm/process-instance/my-status-count获取各状态下的流程数量
搜索我发起的流程GET/app-api/bpm/process-instance/my-search按关键字搜索我发起的流程

请求参数(分页查询):

参数名类型必填说明
statusInteger流程状态(0-进行中 1-已完成 2-已取消 3-已驳回)
processNameString流程名称(模糊匹配)
processDefinitionKeyString流程定义标识
startTimeDateTime[]发起时间范围
pageNoInteger页码(默认1)
pageSizeInteger每页条数(默认10)

返回结果(分页列表项):

字段名类型说明
idLong流程实例ID
processNameString流程名称
processDefinitionKeyString流程定义标识
categoryString流程分类名称
statusInteger流程状态
currentNodeNameString当前审批节点名称
currentAssigneesList<String>当前审批人名称列表
formDataJSON表单摘要数据(取前几个关键字段)
startTimeDateTime发起时间
endTimeDateTime结束时间(进行中为空)
durationLong耗时(毫秒,进行中为当前时间-发起时间)
canCancelBoolean是否可撤销
canUrgeBoolean是否可催办

3.3 流程详情

3.3.1 功能描述

展示单个流程实例的完整信息,包括流程图可视化(高亮当前节点和已走过路径)、审批记录时间线、流程表单数据。支持发起人在流程进行中执行撤销和催办操作。

3.3.2 页面原型

流程详情页面流程详情页

3.3.3 操作流程

1. 用户在流程列表中点击某条流程
2. 进入流程详情页
3. 页面顶部展示流程基本信息(流程名称、状态标签、发起人、发起时间)
4. 页面中部展示流程图:
   - 已完成节点:绿色 ✅ + 审批人姓名 + 通过时间
   - 当前节点:蓝色 🔵 + 脉冲动画 + 当前审批人 + 已等待时长
   - 未到达节点:灰色 ○
   - 驳回路径:红色虚线
5. 页面下方展示审批记录时间线(时间轴形式,从上到下按时间顺序)
6. 页面底部展示流程表单数据(只读模式)
7. 底部操作栏根据状态展示按钮:
   - 进行中:「撤销」「催办」
   - 已驳回:「重新发起」
   - 已完成/已取消:无操作按钮

3.3.4 业务规则

规则编号规则描述设计原因
R-01流程图使用 BPMN 2.0 标准渲染,支持缩放和拖拽标准渲染保证准确性,缩放拖拽适配复杂大流程图
R-02已完成节点绿色对勾,当前节点蓝色脉冲动画,未到达节点灰色颜色编码直观传达流程进度
R-03驳回路径用红色虚线标识红色醒目,虚线表示"非正常路径"
R-04审批记录时间线按时间顺序从上到下排列符合用户从上往下阅读的习惯
R-05每条审批记录包含:审批人、头像、部门、审批动作、审批意见、审批时间、耗时完整记录便于追溯
R-06仅流程发起人可执行撤销操作权限控制,防止他人误撤
R-07撤销操作需二次确认(弹窗提示)防误操作,撤销是不可逆的
R-08催办操作限频:同一流程同一审批人 10 分钟内只能催办一次防止审批人被频繁打扰
R-09撤销后流程状态变为「已取消」,所有待办任务自动关闭确保流程彻底终止,不留残余任务
R-10重新发起时自动复制上次表单数据,用户可修改后重新提交减少重复填写,用户只需修改有问题的字段
R-11流程图中的审批节点支持点击查看该节点的审批人和审批结果方便发起人了解每个节点的详情

3.3.5 接口列表

接口名称请求方式接口路径说明
获取流程实例详情GET/app-api/bpm/process-instance/get获取流程实例基本信息
获取流程图GET/app-api/bpm/process-instance/get-process-image获取流程定义BPMN图及高亮信息
获取审批记录时间线GET/app-api/bpm/process-instance/get-approval-timeline获取审批记录时间线数据
获取流程表单数据GET/app-api/bpm/process-instance/get-form-data获取流程业务表单数据
撤销流程PUT/app-api/bpm/process-instance/cancel撤销进行中的流程实例
催办流程POST/app-api/bpm/process-instance/urge向当前审批人发送催办通知

撤销流程请求参数:

参数名类型必填说明
processInstanceIdLong流程实例ID
reasonString撤销原因

催办流程请求参数:

参数名类型必填说明
processInstanceIdLong流程实例ID
urgeMessageString催办消息(默认:"请尽快处理")

审批记录时间线返回结果:

字段名类型说明
taskIdLong任务ID
taskNameString任务节点名称
assigneeIdLong审批人ID
assigneeNameString审批人姓名
assigneeAvatarString审批人头像URL
assigneeDeptNameString审批人所属部门
actionString审批动作(approve/reject/transfer/delegate/return/empty)
actionLabelString审批动作中文标签(通过/驳回/转办/委派/退回/自动流转)
commentString审批意见
attachmentsList<Attachment>审批附件列表
startTimeDateTime任务开始时间
endTimeDateTime任务完成时间
durationLong审批耗时(毫秒)
taskSequenceInteger任务序号(用于排序)

3.4 待我审批

3.4.1 功能描述

展示当前用户待处理的审批任务列表,支持任务详情查看和多种审批操作(通过、驳回、转办、委派、退回、加签、减签)。这是审批人处理日常审批工作的核心功能页面。

与「待办管理」的区别:本模块是普通审批人视角(/app-api/),只看自己的待办;「待办管理」(03-04)是管理员视角(/api/),能看全局任务并做干预操作。

3.4.2 页面原型

待我审批列表页面待我审批列表

审批操作页面审批操作页面

3.4.3 操作流程

查看待办列表:

1. 用户进入「待我审批」页面
2. 展示当前用户所有待处理的审批任务(分页)
3. 列表展示:任务名称、流程名称、发起人、发起部门、到达时间、停留时长
4. 支持按流程类型、发起人、时间范围筛选
5. 支持关键字搜索(流程名称、发起人姓名)
6. 超时任务红色标记 + ⚠️ 图标
7. 点击某条任务进入任务详情/审批页面

审批操作:

1. 用户点击某条待办任务进入审批页面
2. 页面展示任务详情(表单数据只读、流程图、审批记录)
3. 用户审阅表单信息和附件
4. 用户选择审批操作:

   a. 通过:填写审批意见(可选)→ 点击「通过」→ 流程流转到下一节点
   b. 驳回:
      - 选择驳回方式:驳回到发起人 / 驳回到上一节点 / 驳回到指定节点
      - 填写驳回原因(必填)
      - 点击「确认驳回」→ 流程退回
   c. 转办:
      - 选择转办目标人(人员选择器)
      - 填写转办说明
      - 点击「确认转办」→ 任务完全转移给目标人
   d. 委派:
      - 选择委派目标人
      - 填写委派说明
      - 设置委派期限天数(可选)
      - 点击「确认委派」→ 任务先由被委派人处理,处理完后返回给自己
   e. 退回:
      - 选择退回到哪个历史节点
      - 填写退回原因
      - 点击「确认退回」→ 流程退回到指定节点

5. 加签操作:
   a. 前加签:选择加签人员 → 填写说明 → 加签人员先审批,审完回到自己
   b. 后加签:选择加签人员 → 填写说明 → 自己审完后加签人员再审

6. 减签操作:
   a. 从当前任务链中选择需要减掉的加签任务
   b. 确认减签 → 被减签的任务自动关闭

7. 填写审批意见和上传附件(可选)
8. 提交审批操作

3.4.4 业务规则

规则编号规则描述设计原因
R-01仅展示当前用户作为审批人的待处理任务数据隔离
R-02列表按任务到达时间升序排列(最早的排最前面)先到先处理,避免早期任务被遗忘
R-03停留时长超过配置阈值(默认24小时)的任务标红提醒引起审批人注意,加速处理
R-04通过操作后流程自动流转到下一节点,下一节点审批人收到待办通知自动化流转,无需人工干预
R-05驳回支持三种方式:回到发起人 / 回到上一节点 / 回到指定节点不同业务场景需要不同的驳回粒度
R-06转办后原审批人不再参与该任务,任务完全转移给目标人转办 = 彻底交接
R-07委派后任务先由被委派人处理,处理完成后任务返回给原审批人确认委派 = 临时帮忙,决定权在自己
R-08前加签:加签人员在当前审批人之前审批适合"我需要先听专家意见"的场景
R-09后加签:加签人员在当前审批人之后审批适合"我同意了但还需要某人确认"的场景
R-10减签只能减掉加签产生的任务,不能减掉流程定义中的原始任务保护流程设计的完整性
R-11退回操作可将流程退回到之前任意已完成的节点灵活补充材料或修正信息
R-12审批意见最大长度 500 字符足够表达意见,避免过长无意义内容
R-13审批附件最多上传 5 个,单个文件不超过 10MB平衡存储成本和实际需求
R-14审批操作提交后不可撤回保证审批严肃性,如需修改联系管理员
R-15多人会签任务需所有审批人全部通过才能流转到下一节点会签 = 所有人都同意
R-16多人或签任务任一审批人通过即可流转到下一节点或签 = 有人同意就行

3.4.5 审批操作速查表

操作标识通俗解释影响范围
通过approve"我同意,往下走"流程流转到下一节点
驳回reject"不行,退回去"流程退回到发起人/上一节点/指定节点
转办transfer"这个不归我管,交给XX"当前任务完全转移给目标人
委派delegate"帮我看看,看完还得我确认"任务临时转移,处理后返回
退回return"回到上一步补充材料"流程退回到指定历史节点
前加签before-add-sign"我先问问XX的意见"增加前置审批任务
后加签after-add-sign"我同意了,但还需要XX确认"增加后置审批任务
减签subtract-sign"不用XX审了,去掉这个环节"关闭指定加签任务

3.4.6 接口列表

接口名称请求方式接口路径说明
获取待办任务分页GET/app-api/bpm/task/todo-page分页查询待办任务列表
获取待办任务统计GET/app-api/bpm/task/todo-count获取待办任务数量
获取任务详情GET/app-api/bpm/task/get获取任务详情信息
审批通过PUT/app-api/bpm/task/approve审批通过操作
审批驳回PUT/app-api/bpm/task/reject审批驳回操作
转办任务PUT/app-api/bpm/task/transfer转办任务操作
委派任务PUT/app-api/bpm/task/delegate委派任务操作
退回任务PUT/app-api/bpm/task/return退回任务操作
前加签POST/app-api/bpm/task/before-add-sign前加签操作
后加签POST/app-api/bpm/task/after-add-sign后加签操作
减签DELETE/app-api/bpm/task/subtract-sign减签操作
获取退回节点列表GET/app-api/bpm/task/return-list获取可退回的历史节点列表
获取候选人列表GET/app-api/bpm/task/candidate-list获取可转办/委派/加签的候选人列表

待办任务分页请求参数:

参数名类型必填说明
processNameString流程名称(模糊匹配)
processDefinitionKeyString流程定义标识
originatorUserIdLong发起人用户ID
categoryString流程分类
createTimeDateTime[]任务到达时间范围
pageNoInteger页码(默认1)
pageSizeInteger每页条数(默认10)

待办任务分页返回结果:

字段名类型说明
taskIdString任务ID
taskNameString任务名称
processInstanceIdLong流程实例ID
processNameString流程名称
processDefinitionKeyString流程定义标识
categoryString流程分类
originatorUserIdLong发起人ID
originatorNameString发起人姓名
originatorDeptNameString发起人部门
formDataJSON表单摘要数据
createTimeDateTime任务到达时间
durationLong停留时长(毫秒)
isTimeoutBoolean是否超时
suspensionInteger是否挂起(0-正常 1-挂起)

审批通过请求参数:

参数名类型必填说明
taskIdString任务ID
commentString审批意见
attachmentIdsList<Long>审批附件ID列表
variablesMap<String, Object>流程变量
approveBoolean是否通过(true)

驳回请求参数:

参数名类型必填说明
taskIdString任务ID
commentString驳回原因
rejectTypeInteger驳回类型(1-驳回到发起人 2-驳回到上一节点 3-驳回到指定节点)
targetActivityIdString驳回到指定节点ID(rejectType=3时必填)

转办请求参数:

参数名类型必填说明
taskIdString任务ID
targetUserIdLong目标用户ID
commentString转办说明

委派请求参数:

参数名类型必填说明
taskIdString任务ID
targetUserIdLong目标用户ID
commentString委派说明
delegateDaysInteger委派期限天数

加签请求参数:

参数名类型必填说明
taskIdString任务ID
userIdsList<Long>加签用户ID列表
commentString加签说明
signTypeInteger加签类型(1-前加签 2-后加签)
approveTypeInteger加签审批方式(1-会签 2-或签)

减签请求参数:

参数名类型必填说明
taskIdString要减签的任务ID
commentString减签说明

3.5 我已审批

3.5.1 功能描述

展示当前用户已经处理过的审批任务列表,支持查看审批详情和对应的流程信息。用户可以回顾自己的审批历史。

3.5.2 页面原型

我已审批列表页面我已审批列表

3.5.3 操作流程

1. 用户进入「我已审批」页面
2. 展示当前用户已处理的所有审批任务(分页)
3. 列表展示:任务名称、流程名称、发起人、审批动作标签、审批意见摘要、审批时间
4. 支持按流程类型、审批动作(通过/驳回/转办/委派/退回)、时间范围筛选
5. 用户点击某条记录可查看完整审批详情(包括当时的意见和附件)

3.5.4 业务规则

规则编号规则描述
R-01仅展示当前用户已处理的任务
R-02列表按审批完成时间倒序排列
R-03支持按审批动作类型筛选(通过/驳回/转办/委派/退回)
R-04已审批记录为只读,不可进行任何操作
R-05点击可查看审批时的意见和附件
R-06支持按流程名称和发起人进行关键字搜索

3.5.5 接口列表

接口名称请求方式接口路径说明
获取已办任务分页GET/app-api/bpm/task/done-page分页查询已办任务列表
获取已办任务详情GET/app-api/bpm/task/done-detail获取已办任务详细信息

已办任务分页请求参数:

参数名类型必填说明
processNameString流程名称(模糊匹配)
processDefinitionKeyString流程定义标识
actionString审批动作(approve/reject/transfer/delegate/return)
createTimeDateTime[]审批时间范围
pageNoInteger页码(默认1)
pageSizeInteger每页条数(默认10)

已办任务分页返回结果:

字段名类型说明
taskIdString任务ID
taskNameString任务名称
processInstanceIdLong流程实例ID
processNameString流程名称
originatorNameString发起人姓名
actionString审批动作标识
actionLabelString审批动作标签
commentString审批意见
startTimeDateTime任务开始时间
endTimeDateTime任务完成时间
durationLong审批耗时(毫秒)

3.6 抄送给我

3.6.1 功能描述

展示抄送给当前用户的流程信息列表,用户可查看抄送流程的详情(只读模式),并标记为已读。抄送功能用于在审批过程中将流程信息同步给相关人员知晓。

抄送的两种来源

  • 自动抄送:流程设计时在某个节点配置了"通过后自动抄送给 XX"
  • 手动抄送:审批人在审批过程中主动选择"抄送给 XX"

3.6.2 页面原型

抄送给我列表页面抄送给我列表

3.6.3 操作流程

1. 用户进入「抄送给我」页面
2. 页面顶部显示未读数量
3. 展示抄送给当前用户的所有记录(分页)
4. 列表展示:流程名称、发起人、抄送节点、抄送人、抄送时间、已读/未读状态
5. 未读记录有 🔴 红点标记
6. 用户点击某条记录查看流程详情(只读模式)
7. 系统自动标记该条为已读
8. 支持勾选多条后点击「批量标记已读」
9. 支持按流程名称、已读/未读状态筛选

3.6.4 业务规则

规则编号规则描述设计原因
R-01仅展示抄送给当前用户的记录数据隔离
R-02列表按抄送时间倒序排列最新的排最前面
R-03未读记录展示红点标记醒目提醒用户有未读信息
R-04用户点击详情后自动标记为已读减少操作步骤,看了就算已读
R-05抄送详情为只读模式,不可进行任何审批操作抄送 = 知晓,不需要参与审批
R-06支持批量标记已读(全选/反选)高效处理大量抄送
R-07支持按已读/未读状态筛选快速找到未读记录
R-08抄送来源包括:流程节点配置自动抄送、审批人手动抄送两种来源满足不同场景
R-09每条抄送记录标记抄送来源节点和抄送操作人方便追溯"谁在什么环节抄送的"

3.6.5 接口列表

接口名称请求方式接口路径说明
获取抄送记录分页GET/app-api/bpm/task-copy/my-page分页查询抄送给我的记录
获取抄送未读数量GET/app-api/bpm/task-copy/unread-count获取未读抄送数量
标记抄送已读PUT/app-api/bpm/task-copy/read标记单条抄送为已读
批量标记已读PUT/app-api/bpm/task-copy/batch-read批量标记抄送为已读
获取抄送详情GET/app-api/bpm/task-copy/detail获取抄送关联的流程详情

抄送记录分页请求参数:

参数名类型必填说明
processNameString流程名称(模糊匹配)
readStatusInteger已读状态(0-未读 1-已读)
createTimeDateTime[]抄送时间范围
pageNoInteger页码(默认1)
pageSizeInteger每页条数(默认10)

抄送记录分页返回结果:

字段名类型说明
idLong抄送记录ID
processInstanceIdLong流程实例ID
processNameString流程名称
processDefinitionKeyString流程定义标识
originatorNameString发起人姓名
copyTaskNameString抄送节点名称
copyUserNameString抄送操作人姓名
copyReasonString抄送说明
readStatusInteger已读状态(0-未读 1-已读)
createTimeDateTime抄送时间
readTimeDateTime已读时间

四、非功能需求

4.1 性能要求

指标目标值说明
流程列表查询< 500ms含分页 + 状态统计
流程图渲染< 1s含 BPMN 解析 + 高亮数据返回
审批操作(通过/驳回)< 500ms含流程流转 + 下一节点任务生成
催办通知发送< 5s从点击催办到审批人收到通知
待办数量查询< 200ms顶部导航角标数字,需快速响应
抄送列表查询< 500ms含分页 + 未读统计
流程发起< 2s含表单校验 + 流程实例创建 + 审批人匹配 + 通知发送
并发流程发起100 并发高峰期(如月末集中报销)不卡顿
表单渲染< 1s动态表单从加载到可编辑状态

4.2 安全要求

安全项实现方式说明
数据隔离后端接口强制校验当前登录用户用户只能查看和操作自己的流程、任务、抄送
撤销权限校验 processInstanceId 的 starter_id == 当前用户ID防止他人撤销
审批权限校验 taskId 的 assignee_id == 当前用户ID只有任务分配人能审批
操作审计所有审批操作写入操作日志(操作人、时间、动作、IP、意见)满足合规审计要求
数据脱敏流程表单中的敏感信息(身份证、银行卡)在日志中脱敏处理防止敏感数据泄露
防重复提交审批接口做幂等性校验(基于 taskId + 操作类型)防止网络重试导致重复审批
文件安全附件上传做文件类型白名单 + 大小限制(10MB)防止恶意文件上传
传输安全全站 HTTPS防止数据在传输中被窃取
催办限频Redis 缓存催办时间戳,10 分钟内同一流程同一审批人只允许一次防止催办轰炸

4.3 兼容性要求

要求
PC 浏览器Chrome 80+、Firefox 75+、Safari 13+、Edge 80+
移动端浏览器iOS Safari 12+、Android Chrome 80+
移动端适配流程图支持手势缩放、滑动浏览;审批操作按钮适配小屏
分辨率适配最小支持 1280×720,推荐 1920×1080

五、数据设计

5.1 核心数据表

5.1.1 流程实例表(bpm_process_instance)— 用户视角

与 03-02 共用同一张物理表,此处从用户视角列出字段。

字段名类型必填说明
idBIGINT流程实例ID(主键)
process_definition_idVARCHAR(64)流程定义ID
process_definition_keyVARCHAR(64)流程定义标识
process_definition_nameVARCHAR(128)流程定义名称
process_definition_versionINT流程定义版本号
categoryVARCHAR(64)流程分类标识
titleVARCHAR(256)流程标题
form_idBIGINT业务表单ID
form_dataJSON业务表单数据(JSON格式)
starter_idBIGINT流程发起人用户ID
starter_nameVARCHAR(64)流程发起人姓名
starter_dept_idBIGINT发起人部门ID
starter_dept_nameVARCHAR(128)发起人部门名称
statusTINYINT流程状态(0-进行中 1-已完成 2-已取消 3-已驳回)
resultTINYINT审批结果(0-待审批 1-通过 2-驳回 3-取消)
current_task_nameVARCHAR(128)当前审批节点名称
current_assignee_idsVARCHAR(512)当前审批人ID列表(逗号分隔)
current_assignee_namesVARCHAR(512)当前审批人姓名列表(逗号分隔)
start_timeDATETIME流程发起时间
end_timeDATETIME流程结束时间
durationBIGINT流程耗时(毫秒)
remarkVARCHAR(500)申请备注
tenant_idBIGINT租户ID
creator / create_time / updater / update_time / deleted通用审计字段

索引设计

  • PRIMARY KEY (id)
  • idx_starter_status (starter_id, status) — 用户查自己的流程按状态筛选
  • idx_starter_start_time (starter_id, start_time) — 用户按时间排序
  • idx_tenant_key (tenant_id, process_definition_key) — 按流程定义查询

5.1.2 任务表(bpm_task)— 用户视角

字段名类型必填说明
idVARCHAR(64)任务ID(主键,Flowable 生成)
nameVARCHAR(128)任务名称
descriptionVARCHAR(512)任务描述
process_instance_idBIGINT关联的流程实例ID
process_definition_idVARCHAR(64)流程定义ID
task_definition_keyVARCHAR(64)任务节点定义Key
assignee_idBIGINT实际审批人ID
assignee_nameVARCHAR(64)实际审批人姓名
owner_idBIGINT任务拥有者ID(委派场景下的原审批人)
owner_nameVARCHAR(64)任务拥有者姓名
statusTINYINT任务状态(0-待处理 1-已完成 2-已取消 3-已转办 4-已委派 5-已退回)
actionVARCHAR(32)审批动作(approve/reject/transfer/delegate/return/empty)
commentVARCHAR(500)审批意见
form_dataJSON任务节点表单数据
is_timeoutBIT是否超时(0-否 1-是)
timeout_ruleVARCHAR(256)超时规则配置
source_task_idVARCHAR(64)来源任务ID(加签/转办/委派场景)
sign_typeTINYINT加签类型(0-非加签 1-前加签 2-后加签)
start_timeDATETIME任务开始时间
claim_timeDATETIME任务签收时间
end_timeDATETIME任务完成时间
durationBIGINT任务耗时(毫秒)
tenant_idBIGINT租户ID
creator / create_time / updater / update_time / deleted通用审计字段

索引设计

  • PRIMARY KEY (id)
  • idx_assignee_status (assignee_id, status) — 审批人查自己的待办/已办
  • idx_process_instance (process_instance_id) — 按流程实例查关联任务
  • idx_source_task (source_task_id) — 加签/转办链路追溯

5.1.3 抄送记录表(bpm_task_copy)

字段名类型必填说明
idBIGINT抄送记录ID(主键)
process_instance_idBIGINT关联的流程实例ID
task_idVARCHAR(64)关联的任务ID
task_nameVARCHAR(128)抄送来源节点名称
process_definition_idVARCHAR(64)流程定义ID
originator_idBIGINT流程发起人ID
originator_nameVARCHAR(64)流程发起人姓名
copy_user_idBIGINT被抄送人ID
copy_user_nameVARCHAR(64)被抄送人姓名
copy_dept_idBIGINT被抄送人部门ID
operator_idBIGINT抄送操作人ID(手动抄送时有值)
operator_nameVARCHAR(64)抄送操作人姓名
copy_typeTINYINT抄送类型(1-自动抄送 2-手动抄送)
copy_reasonVARCHAR(500)抄送说明
read_statusTINYINT已读状态(0-未读 1-已读)
read_timeDATETIME已读时间
tenant_idBIGINT租户ID
creator / create_time / updater / update_time / deleted通用审计字段

索引设计

  • PRIMARY KEY (id)
  • idx_copy_user_read (copy_user_id, read_status) — 用户查自己的抄送按已读筛选
  • idx_copy_user_time (copy_user_id, create_time) — 用户按时间排序
  • idx_process_instance (process_instance_id) — 按流程实例查抄送记录

5.1.4 审批附件表(bpm_task_attachment)

字段名类型必填说明
idBIGINT附件ID(主键)
task_idVARCHAR(64)关联的任务ID
file_nameVARCHAR(256)文件名称
file_pathVARCHAR(512)文件存储路径
file_sizeBIGINT文件大小(字节)
file_typeVARCHAR(64)文件类型(MIME)
operator_idBIGINT上传人ID
operator_nameVARCHAR(64)上传人姓名
tenant_idBIGINT租户ID
creator / create_time / updater / update_time / deleted通用审计字段

索引设计

  • PRIMARY KEY (id)
  • idx_task_id (task_id) — 按任务查附件

5.2 数据字典

字典类型字典值说明
bpm_process_instance_status0-进行中, 1-已完成, 2-已取消, 3-已驳回流程实例状态
bpm_process_instance_result0-待审批, 1-通过, 2-驳回, 3-取消流程审批结果
bpm_task_status0-待处理, 1-已完成, 2-已取消, 3-已转办, 4-已委派, 5-已退回任务状态
bpm_task_actionapprove-通过, reject-驳回, transfer-转办, delegate-委派, return-退回, empty-自动流转审批动作
bpm_task_sign_type0-非加签, 1-前加签, 2-后加签加签类型
bpm_copy_type1-自动抄送(节点配置), 2-手动抄送(审批人操作)抄送类型
bpm_copy_read_status0-未读, 1-已读抄送已读状态
bpm_reject_type1-驳回到发起人, 2-驳回到上一节点, 3-驳回到指定节点驳回类型

5.3 流程实例状态流转图

流程实例状态流转图

状态转换条件

起始状态目标状态触发条件操作人
进行中用户提交申请普通用户
进行中已完成所有审批节点通过系统自动
进行中已取消用户撤销 / 管理员终止发起人 / 管理员
进行中已驳回审批人驳回(驳回类型=驳回到发起人)审批人
已驳回进行中用户修改后重新发起发起人

六、跨模块联动

6.1 联动关系总览

关联模块联动方式数据流向说明
03-01 流程设计消费流程定义03-01 → 本模块流程分类、流程定义、表单结构、审批人配置均来自流程设计
03-02 流程管理管理端与用户端对应双向管理员在本模块的 counterpart 是 03-02;管理员终止流程 → 本模块状态变为"已取消"
03-04 待办管理管理端任务视图本模块 → 03-04本模块是用户视角待办,03-04 是管理员视角全局任务管理
通知模块发送各类通知本模块 → 通知模块待办通知、催办通知、驳回通知、撤销通知均通过通知模块发送
01-01 用户管理获取用户信息01-01 → 本模块审批人选择器、发起人信息、抄送人信息均来自用户管理
01-02 部门管理获取部门信息01-02 → 本模块发起人部门、审批人部门展示来自部门管理
01-03 角色管理角色匹配审批人01-03 → 本模块审批人自动匹配时,按角色查找对应审批人
01-08 日志审计记录操作日志本模块 → 01-08所有审批操作写入操作日志
文件存储模块附件上传/下载本模块 ↔ 文件存储审批附件上传到文件存储,详情页展示时从文件存储下载

6.2 关键联动流程

流程发起 → 审批人匹配 → 通知发送流程发起通知流程

管理员终止流程 → 用户端状态同步终止流程状态同步

6.3 数据一致性要求

一致性场景保证方式
审批操作后流程状态更新同一事务内完成:任务完成 + 流程实例状态更新 + 下一节点任务创建
撤销后待办任务关闭同一事务内完成:流程实例状态更新 + 所有关联待办任务关闭
催办频率限制Redis 原子操作设置催办时间戳,10 分钟过期
抄送已读状态乐观锁或 CAS 操作,防止并发标记冲突

七、附录

7.1 名词解释

术语通俗解释类比
流程实例用户发起的一个具体流程,如"小李的请假申请"一个快递包裹(从发出到签收的完整过程)
任务(Task)流程走到某个节点时产生的审批工作快递到了某个中转站,需要站长处理
流程定义管理员设计的流程模板,定义了有哪些节点、怎么流转快递运输路线图
待办任务当前分配给某个审批人、等待处理的审批任务你桌上等着签字的文件
已办任务某个审批人已经处理过的审批任务你已经签完字归档的文件
会签多人审批时需要所有人都通过才能继续委员会投票——全票通过才算通过
或签多人审批时任一人通过即可继续任意一个领导签字就算通过
转办把审批任务完全交给别人处理"这个事不归我管,你去找XX"
委派临时让别人帮忙审批,审完还得自己确认"帮我看看这个文件,看完我还得签字"
前加签在当前审批人之前增加审批人,加签人先审"我先问问专家意见再决定"
后加签当前审批人审批后,加签人再审批"我同意了,但还需要XX确认"
减签移除因加签产生的额外审批任务"不用找XX了,去掉这个环节"
催办向当前审批人发送催促通知"领导,那个审批麻烦快点处理"
抄送把流程信息同步给相关人员查阅(只读)邮件里的 CC(抄送),让对方知道这件事
驳回审批人不同意申请,将流程退回"不行,打回去重做"
退回将流程退回到之前某个已完成的节点"回到上一步补充材料"
BPMN业务流程建模的标准,定义了流程图的画法流程图的"语法规则"
Flowable本系统使用的工作流引擎流程运转的"发动机"

7.2 权限标识

权限标识说明所属子模块
bpm:process-instance:create发起流程流程发起
bpm:process-instance:query查询流程列表我的流程
bpm:process-instance:detail查看流程详情流程详情
bpm:process-instance:cancel撤销流程流程详情
bpm:process-instance:urge催办流程流程详情
bpm:task:todo:query查看待办任务待我审批
bpm:task:approve审批通过待我审批
bpm:task:reject审批驳回待我审批
bpm:task:transfer转办任务待我审批
bpm:task:delegate委派任务待我审批
bpm:task:return退回任务待我审批
bpm:task:add-sign加签操作待我审批
bpm:task:subtract-sign减签操作待我审批
bpm:task:done:query查看已办任务我已审批
bpm:task-copy:query查看抄送列表抄送给我
bpm:task-copy:read标记已读抄送给我

7.3 错误码

错误码说明处理建议
BPM_PROC_001流程定义不存在或已停用刷新页面重新选择流程
BPM_PROC_002无权限发起该流程联系管理员检查权限配置
BPM_PROC_003表单校验不通过检查表单必填项和格式
BPM_INST_001流程实例不存在流程可能已被管理员终止
BPM_INST_002无权限撤销该流程只有发起人才能撤销
BPM_INST_003该流程状态不允许撤销只有"进行中"状态可撤销
BPM_INST_004催办频率超限10 分钟内只能催办一次,请稍后再试
BPM_TASK_001任务不存在或已完成刷新待办列表
BPM_TASK_002无权限审批该任务只有任务分配人才能审批
BPM_TASK_003驳回原因不能为空填写驳回原因
BPM_TASK_004转办目标人不能为空选择转办目标人
BPM_TASK_005减签只能操作加签产生的任务选择加签任务进行减签
BPM_TASK_006加签人员不能与当前审批人重复选择不重复的加签人员
BPM_COPY_001抄送记录不存在刷新抄送列表

7.4 接口汇总

子模块接口数量前缀
流程发起6/app-api/bpm/
我的流程3/app-api/bpm/
流程详情6/app-api/bpm/
待我审批13/app-api/bpm/
我已审批2/app-api/bpm/
抄送给我5/app-api/bpm/
合计35

7.5 变更记录

版本日期修改内容修改人
v1.02026-09-24初始版本PM Team
v2.02026-09-19全面增强:补充命名用户场景(7个)、验收标准(10条US)、页面原型(6张ASCII)、审批操作速查表、状态流转图、跨模块联动(9个模块)、名词解释(18条)、错误码(14个)PM Team

本文档为我的流程模块 PRD v2.0,面向 Java 后端、Vue 前端、QA 测试、产品运营全团队阅读。如有疑问请联系产品负责人。