# Tasks: 增加AI调解实时看板数据展示 ## 任务清单 ### Phase 1: 准备工作 (0.5小时) #### Task 1.1: 分析现有代码结构 - [x] 查看TabContainer.jsx中MediationBoard组件的当前实现 - [x] 确认ProcessAPIService.getProcessRecords方法的参数要求 - [x] 分析现有mock数据结构与API返回数据的映射关系 - [x] 确认timeline.mediation.summary字段的存在和格式 ### Phase 2: 核心功能开发 (2-2.5小时) #### Task 2.1: 修改MediationBoard组件 - 添加状态管理 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 导入必要的Hook:`useState`, `useEffect`, `useCaseData` - [x] 添加组件内部状态: - `records` - 存储API返回的调解记录列表 - `loading` - 控制Loading状态显示 - `error` - 存储错误信息 - [x] 从CaseDataContext获取timeline数据和mediation_id #### Task 2.2: 实现API数据获取逻辑 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 在useEffect中监听activeTab变化 - [x] 当activeTab === 'mediation-board'时调用API - [x] 实现getProcessRecords调用逻辑 #### Task 2.3: 实现数据格式化和映射 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 创建数据转换函数,将API返回的数据映射到UI组件需要的格式 - [x] 实现person_type到avatar类型的映射逻辑 - [x] 实现tag_style到UI标签样式的映射 - [x] 提取沟通情况总结:`timeline.mediation.summary` #### Task 2.4: 集成Loading和错误处理 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 在MediationBoard组件中添加Loading状态显示 - [x] 添加错误提示UI - [x] API调用失败时不使用mock数据,直接显示错误状态 ### Phase 3: UI渲染优化 (0.5-1小时) #### Task 3.1: 动态渲染调解记录列表 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 修改现有的boardItems.map逻辑,使用动态records数据 - [x] 保持现有的UI样式和布局不变 - [x] 确保数据正确绑定到各个字段 #### Task 3.2: 动态显示沟通情况总结 - **文件**: `web-app/src/components/dashboard/TabContainer.jsx` - **内容**: - [x] 修改沟通情况总结区域,从timeline.mediation.summary获取数据 - [x] 保持现有的样式和布局 - [x] 添加默认值处理(当summary为空时的显示) ### Phase 4: 测试与验证 (1小时) #### Task 4.1: 功能测试 - [x] 测试Tab切换时正确触发API调用 - [x] 测试API成功返回时数据正确展示 - [x] 测试API失败时显示错误提示(不使用mock数据) - [x] 测试Loading状态正确显示 - [x] 测试错误提示正确显示 #### Task 4.2: 数据验证 - [x] 验证recordList数据格式正确映射 - [x] 验证timeline.mediation.summary正确提取 - [x] 验证各种参与者类型(avatar)正确显示 - [x] 验证时间戳格式正确处理 #### Task 4.3: UI/UX测试 - [x] 验证界面布局保持一致 - [x] 验证交互体验流畅 - [x] 验证响应式设计不受影响 - [x] 验证在不同数据量下的显示效果 ## 实施计划 ### 开发顺序 1. 先实现核心数据获取和状态管理逻辑 2. 再实现UI渲染和数据绑定 3. 最后完善错误处理和用户体验 ### 关键检查点 - ✅ API调用参数正确性 - ✅ 数据格式映射准确性 - ✅ 错误处理完整性 - ✅ UI渲染一致性 ## 风险缓解措施 ### 技术风险 - **API数据格式不匹配**:准备详细的字段映射表,预留适配层 - **网络请求失败**:完善的错误处理和降级机制 - **性能问题**:实现懒加载,避免不必要的API调用 ### 质量保证 - 保留现有功能作为基准对比 - 逐步验证每个功能点 - 充分的错误场景测试 ## 验收标准检查清单 - [x] Tab切换时正确调用API - [x] 数据成功获取并正确展示 - [x] 沟通总结正确显示 - [x] Loading状态正常工作 - [x] 错误处理机制完善 - [x] UI样式保持一致 - [x] 交互体验流畅自然