# 审批引擎 - 用户场景文档

> **版本**: v0.1  
> **最后更新**: 2026-01-06  
> **编写者**: 待定

---

## 📋 文档说明

本文档描述审批引擎的用户使用场景，用于补齐模块文档体系。当前为草稿，细节需与 PRD、状态机、API 文档对齐。

---

## 👥 用户角色

| 角色 | 描述 | 权限级别 |
|------|------|---------|
| 发起人 | 业务表单创建者，发起审批流程 | 普通用户 |
| 审批人 | 处理审批任务的人员 | 普通用户 / 主管 |
| 管理员 | 审批流程与配置管理 | 管理员 |

---

## 🎯 场景 1: 发起审批流程

### 场景描述

**用户角色**: 发起人  
**使用时机**: 提交业务表单需要走审批  
**目标**: 成功创建审批流程并进入待审批

### 前置条件

- [ ] 用户已登录
- [ ] 业务表单已创建并填写必填字段
- [ ] 关联的流程定义已启用

### 正常路径

| 步骤 | 用户操作 | 系统响应 | 页面/状态 |
|------|---------|---------|----------|
| 1 | 打开业务表单详情页 | 显示“提交审批”入口 | 表单详情 |
| 2 | 点击“提交审批” | 校验表单与流程配置 | 表单详情 |
| 3 | 确认提交 | 创建流程实例与首个任务 | 流程进入“待审批” |

### 异常路径

#### 异常 1.1: 表单校验失败

**触发条件**: 必填字段缺失或不合法  
**系统行为**: 阻止提交并提示校验错误  
**恢复步骤**: 补齐字段后重新提交

#### 异常 1.2: 流程定义不存在/不可用

**触发条件**: 业务类型未配置可用流程  
**系统行为**: 返回配置缺失提示  
**用户反馈**: 提示联系管理员

### 后置条件

- ✅ 创建流程实例
- ✅ 创建首个审批任务
- ✅ 记录审计日志并发送通知

### 业务规则

1. 仅在流程定义可用时允许提交  
2. 业务表单校验必须通过  
3. 发起人必须具备提交权限

---

## 🎯 场景 2: 审批人处理任务

### 场景描述

**用户角色**: 审批人  
**使用时机**: 收到待办任务  
**目标**: 完成通过/驳回等审批操作

### 前置条件

- [ ] 审批人已登录
- [ ] 待办列表存在该任务

### 正常路径

| 步骤 | 用户操作 | 系统响应 |
|------|---------|---------|
| 1 | 打开待办列表 | 展示待审批任务 |
| 2 | 进入任务详情 | 展示表单与历史记录 |
| 3 | 选择通过/驳回 | 记录操作并流转状态 |

### 异常路径

#### 异常 2.1: 任务已被处理

**触发条件**: 任务已被他人处理或流转  
**系统行为**: 提示任务状态已变化  
**用户反馈**: 返回列表并刷新

#### 异常 2.2: 权限不足

**触发条件**: 非当前审批人或无审批权限  
**系统行为**: 拒绝操作并返回权限错误  
**用户反馈**: 提示权限不足

### 后置条件

- ✅ 任务状态更新  
- ✅ 审批记录写入日志  
- ✅ 触发下一节点或结束流程

### 业务规则

1. 审批操作需校验当前节点与权限  
2. 驳回需填写理由（如有规则）  
3. 状态流转需符合状态机定义

---

## ❗️待确认项

- 业务表单与流程定义的绑定规则  
- 审批操作类型的完整清单  
- 通知与抄送的触发条件
