画面清单: 1. 考核评估 /assessment — 答题/结果/证书/历史 2. 评估统计 /assessment-stats — 统计/雷达/趋势 3. 题库管理 /question-banks — 列表/详情/CRUD/AI生成/审核 4. 设置-测评模板 /settings — 模板/维度/P2配置 涵盖: 前端组件/后端API/路由/服务/测试脚本映射 发现: AssessmentStatsView + AssessmentTemplateManager 两个画面无测试覆盖 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
11 KiB
人才测评系统 — 画面地图
版本: 2026-06-17
覆盖: 所有测评相关画面、功能模块、API 端点、测试脚本
一、画面全景
┌────────────────────────────────────────────────────────────────┐
│ AuraK 人才测评系统画面 │
├────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ 考核评估 │ │ 评估统计 │ │ 题库管理 │ │
│ │ /assessment │ │ /stats │ │ /question-banks │ │
│ ├──────────────┤ ├──────────────┤ ├──────────────────────┤ │
│ │ 答题交互画面 │ │ 统计面板 │ │ 题库列表 │ │
│ │ · MC选择 │ │ 雷达图展示 │ │ 题库详情/题目管理 │ │
│ │ · 简答输入 │ │ 趋势图表 │ │ 题目CRUD弹窗 │ │
│ │ · 追问流程 │ │ 筛选区 │ │ AI生成弹窗 │ │
│ │ · 结果展示 │ │ │ │ 审核流程 │ │
│ │ · 证书弹窗 │ │ │ │ 创建题库抽屉 │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 系统设置 → 测评模板 │ │
│ │ /settings → Tab: assessment_templates │ │
│ ├────────────────────────────────────────────────────────┤ │
│ │ 模板创建/编辑弹窗 │ │
│ │ 维度配置(添加/删除/权重) │ │
│ │ 基本设置(题数/时间/及格分/P2字段) │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────────────┘
二、画面清单
2.1 考核评估 /assessment
| 画面 | 文件名 | 功能 |
|---|---|---|
| 考核首页 | AssessmentView.tsx |
选择模板 → 开始评估 |
| 答题交互 | AssessmentView.tsx (renderAssessment) |
选择题(选项按钮+确认)、简答题(textarea+发送)、追问流程 |
| 进度导航 | AssessmentView.tsx |
题序圆点(当前蓝/标记黄/其他灰) + 🏷️标记回头按钮 |
| 提交确认 | AssessmentView.tsx (submitConfirm modal) |
未答完时弹窗确认 |
| 结果展示 | AssessmentView.tsx (renderCompletion) |
等级、分数、每题详情、报告 |
| 证书弹窗 | AssessmentView.tsx (cert modal) |
等级、总分、维度得分、题目列表 |
| 历史侧栏 | AssessmentView.tsx (右栏) |
考评历史列表 |
| 答题回顾 | AssessmentView.tsx (review button) |
reviewMode开启时查看答案+解析 |
组件文件: web/components/views/AssessmentView.tsx
页面入口: web/src/pages/workspace/AssessmentPage.tsx
路由: Route path="assessment"
服务: web/services/assessmentService.ts
2.2 评估统计 /assessment-stats
| 画面 | 文件名 | 功能 |
|---|---|---|
| 统计面板 | AssessmentStatsView.tsx |
通过率、平均分、最高/最低分 |
| 雷达图 | AssessmentStatsView.tsx |
各维度平均分 |
| 趋势图 | AssessmentStatsView.tsx |
分数趋势 |
| 筛选区 | AssessmentStatsView.tsx |
时间/模板/组织筛选 |
组件文件: web/components/views/AssessmentStatsView.tsx
路由: Route path="assessment-stats"
2.3 题库管理 /question-banks
| 画面 | 文件名 | 功能 |
|---|---|---|
| 题库列表 | QuestionBankView.tsx |
题库卡片列表/搜索/筛选Tab(全部/已发布/草稿/待审核) |
| 创建题库抽屉 | QuestionBankView.tsx (drawer) |
名称/描述/模板选择 → 创建提交 |
| 题库详情 | QuestionBankDetailView.tsx |
题库信息/状态/统计/题目列表 |
| 题目卡片 | QuestionBankDetailView.tsx |
题型/难度/维度/状态标签 + hover操作按钮 |
| 添加/编辑题目弹窗 | QuestionBankDetailView.tsx |
题干/类型/难度/维度/评分要点 |
| AI生成弹窗 | QuestionBankDetailView.tsx |
生成数量设置 → AI出题 |
| 批量审核 | QuestionBankDetailView.tsx |
全选/单题通过驳回/批量通过驳回 |
| 提交审核 | QuestionBankDetailView.tsx |
题库状态 DRAFT→PENDING_REVIEW |
| 发布 | QuestionBankDetailView.tsx |
PENDING_REVIEW→PUBLISHED |
组件文件: web/components/views/QuestionBankView.tsx, web/components/views/QuestionBankDetailView.tsx
路由: Route path="question-banks", Route path="question-banks/:id"
服务: web/services/questionBankService.ts
2.4 设置 → 测评模板 /settings (Tab: assessment_templates)
| 画面 | 文件名 | 功能 |
|---|---|---|
| 模板列表 | SettingsView.tsx + AssessmentTemplateManager.tsx |
所有模板列表 |
| 创建/编辑模板弹窗 | AssessmentTemplateManager.tsx |
名称/描述/题数/时间/及格分 |
| 维度配置 | AssessmentTemplateManager.tsx |
添加/删除维度 + 权重 |
| P2配置 | AssessmentTemplateManager.tsx |
attemptLimit/reviewMode/shuffleQuestions/预约时段 |
组件文件: web/components/views/AssessmentTemplateManager.tsx
路由: Route path="settings" (Tab: assessment_templates)
服务: web/services/templateService.ts
三、画面关系图
侧栏导航
│
├── 考核评估 ─────── AssessmentView
│ ├── 答题交互 (MC/SA/追问)
│ ├── 结果展示 (+ 证书弹窗)
│ └── 历史侧栏
│
├── 评估统计 ─────── AssessmentStatsView
│ ├── 统计面板
│ ├── 雷达图
│ └── 趋势图
│
├── 题库管理 ─────── QuestionBankView ──→ QuestionBankDetailView
│ │ ├── 题目列表 (CRUD)
│ │ ├── AI生成弹窗
│ │ └── 审核流程
│ └── 创建题库抽屉
│
└── 系统设置 ─────── SettingsView
└── 测评模板 Tab ── AssessmentTemplateManager
├── 模板列表
└── 创建/编辑弹窗
└── 维度配置
四、后端 API 端点对照
| 前端画面 | 后端 API | Controller |
|---|---|---|
| 考核进行 | POST /assessment/start → GET /assessment/:id/state → POST /assessment/:id/answer |
assessment.controller.ts |
| 证书 | GET /assessment/:id/certificate |
assessment.controller.ts |
| 回顾 | GET /assessment/:id/review |
assessment.controller.ts |
| 历史 | GET /assessment/history |
assessment.controller.ts |
| 统计 | GET /assessment/stats |
assessment.controller.ts |
| 模板CRUD | POST/GET/PUT/DELETE /assessment/templates |
template.controller.ts |
| 题库CRUD | POST/GET/PUT/DELETE /question-banks |
question-bank.controller.ts |
| 题目CRUD | POST/GET/PUT/DELETE /question-banks/:bankId/items |
question-bank.controller.ts |
| AI生成 | POST /question-banks/:id/generate |
question-bank.controller.ts |
| 审核 | POST /question-banks/:id/items/batch-review |
question-bank.controller.ts |
五、已存在测试脚本
| 测试文件 | 覆盖画面 | 项数 | 通过率 |
|---|---|---|---|
tests/assessment.e2e.spec.ts |
考核评估 UI | 8 | 100% ✅ |
tests/full-assessment.e2e.spec.ts |
考核全流程(API+UI) | 18 | 83% ✅(1 flaky) |
tests/question-bank.e2e.spec.ts |
题库管理全按钮 | 33 | 100% ✅ |
test-assessment-smoke.mjs |
烟雾测试(全模块) | 29 | 100% ✅ |
test-e2e-assessment-full-flow.mjs |
端到端全流程 | 29 | 100% ✅ |
test-p2-advanced.mjs |
P2高级功能 | 20 | 100% ✅ |
test-concurrent-assessments.mjs |
并发考核 | 20人 | ✅ |
test-multiround.mjs |
多轮对话 | — | ✅ |
test-question-distribution.mjs |
出题分布 | — | ✅ |
exam-organizer.mjs |
考试组织场景 | — | ✅ |
六、未测试画面
| 画面 | 组件 | 测试覆盖 | 风险 |
|---|---|---|---|
评估统计 /assessment-stats |
AssessmentStatsView.tsx |
❌ 无测试 | 🔴 统计面板/雷达图/趋势图 |
| 设置→测评模板 Tab | AssessmentTemplateManager.tsx |
❌ 无单独测试 | 🟡 维度配置/P2字段/模板CRUD |
待补充测试: AssessmentStatsView 和 AssessmentTemplateManager 两个画面还未覆盖。
七、技术栈
| 层 | 技术 | 文件行数 |
|---|---|---|
| 前端画面 | React 19 + TypeScript + Tailwind CSS v4 | ~6,000 行 |
| 后端 API | NestJS 11 + TypeORM | ~3,500 行 |
| 测试 | Playwright 1.61.0 | ~3,800 行 |
前端组件总行数:
AssessmentView.tsx— ~1,100 行 (最大)QuestionBankDetailView.tsx— ~530 行QuestionBankView.tsx— ~380 行SettingsView.tsx(测评部分) — ~200 行AssessmentStatsView.tsx— ~? (待读)AssessmentTemplateManager.tsx— ~540 行
下一步建议: 补充评估统计画面 + 测评模板配置画面 的 Playwright 全按钮测试。