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
200 lines
5.0 KiB
Markdown
200 lines
5.0 KiB
Markdown
# 标题摘要初筛需求详述
|
||
|
||
> **文档版本:** 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智能文献PRD(2)-初筛与复筛.md)
|
||
- [原型图](../../01-设计文档/AI智能文献-标题摘要初筛原型.html)
|
||
- [数据库设计](../02-技术设计/01-数据库设计.md)
|
||
- [API设计规范](../02-技术设计/02-API设计规范.md)
|
||
|
||
---
|
||
|
||
**文档版本:** v1.0
|
||
**最后更新:** 2025-10-29
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|