7.0 KiB
Spec: 项目管理能力
概述
本规范定义了项目管理模块的核心能力,包括项目的创建、查询、状态管理和归档功能。
ADDED Requirements
Requirement: 项目列表查询
系统 MUST 允许用户查询所有项目列表,支持按项目名称进行模糊搜索。
Scenario: 查询所有项目
Given 用户已登录系统并具有项目查看权限 When 用户进入项目管理页面 Then 系统显示所有项目列表,包括项目名称、描述、创建时间、状态、目标人数、预警人数
Scenario: 按名称搜索项目
Given 用户在项目管理页面 When 用户在搜索框输入"Q1初核"并点击搜索 Then 系统显示所有包含"Q1初核"的项目
Scenario: 项目状态标识
Given 项目列表中有多个不同状态的项目 When 用户查看项目列表 Then 进行中的项目显示蓝色标签,已完成的项目显示绿色标签,已归档的项目显示灰色标签
Scenario: 预警人数动态更新
Given 存在状态为"进行中"的项目 When 用户刷新项目列表 Then 预警人数显示最新的统计值
Requirement: 创建新项目
系统 MUST 允许用户创建新的初核项目,填写项目基本信息并选择参与人员。
Scenario: 创建标准项目
Given 用户在项目管理页面 When 用户点击"新建项目"按钮 Then 系统打开新增项目弹窗,包含项目名称、项目描述、时间范围、人员选择字段
Scenario: 必填字段验证
Given 用户新增项目时未填写项目名称 When 用户点击"确定"按钮 Then 系统提示"项目名称不能为空"
Scenario: 至少选择一名人员
Given 用户新增项目时未选择任何人员 When 用户点击"确定"按钮 Then 系统提示"请至少选择一名参与人员"
Scenario: 创建成功
Given 用户填写了完整的项目信息 When 用户点击"确定"按钮 Then 系统创建项目并提示"新增成功",项目列表刷新显示新项目
Requirement: 导入历史项目
系统 MUST 允许用户从已完成的历史项目导入配置,快速创建新项目。
Scenario: 查看历史项目列表
Given 用户点击"导入历史项目"按钮 When 系统打开导入历史项目弹窗 Then 系统显示所有已完成状态的历史项目列表
Scenario: 选择历史项目
Given 用户在导入历史项目弹窗中 When 用户选择一个历史项目 Then 系统显示该项目的详细信息(人员范围、配置等)
Scenario: 复制配置创建新项目
Given 用户选择了历史项目并填写了新项目名称 When 用户点击"确定"按钮 Then 系统创建新项目,复制原项目的人员和配置,状态为"进行中"
Requirement: 项目状态管理
系统 MUST 支持项目状态的流转和管理。
Scenario: 进入进行中的项目
Given 存在状态为"进行中"的项目 When 用户点击"进入项目"按钮 Then 系统跳转到该项目的工作台页面
Scenario: 查看已完成项目结果
Given 存在状态为"已完成"的项目 When 用户点击"查看结果"按钮 Then 系统跳转到该项目的初核结果总览页面
Scenario: 重新分析已完成项目
Given 存在状态为"已完成"的项目 When 用户点击"重新分析"按钮 Then 系统基于原有数据重新运行风险模型,更新预警人数和结果
Scenario: 重新分析权限控制
Given 用户没有重新分析的权限 When 用户查看项目列表 Then 不显示"重新分析"按钮
Requirement: 项目归档
系统 MUST 允许用户将已结束的项目归档,并生成PDF归档文件。
Scenario: 归档已完成项目
Given 存在状态为"已完成"的项目 When 用户点击"归档"按钮 Then 系统生成PDF归档文件,更新项目状态为"已归档"
Scenario: 归档状态校验
Given 存在状态为"进行中"的项目 When 用户尝试归档该项目 Then 系统提示"只能归档已完成的项目"
Scenario: 归档文件下载
Given 存在已归档的项目 When 用户点击"下载归档"按钮 Then 系统下载该项目的PDF归档文件
Scenario: 归档项目不显示在默认列表
Given 存在已归档的项目 When 用户查看项目列表 Then 默认不显示已归档的项目
Scenario: 查看归档项目
Given 用户想查看已归档的项目 When 用户勾选"显示已归档"选项 Then 系统在列表中显示已归档的项目
Requirement: 项目数据模型
系统 MUST 使用正确的数据结构存储项目信息。
Scenario: 项目基础信息存储
Given 创建新项目 When 系统保存项目数据 Then 数据库存储:项目ID、项目名称、项目描述、创建时间、状态、目标人数、预警人数
Scenario: 项目人员关联存储
Given 项目包含多名参与人员 When 系统保存项目数据 Then 人员在关联表中存储,包含项目ID、人员ID、人员姓名(冗余)
Scenario: 状态枚举值
Given 项目状态字段 When 系统存储项目状态 Then 状态值为:'0'进行中、'1'已完成、'2'已归档
Requirement: API接口规范
系统 MUST 提供符合RESTful规范的API接口。
Scenario: 查询项目列表API
Given 前端需要获取项目列表
When 调用 GET /dpc/project/list?projectName=xxx&pageNum=1&pageSize=10
Then 返回分页数据,包含total、rows、code、msg
Scenario: 创建项目API
Given 前端需要创建新项目
When 调用 POST /dpc/project 并传递项目数据
Then 返回操作结果,code为200表示成功
Scenario: 归档项目API
Given 前端需要归档项目
When 调用 POST /dpc/project/archive/{projectId}
Then 系统执行归档操作并返回结果
Scenario: 权限校验
Given 用户没有相应的权限 When 调用需要权限的API Then 返回403错误,提示无权限访问
Requirement: 前端用户体验
系统 MUST 提供友好的用户交互体验。
Scenario: 响应式布局
Given 用户使用不同分辨率的设备 When 用户访问项目管理页面 Then 页面布局自适应,所有功能可用
Scenario: 操作反馈
Given 用户执行操作 When 操作成功或失败 Then 系统显示明确的成功或错误提示消息
Scenario: 加载状态
Given 数据加载需要时间 When 用户请求数据 Then 系统显示loading加载状态
相关能力
- 用户管理能力:依赖用户系统获取人员信息
- 部门管理能力:依赖部门系统进行部门范围选择
- 文件管理能力:依赖文件上传功能处理项目附件和归档PDF
- 项目工作台能力:进入项目后跳转到工作台(后续实现)
- 初核结果能力:查看结果跳转到结果页(后续实现)