Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/05-开发记录/2025-01-23_全文复筛前端逻辑调整.md
HaHafeng b47079b387 feat(iit): Phase 1.5 AI对话集成REDCap真实数据完成
- feat: ChatService集成DeepSeek-V3实现AI对话(390行)
- feat: SessionMemory实现上下文记忆(最近3轮对话,170行)
- feat: 意图识别支持REDCap数据查询(关键词匹配)
- feat: REDCap数据注入LLM(queryRedcapRecord, countRedcapRecords, getProjectInfo)
- feat: 解决LLM幻觉问题(基于真实数据回答,明确system prompt)
- feat: 即时反馈(正在查询...提示)
- test: REDCap查询测试通过(test0102项目,10条记录,ID 7患者详情)
- docs: 创建Phase1.5开发完成记录(313行)
- docs: 更新Phase1.5开发计划(标记完成)
- docs: 更新MVP开发任务清单(Phase 1.5完成)
- docs: 更新模块当前状态(60%完成度)
- docs: 更新系统总体设计文档(v2.6)
- chore: 删除测试脚本(test-redcap-query-for-ai.ts, check-env-config.ts)
- chore: 移除REDCap测试环境变量(REDCAP_TEST_*)

技术亮点:
- AI基于REDCap真实数据对话,不编造信息
- 从数据库读取项目配置,不使用环境变量
- 企业微信端测试通过,用户体验良好

测试通过:
-  查询项目记录总数(10条)
-  查询特定患者详情(ID 7)
-  项目信息查询
-  上下文记忆(3轮对话)
-  即时反馈提示

影响范围:IIT Manager Agent模块
2026-01-03 22:48:10 +08:00

6.9 KiB
Raw Blame History

全文复筛前端逻辑调整 - Settings页面优化

日期: 2025-01-23
调整原因: 用户反馈逻辑错误,需要区分"文献列表导入"和"PDF上传"两个独立步骤
状态: 已完成


🔴 问题发现

原始错误设计:

步骤1: 导入待复筛文献
├── Tab1: 从标题摘要初筛导入
├── Tab2: 手动上传Excel ❌ 错误设计
│   └── 上传包含文献信息的Excel混淆了元信息和PDF
└── Tab3: 从知识库选择

错误点

  • Tab2暗示可以通过Excel导入PDF但Excel不可能包含PDF文件
  • 没有区分"文献元信息"和"PDF全文"两个概念
  • 流程不清晰,用户容易混淆

调整后的正确逻辑

三步流程:

步骤1: 获取待复筛的文献列表(只获取元信息)
├── Tab1: 从标题摘要初筛导入
│   └── 导入上一环节"已纳入"的文献元信息
└── Tab2: 手动上传Excel
    └── 上传包含文献元信息的ExcelTitle, Abstract, PMID等
    └── 不包含PDF文件

步骤2: 上传全文文献为每篇文献上传PDF
├── 显示文献列表表格
├── 每行显示PDF状态待上传/上传中/已就绪/失败)
└── 操作列提供两种方式:
    ├── (1) 手动上传PDFMVP当前方式
    └── (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摘要

可选字段
   PMIDDOIAuthors作者)、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. 步骤1:获取文献列表(只要标题、摘要等元信息)
  2. 步骤2为每篇文献上传PDF一对一关联
  3. 步骤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必须

  1. 前端逻辑调整(已完成)
  2. 实现Excel解析功能解析文献元信息
  3. 实现PDF上传API对接

优先级P2建议

  1. PDF批量上传拖拽多个PDF文件
  2. 从知识库选择PDF功能
  3. Excel模板下载功能

📝 备注

关键设计原则

  1. 概念分离:文献元信息 ≠ PDF文件
  2. 流程清晰:三步流程,逐步推进
  3. 灵活性允许部分文献无PDF也可启动

用户体验优化

  • 每一步都有清晰的说明
  • 不同状态有不同的提示
  • 支持重新上传PDF
  • 预留知识库入口

文档版本: v1.0
最后更新: 2025-01-23
相关文档: 2025-01-23_全文复筛前端开发完成.md