Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/01-需求分析/02-标题摘要初筛需求详述.md
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1):
- Database: Add user_modules table for fine-grained module permissions
- Database: Add 4 user permissions (view/create/edit/delete) to role_permissions
- Backend: UserService (780 lines) - CRUD with tenant isolation
- Backend: UserController + UserRoutes (648 lines) - 13 API endpoints
- Backend: Batch import users from Excel
- Frontend: UserListPage (412 lines) - list/filter/search/pagination
- Frontend: UserFormPage (341 lines) - create/edit with module config
- Frontend: UserDetailPage (393 lines) - details/tenant/module management
- Frontend: 3 modal components (592 lines) - import/assign/configure
- API: GET/POST/PUT/DELETE /api/admin/users/* endpoints

Architecture Upgrade - Module Permission System:
- Backend: Add getUserModules() method in auth.service
- Backend: Login API returns modules array in user object
- Frontend: AuthContext adds hasModule() method
- Frontend: Navigation filters modules based on user.modules
- Frontend: RouteGuard checks requiredModule instead of requiredVersion
- Frontend: Remove deprecated version-based permission system
- UX: Only show accessible modules in navigation (clean UI)
- UX: Smart redirect after login (avoid 403 for regular users)

Fixes:
- Fix UTF-8 encoding corruption in ~100 docs files
- Fix pageSize type conversion in userService (String to Number)
- Fix authUser undefined error in TopNavigation
- Fix login redirect logic with role-based access check
- Update Git commit guidelines v1.2 with UTF-8 safety rules

Database Changes:
- CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled)
- ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code)
- INSERT 4 permissions + role assignments
- UPDATE PUBLIC tenant with 8 module subscriptions

Technical:
- Backend: 5 new files (~2400 lines)
- Frontend: 10 new files (~2500 lines)
- Docs: 1 development record + 2 status updates + 1 guideline update
- Total: ~4900 lines of code

Status: User management 100% complete, module permission system operational
2026-01-16 13:42:10 +08:00

200 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 标题摘要初筛需求详述
> **文档版本:** v1.0
> **创建日期:** 2025-10-29
> **维护者:** AI智能文献开发团队
> **最后更新:** 2025-10-29
---
## 📋 文档说明
本文档详细描述标题摘要初筛模块的功能需求基于PRD文档进行扩展和细化。
---
## 🎯 功能概述
**标题摘要初筛**是筛选流程的第一阶段,仅基于文献的标题和摘要进行快速筛选。
### 核心子视图
1. **设置与启动视图** - 配置筛选标准、导入文献、启动筛选
2. **表格化审核工作台** - 双模型PICS判断、冲突管理、决策制定
3. **初筛结果视图** - 统计概览、结果列表、导出功能
---
## 📝 功能需求详述
### 需求1: 设置与启动视图
#### FR-TSCR-01.1: 标准参考展示
- **需求**: 页面顶部展示从"研究方案"继承的PICO和入排标准只读
- **优先级**: 高
- **验收标准**:
- 清晰展示PICO框架内容
- 展示纳入标准和排除标准
- 提供"调整本次筛选标准"入口
#### FR-TSCR-01.2: 临时调整筛选标准
- **需求**: 允许用户进行仅对本次筛选生效的临时修改
- **优先级**: 高
- **验收标准**:
- 可修改PICO和入排标准
- 修改不影响原始研究方案
- 在审核工作台有明确提示
#### FR-TSCR-01.3: 文献导入
- **需求**: 仅支持"上传Excel文件"方式,提供模板下载
- **优先级**: 高
- **验收标准**:
- 支持Excel文件上传
- 提供标准模板下载
- 文件格式验证
- 导入结果预览
#### FR-TSCR-01.4: 启动筛选
- **需求**: 导入文献后,激活"开始AI初筛"按钮
- **优先级**: 高
- **验收标准**:
- 按钮状态控制
- 点击后启动AI筛选任务
- 显示任务进度
---
### 需求2: 表格化审核工作台视图 ⭐⭐⭐
#### FR-TSCR-02.1: 表格结构设计
- **需求**: 高信息密度的表格化布局
- **优先级**: 极高
- **验收标准**:
- 两行表头结构(模型区域 + P/I/C/S列
- 主行包含所有关键信息
- 展开行显示证据短语
- 支持展开/收起
#### FR-TSCR-02.2: 双模型PICS判断
- **需求**: DS和Q3模型分别对P/I/C/S四个维度进行判断
- **优先级**: 极高
- **验收标准**:
- 每个维度显示判断结果(✓/✗/?
- 展示双模型的判断结果
- 支持查看详细判断理由
#### FR-TSCR-02.3: 证据短语提取
- **需求**: 展示AI提取的关键证据短语
- **优先级**: 极高
- **验收标准**:
- 展开行显示DS和Q3的证据短语
- 短语清晰标注对应的P/I/C/S维度
- 支持点击查看原文
#### FR-TSCR-02.4: 原文审查模态框
- **需求**: 点击判断图标弹出双视图审查模态框
- **优先级**: 极高
- **验收标准**:
- 左侧显示摘要
- 右侧显示双模型判断详情
- 原文自动高亮
- 支持来源引用查看
---
### 需求3: 冲突管理
#### FR-TSCR-03.1: 冲突识别
- **需求**: 自动识别两模型判断不一致的文献
- **优先级**: 高
- **验收标准**:
- 自动检测冲突项
- 视觉高亮(如行背景色)
- 支持冲突项筛选
#### FR-TSCR-03.2: 冲突处理
- **需求**: 允许用户对冲突项进行人工仲裁
- **优先级**: 高
- **验收标准**:
- 支持查看冲突详情
- 支持选择最终决策
- 记录决策原因
---
### 需求4: 批量操作
#### FR-TSCR-04.1: 批量决策
- **需求**: 支持对非冲突项进行批量决策
- **优先级**: 中
- **验收标准**:
- 支持多选文献
- 批量设置决策结果
- 批量设置决策原因
---
### 需求5: 初筛结果视图
#### FR-TSCR-05.1: 统计概览
- **需求**: 展示筛选统计信息
- **优先级**: 高
- **验收标准**:
- 卡片形式展示统计数字
- 包括:总计、纳入、排除数量
#### FR-TSCR-05.2: PRISMA式排除总结
- **需求**: 展示主要排除原因及数量
- **优先级**: 高
- **验收标准**:
- 列表展示排除原因
- 显示对应文献数量
- 支持点击查看详情
#### FR-TSCR-05.3: 结果列表
- **需求**: Tab页切换查看纳入和排除的文献列表
- **优先级**: 高
- **验收标准**:
- 支持Tab切换
- 表格展示文献信息
- 支持筛选和搜索
#### FR-TSCR-05.4: 导出功能
- **需求**: 将结果列表导出为Excel
- **优先级**: 高
- **验收标准**:
- 支持导出为Excel格式
- 包含完整的文献信息
- 格式规范清晰
---
## 📊 非功能性需求
- **性能**: 单次筛选支持1000+文献
- **响应时间**: 单个文献判断 < 5秒
- **并发**: 支持多用户同时筛选
- **可靠性**: 支持任务中断和恢复
---
## 📚 相关文档
- [PRD文档 - 初筛与复筛](../../00-项目概述/AI智能文献PRD2-初筛与复筛.md)
- [原型图](../../01-设计文档/AI智能文献-标题摘要初筛原型.html)
- [数据库设计](../02-技术设计/01-数据库设计.md)
- [API设计规范](../02-技术设计/02-API设计规范.md)
---
**文档版本:** v1.0
**最后更新:** 2025-10-29