# 安全教育与考试系统 - 需求规格说明书

## 文档信息

| 项目 | 内容 |
|------|------|
| 项目名称 | 西农实验室安全智慧化管控系统 - 安全教育与考试系统 |
| 文档版本 | V1.0 |
| 编写日期 | 2025年5月 |
| 文档状态 | 待评审 |

---

## 1 项目概述

### 1.1 项目背景

本系统为高等院校实验室安全智慧化管控系统的子系统之一。主系统包含安全教育与考试系统、安全准入系统、化学品智能管理系统、设备管理系统、安全检查系统、实验室综合管理系统、应急预警处置系统等。

当前安全准入系统与安全教育考试系统未拉通，导致不同分级实验室的安全准入条件无法与学生考试通过状态建立关联关系。本次迭代核心目标是打通两个子系统的业务关联。

### 1.2 系统定位

安全教育与考试系统负责：
- 安全知识学习资源管理与分发
- 学时统计与管理
- 在线考试（分级考试、应知应会考试、新生入学考试）
- 准入证书生成与管理
- 实验室绑定与审批流程

### 1.3 用户角色

| 角色 | 说明 |
|------|------|
| 硕士研究生（新入学） | 每年9月入学的研究生新生，需绑定实验室 |
| 硕士研究生（在读） | 研二、研三、研四等非新生研究生 |
| 本科生（新入学） | 每年9月入学的本科新生 |
| 本科生（在读） | 大二、大三、大四等非新生本科生 |
| 教职工（新入职） | 当年新入职的教职工 |
| 教职工（存量） | 非当年入职的在职教职工 |
| 实验室负责人 | 主系统内实验室的管理人员，拥有审批权限 |
| 系统管理员 | 负责系统配置、考试管理、资源管理 |

---

## 2 名词定义

| 名词 | 定义 |
|------|------|
| 实验室分级 | 依据危险源及存量分为Ⅰ、Ⅱ、Ⅲ、Ⅳ级（红、橙、黄、蓝），代表重大、高、中、低风险 |
| 实验室分类 | 化学、生物、辐射、特种设备等类别 |
| 学时 | 用户学习资料的时间计量，学习40分钟记做1学时 |
| 资料学习时间 | 管理员为每个学习资料配置的学习时间，视频类未设置则取视频时长 |
| 分级考试 | 针对研究生的考试类型，内容根据绑定实验室的分级和分类匹配 |
| 应知应会考试 | 系统内置考试类型，面向教职工、非新生本科生、无需进入实验室的研究生 |
| 新生入学考试 | 面向新入学本科生的考试类型 |
| 准入证书 | 通过考试后系统自动生成的电子证书 |
| 学习任务 | 一组资料聚合后生成的学习任务单元 |
| 安全素养知识 | 系统中提供的资料分类名称 |

---

## 3 功能需求

### 3.1 考试类型

#### 3.1.1 新生入学考试

**适用对象：** 新入学本科生

**前置条件：** 完成4学时安全通识学习（学时数可配置）

**业务流程：**
1. 新本科生入学后进入系统
2. 工作台显示所需学时（4学时）及新生入学考试
3. 在系统中进行学习，累计达到4学时
4. 达标后系统解锁新生入学考试
5. 执行在线考试
6. 通过考试，系统发放证书

**后续操作：**
- 通过考试后开放"绑定实验室"按钮
- 绑定实验室弹窗复用研究生绑定弹窗，但去掉"无需进入实验室"选项
- 新增必填字段"进入原因"
- 底部提示：毕业论文或毕业设计，科创等相关需要在具体的实验室开展业务的情况可申请绑定实验室，绑定完毕后需完成对应的分级考试

#### 3.1.2 分级考试

**适用对象：** 绑定了实验室的研究生（新入学）、通过新生入学考试后绑定实验室的本科生

**前置条件：** 完成对应分级学时要求

**学时要求（准入/第一年）：**

| 实验室等级 | 准入学时 | 第二年起年度学时 |
|-----------|---------|----------------|
| Ⅰ级（重大风险） | 24学时 | 8学时 |
| Ⅱ级（高风险） | 16学时 | 4学时 |
| Ⅲ级（中风险） | 8学时 | 2学时 |
| Ⅳ级（低风险） | 4学时 | 0学时 |

**业务流程：**
1. 研究生首次进入系统，弹出绑定实验室弹窗
2. 搜索并选择实验室，提交绑定申请
3. 实验室负责人审批（7天未处理自动通过，时间可配置）
4. 审批通过后，系统根据实验室分级确定学时要求
5. 完成对应学时学习
6. 参加分级考试（内容根据实验室分级和分类匹配）
7. 通过考试，系统发放准入证书

#### 3.1.3 应知应会考试

**适用对象：**
- 选择"无需进入实验室"的研究生新生
- 全部教职工
- 非新生本科生（大二、大三、大四）
- 研二、研三、研四等在读研究生

**前置条件：**
- 新入职教职工/无需进入实验室的研究生：完成4学时学习
- 非新生本科生/存量教职工：无学时要求，可直接参加
- 在读研究生：完成年度学时要求（按实验室分级取年度学时值）

**业务流程：**
1. 用户进入系统，工作台显示考试信息
2. 如有学时要求，完成对应学时学习
3. 学时达标后解锁考试（无学时要求则直接可考）
4. 执行在线考试
5. 通过考试，系统发放证书

---

### 3.2 实验室绑定

#### 3.2.1 研究生绑定实验室弹窗

**触发条件：** 新入学研究生首次进入系统自动弹出

**弹窗内容：**
- 可搜索下拉框：支持按实验室名称、房号、楼栋关键词模糊检索
- 下拉选项格式：`学院-实验室名称（房号）-楼栋楼层`
- 检索提示文字：此处请选择需要后续进入的科研实验室的名称，输入实验室名称、房号或楼栋关键词，再从检索结果中选择目标实验室
- 选中后展示完整信息：负责人姓名（脱敏，如王*二）、分级、分类、类型
- "无需进入实验室"选项：明确说明人文、体育等相关学院可选择此项
- 须知复选框：《新生绑定实验室须知及责任说明》
  - 内容1：保证进入的实验室为导师实际使用实验室或属于当前实验室所属课题组
  - 内容2：研究生期间涉及到操作实验室内重要危险源，必须绑定实验室

**提交规则：** 进入实验室和不进入实验室必须选一个

#### 3.2.2 本科生绑定实验室弹窗

**触发条件：** 通过新生入学考试后，手动点击"绑定实验室"按钮

**与研究生弹窗差异：**
- 去掉"无需进入实验室"选项
- 新增必填字段"进入原因"
- 底部提示文字：毕业论文或毕业设计，科创等相关需要在具体的实验室开展业务的情况可申请绑定实验室，绑定完毕后需完成对应的分级考试

#### 3.2.3 审批流程

- 提交后状态变为"审批中"
- 实验室负责人在主系统进行审批（通过/驳回）
- 自动审批机制：提交后7天（可配置）未处理则自动通过
- 审批通过后系统确定学时要求并开放学习任务

---

### 3.3 用户工作台

#### 3.3.1 页面布局

页面自上而下：用户信息卡 → 工作台功能卡片区 → 实验室安全素养资源区 → 视频卡片资源区

#### 3.3.2 用户信息卡

全宽卡片，三栏布局：
- **左栏 - 个人信息：** 用户姓名、学工号、用户类型、所属学院、实验室信息、负责人、绑定状态
- **中栏 - 学时进度：** 学期标签、实验室分级标签、年度学时进度条、完成度KPI、目标考试
- **右栏 - 任务状态：** 考试状态、证书状态、审批状态

**特殊规则：**
- 教职工角色隐藏实验室信息、负责人、绑定状态
- 学时要求为0时隐藏年度学时进度和完成度

#### 3.3.3 工作台功能卡片区

五等分等宽卡片，高度统一：

| 卡片 | 内容 |
|------|------|
| 学年数据统计 | 按学年倒序展示历年考试通过情况与成绩 |
| 学习任务 | 学院下发的学习任务列表，最多显示4条，超出滚动 |
| 资料类型 | 绑定实验室则显示对应分类资料，否则显示应知应会通识资料 |
| 模拟练习 | 已练习题目数/题库总数、正确率 |
| 考试信息 | 学时完成情况、考试状态、操作按钮 |

#### 3.3.4 实验室安全素养资源区

- 7个分类Tab：化学类、生物类、辐射类、机电类、基础类、安全操作及应急处置、科研伦理安全
- 每个Tab内左右分栏：左侧为学习资料列表，右侧为题库分类卡片
- 资料可点击进入详情页
- 提供"查看更多"入口
- 绑定实验室的用户自动定位到对应分类Tab

#### 3.3.5 视频卡片资源区

- 5个分类Tab：化学类、生物类、辐射类、机电类、其他类
- 类流媒体平台展示：视频封面、标题、学习时长
- 支持搜索和翻页

---

### 3.4 系统配置

#### 3.4.1 分级学时配置

管理员可配置各等级实验室的学时要求：

| 配置项 | 说明 |
|--------|------|
| 准入学时（第一年） | 新绑定实验室用户首年需完成的学时数 |
| 年度学时（第二年起） | 后续每年需完成的学时数 |

配置修改后实时联动更新所有相关用户的学时要求。

#### 3.4.2 其他可配置项

- 新生入学考试学时要求（默认4学时）
- 新入职教职工学时要求（默认4学时）
- 自动审批超时时间（默认7天）
- 证书是否自动生成（按考试配置）

---

### 3.5 数据统计

侧边栏"数据统计"菜单进入。页面顶部为Tab栏，当前展示"报表"Tab。报表页面采用瀑布式平铺布局，自上而下依次展示三个统计板块。

#### 3.5.1 考试情况统计

**切换维度：** 研究生 / 本科生 Radio 按钮切换

**图表区：**
- 左侧：堆叠柱状图，X轴为各学院，Y轴为人数，分通过/未通过/未考三色堆叠，柱体顶部显示数值
- 右侧：环形饼图，展示全校总体通过/未通过/未考占比

**研究生报表：**

每个学院占3行（学院列合并单元格），字段如下：

| 学院 | 考试类型 | 应考人数 | 通过人数 | 未通过人数 | 未考人数 | 通过率 |
|------|---------|---------|---------|-----------|---------|--------|
| XX学院 | 新生分级考试 | N | N | N | N | N% |
| XX学院 | 应知应会考试 | N | N | N | N | N% |
| XX学院 | 汇总 | N | N | N | N | N% |

**本科生报表：** 排版与研究生一致

| 学院 | 考试类型 | 应考人数 | 通过人数 | 未通过人数 | 未考人数 | 通过率 |
|------|---------|---------|---------|-----------|---------|--------|
| XX学院 | 新生入学考试 | N | N | N | N | N% |
| XX学院 | 应知应会考试 | N | N | N | N | N% |
| XX学院 | 汇总 | N | N | N | N | N% |

**通过率：** 以百分比数字展示，不使用进度条

**导出：** 右上角"导出数据"按钮

#### 3.5.2 实验室与人员匹配

**图表：** 柱状图，X轴为Ⅰ-Ⅳ级实验室，Y轴为绑定总人数，柱体顶部显示数值

**报表：** 按学院统计各级实验室人员数量

| 学院 | Ⅰ级人数 | Ⅱ级人数 | Ⅲ级人数 | Ⅳ级人数 | 总人数 |
|------|---------|---------|---------|---------|--------|
| XX学院 | N | N | N | N | N |

**导出：** 右上角两个按钮
- 导出各学院数据
- 导出实验室人员明细

#### 3.5.3 学时统计

**图表：** 分组柱状图，X轴为各学院，按研究生/本科生/教职工分组展示学习总时长（单位：学时），柱体顶部显示数值

**报表：** 学生学时明细列表，支持翻页（每页8条）

| 姓名 | 学号 | 年级 | 所属学院 | 第一年 | 第二年 | 第三年 | 第四年 | 总时长 |
|------|------|------|---------|--------|--------|--------|--------|--------|
| XX | XX | XX级 | XX学院 | N | N | N | N | N |

**筛选项：**
- 用户类型：研究生 / 本科生 / 教职工（下拉选择）
- 学院单位：下拉选择
- 年级：下拉选择
- 学号/姓名：模糊检索输入框

**导出：** 右上角"导出数据"按钮

---

## 4 业务流程

### 4.1 新入学研究生（绑定实验室）

```
进入系统 → 弹出绑定弹窗 → 搜索选择实验室 → 勾选须知提交
→ 负责人审批（7天自动通过） → 确定学时要求
→ 完成准入学时 → 参加分级考试 → 通过获证
```

### 4.2 新入学研究生（无需进入实验室）

```
进入系统 → 弹出绑定弹窗 → 选择"无需进入实验室"
→ 完成4学时学习 → 参加应知应会考试 → 通过获证
```

### 4.3 在读研究生（研二三）

```
新学年进入系统 → 查看年度学时要求（按分级）
→ 完成年度学时 → 参加应知应会考试 → 通过获证
```

### 4.4 新入学本科生

```
进入系统 → 完成4学时学习 → 参加新生入学考试 → 通过获证
→ （可选）绑定实验室 → 完成分级学时 → 参加分级考试 → 通过获证
```

### 4.5 在读本科生（二三四年级）

```
新学年进入系统 → 直接参加应知应会考试 → 通过获证
```

### 4.6 新入职教职工

```
进入系统 → 完成4学时学习 → 参加应知应会考试 → 通过获证
```

### 4.7 存量教职工

```
新学年进入系统 → 直接参加应知应会考试 → 通过获证
```

---

## 5 非功能需求

### 5.1 技术要求

- 前端技术栈：Vue 2 + Element UI
- 支持响应式布局（适配1920px、1440px、1100px、768px）
- 图表库：ECharts
- 与主系统通过统一身份认证对接

### 5.2 安全要求

- 实验室负责人姓名脱敏显示（隐藏中间字符）
- 用户数据隔离，不同角色只能查看自身数据
- 操作日志记录

### 5.3 性能要求

- 页面首屏加载时间 ≤ 3秒
- 搜索响应时间 ≤ 500ms
- 支持并发用户数 ≥ 5000

---

## 6 接口需求

### 6.1 与主系统对接接口

| 接口 | 说明 |
|------|------|
| 统一身份认证 | 用户登录鉴权 |
| 实验室数据查询 | 获取实验室列表、详情、分级分类 |
| 实验室负责人信息 | 获取负责人姓名（脱敏） |
| 绑定审批流程 | 提交绑定申请、查询审批状态 |
| 准入状态同步 | 考试通过后同步准入状态至准入系统 |

### 6.2 系统内部接口

| 接口 | 说明 |
|------|------|
| 学时统计 | 记录和查询用户学习时长 |
| 考试管理 | 创建考试、提交答卷、查询成绩 |
| 证书管理 | 生成证书、查询证书状态 |
| 资源管理 | 资料CRUD、视频CRUD、题库管理 |
| 配置管理 | 学时配置、审批超时配置 |

---

## 7 交付物清单

| 序号 | 交付物 | 说明 |
|------|--------|------|
| 1 | 源代码 | 前端Vue2项目完整代码 |
| 2 | 接口文档 | RESTful API设计文档 |
| 3 | 数据库设计 | ER图及DDL脚本 |
| 4 | 部署文档 | 部署步骤及环境要求 |
| 5 | 测试报告 | 功能测试、性能测试报告 |
| 6 | 用户手册 | 各角色操作指南 |
