# Capability: Mediation Dashboard(调解看板) ## MODIFIED Requirements ### Requirement: AI调解实时看板数据展示 系统SHALL在用户切换到"AI调解实时看板"Tab时动态获取并展示真实的调解记录数据。 #### Scenario: Tab切换触发数据加载 - **WHEN** 用户点击"AI调解实时看板"Tab页签 - **THEN** 系统自动调用ProcessAPIService.getProcessRecords接口 - **AND** 使用当前案件的mediation_id作为查询参数 - **AND** 显示Loading状态直到数据加载完成 #### Scenario: 成功获取调解记录数据 - **WHEN** API调用成功返回recordList数据 - **THEN** 系统将数据格式化并动态渲染到看板列表中 - **AND** 每条记录正确显示参与者头像、名称、时间、内容和标签 - **AND** 保持原有的UI样式和布局不变 #### Scenario: 沟通情况总结展示 - **WHEN** 系统获取到timeline数据 - **THEN** 从timeline.mediation.summary字段提取沟通情况总结 - **AND** 在看板顶部以摘要形式展示给用户 - **AND** 当summary为空时显示默认提示文本 #### Scenario: API调用失败处理 - **WHEN** ProcessAPIService.getProcessRecords调用失败 - **THEN** 系统显示友好的错误提示信息 - **AND** 不使用mock数据进行降级展示 - **AND** 在控制台输出详细的错误日志供调试 #### Scenario: Loading状态管理 - **WHEN** 数据正在加载过程中 - **THEN** 在看板区域显示Ant Design Spin组件 - **AND** 禁用Tab切换以防止重复请求 - **AND** Loading状态在数据加载完成后自动消失 ### Requirement: 调解记录数据结构映射 系统SHALL将API返回的recordList数据正确映射到UI组件所需的数据结构。 #### Scenario: 数据字段映射 - **WHEN** 处理API返回的调解记录 - **THEN** 将record.type映射为avatar类型('ai'|'applicant'|'respondent') - **AND** 将record.participant_name映射为显示名称 - **AND** 将record.created_time映射为显示时间 - **AND** 将record.content映射为消息内容 - **AND** 将record.tags正确转换为UI标签组件 #### Scenario: 参与者类型识别 - **WHEN** 渲染调解记录项 - **THEN** 根据参与者类型显示不同的头像样式和颜色 - **AND** AI调解员显示机器人图标和蓝色渐变背景 - **AND** 申请人显示首字母和深蓝色背景 - **AND** 被申请人显示首字母和橙色渐变背景