Summary: - Implement intelligent multi-metric grouping detection algorithm - Add direction 1: timepoint-as-row, metric-as-column (analysis format) - Add direction 2: timepoint-as-column, metric-as-row (display format) - Fix column name pattern detection (FMA___ issue) - Maintain original Record ID order in output - Add full-select/clear buttons in UI - Integrate into TransformDialog with Radio selection - Update 3 documentation files Technical Details: - Python: detect_metric_groups(), apply_multi_metric_to_long(), apply_multi_metric_to_matrix() - Backend: 3 new methods in QuickActionService - Frontend: MultiMetricPanel.tsx (531 lines) - Total: ~1460 lines of new code Status: Fully tested and verified, ready for production
6.9 KiB
6.9 KiB
全文复筛前端逻辑调整 - Settings页面优化
日期: 2025-01-23
调整原因: 用户反馈逻辑错误,需要区分"文献列表导入"和"PDF上传"两个独立步骤
状态: ✅ 已完成
🔴 问题发现
原始错误设计:
步骤1: 导入待复筛文献
├── Tab1: 从标题摘要初筛导入
├── Tab2: 手动上传Excel ❌ 错误设计
│ └── 上传包含文献信息的Excel(混淆了元信息和PDF)
└── Tab3: 从知识库选择
错误点:
- Tab2暗示可以通过Excel导入PDF,但Excel不可能包含PDF文件
- 没有区分"文献元信息"和"PDF全文"两个概念
- 流程不清晰,用户容易混淆
✅ 调整后的正确逻辑
三步流程:
步骤1: 获取待复筛的文献列表(只获取元信息)
├── Tab1: 从标题摘要初筛导入
│ └── 导入上一环节"已纳入"的文献元信息
└── Tab2: 手动上传Excel
└── 上传包含文献元信息的Excel(Title, Abstract, PMID等)
└── 不包含PDF文件
步骤2: 上传全文文献(为每篇文献上传PDF)
├── 显示文献列表表格
├── 每行显示PDF状态(待上传/上传中/已就绪/失败)
└── 操作列提供两种方式:
├── (1) 手动上传PDF(MVP当前方式)
└── (2) 从知识库选择(技术债务)
步骤3: 启动全文复筛
└── 要求:至少1篇文献的PDF已就绪
📝 详细修改内容
1. 步骤1改名:获取待复筛的文献列表
修改前:
步骤1: 导入待复筛文献
修改后:
步骤1: 获取待复筛的文献列表
说明:首先导入文献的基本信息(标题、摘要、作者等),PDF全文将在下一步上传
改动理由:
- 明确说明这一步只获取"文献列表"(元信息)
- 不包含PDF文件
2. Tab2改名:手动上传Excel(只含元信息)
修改前:
Tab2: 手动上传Excel
描述:上传包含文献列表的Excel文件(❌ 没有说明不含PDF)
修改后:
Tab2: 手动上传Excel
说明:上传包含文献元信息的Excel文件(标题、摘要、PMID等),不包含PDF文件。PDF全文将在下一步上传。
Excel模板字段说明:
必填字段:
• Title(标题)
• Abstract(摘要)
可选字段:
• PMID、DOI、Authors(作者)、Journal(期刊)、Year(年份)
改动理由:
- 明确说明"不包含PDF文件"
- 提供Excel模板字段说明
- 添加"下载Excel模板"按钮
3. 删除Tab3:从知识库选择
修改前:
Tab3: 从知识库选择
修改后:
(删除Tab3,知识库功能移到步骤2)
改动理由:
- 知识库选择应该在"上传PDF"环节,而不是"获取文献列表"环节
- 简化Tab数量(2个Tab更清晰)
4. 步骤2重命名:上传全文文献
修改前:
步骤2: 全文获取与管理
修改后:
步骤2: 上传全文文献
说明:为每篇文献上传对应的PDF全文。您可以手动上传本地PDF文件,或从知识库选择已有PDF(开发中)。
改动理由:
- "上传全文文献"比"全文获取与管理"更明确
- 明确说明这一步的目的是"上传PDF"
5. 操作列增强:支持两种上传方式
修改前:
操作列:
- 未上传:[上传PDF]按钮
- 已就绪:显示"已就绪"
修改后:
操作列:
- 未上传/失败:
├── [上传PDF]按钮(手动上传本地PDF)
└── [知识库]按钮(从知识库选择,暂禁用)
- 已就绪:
├── ✓ 已完成
└── [重新上传]按钮(允许替换PDF)
改动理由:
- 提供两种上传方式选项
- 已就绪的文献也可以重新上传
6. 批量操作工具栏
新增:
步骤2顶部工具栏:
- 左侧:已选择 X 篇 | [批量删除]按钮
- 右侧:[从知识库批量导入]按钮(暂禁用)
改动理由:
- 支持批量操作
- 为未来的知识库批量导入预留入口
7. 提示信息优化
修改前:
提示:至少需要1篇文献的PDF已就绪才能启动复筛任务。
修改后:
未上传任何PDF:
提示:至少需要1篇文献的PDF已就绪才能启动复筛任务。请点击表格中的【上传PDF】按钮为文献上传全文。
部分PDF已就绪:
提示:已有 X 篇文献的PDF就绪,还有 Y 篇待上传。您可以继续上传剩余PDF,或直接启动复筛(未上传PDF的文献将被跳过)。
全部PDF已就绪:
提示:已有 X 篇文献的PDF就绪,可以启动全文复筛任务
改动理由:
- 根据不同状态显示不同提示
- 明确告知操作步骤
🎯 核心改进点
概念分离:
文献元信息(步骤1)
↓
PDF全文文件(步骤2)
↓
启动筛选(步骤3)
流程清晰化:
- 步骤1:获取文献列表(只要标题、摘要等元信息)
- 步骤2:为每篇文献上传PDF(一对一关联)
- 步骤3:启动全文复筛(要求至少1篇PDF就绪)
📊 修改统计
修改文件:1个
- FulltextSettings.tsx (621行)
修改内容:
- 删除代码:~50行(删除Tab3知识库选择)
- 修改代码:~150行(重写步骤说明、提示信息)
- 新增代码:~30行(批量操作工具栏、重新上传按钮)
Linter错误:0个
✅ 验收标准
UI展示:
- ✅ 步骤1有2个Tab(从初筛导入 / 手动上传Excel)
- ✅ 步骤1的Excel上传明确说明"不包含PDF"
- ✅ 步骤2标题为"上传全文文献"
- ✅ 步骤2每行有"上传PDF"和"知识库"按钮
- ✅ 步骤2的提示根据PDF状态动态变化
逻辑正确:
- ✅ Excel只导入文献元信息
- ✅ PDF通过表格中的"上传PDF"按钮逐个上传
- ✅ 知识库功能在步骤2,不在步骤1
- ✅ 允许部分文献没有PDF也可以启动任务
🚀 后续工作
优先级P1(必须):
- ✅ 前端逻辑调整(已完成)
- ⏳ 实现Excel解析功能(解析文献元信息)
- ⏳ 实现PDF上传API对接
优先级P2(建议):
- PDF批量上传(拖拽多个PDF文件)
- 从知识库选择PDF功能
- Excel模板下载功能
📝 备注
关键设计原则:
- 概念分离:文献元信息 ≠ PDF文件
- 流程清晰:三步流程,逐步推进
- 灵活性:允许部分文献无PDF也可启动
用户体验优化:
- 每一步都有清晰的说明
- 不同状态有不同的提示
- 支持重新上传PDF
- 预留知识库入口
文档版本: v1.0
最后更新: 2025-01-23
相关文档: 2025-01-23_全文复筛前端开发完成.md