edit | blame | history | raw

Tasks: integrate-agreement-api

实施任务清单

Phase 1: 基础架构准备

  • [x] T1: 在 AgreementSection 组件中添加状态管理
  • 添加 agreementContentloadingerror 状态
  • 添加 editModalVisibleeditContent 弹窗状态
  • CaseDataContext 获取 caseId

Phase 2: 协议内容加载与展示

  • [x] T2: 实现首次加载协议内容
  • 组件挂载时调用 MediationAgreementAPIService.generateAgreement(caseId)
  • 将返回的 agreeContent 存入状态并展示
  • 处理 loading 和 error 状态
  • [x] T3: 实现协议内容渲染

  • 创建 renderAgreementContent 函数
  • 处理 \n 换行符转换为 <br/> 或段落
  • 简单过滤或保留 Markdown 符号(如 **

Phase 3: 操作按钮功能实现

  • [x] T4: 添加四个操作按钮 UI
  • 按原型样式添加:确认协议(绿)、修改协议(黄)、下载协议(蓝)、重新生成(青)
  • 按钮样式参照原型 index.html.agreement-btn-*
  • [x] T5: 实现"确认协议"功能

  • 调用 MediationAgreementAPIService.confirmAgreement(caseId, 'mediator')
  • 成功后显示友好消息提示
  • [x] T6: 实现"下载协议"功能

  • 调用 MediationAgreementAPIService.downloadAgreement(caseId)
  • 成功后显示友好消息提示
  • [x] T7: 实现"重新生成"功能

  • 调用 MediationAgreementAPIService.generateAgreement(caseId)
  • 成功后刷新协议内容展示并显示友好消息提示

Phase 4: 修改协议弹窗

  • [x] T8: 创建修改协议弹窗 UI
  • 使用 Ant Design Modal 组件
  • 参照原型 doc_edit.html 设计弹窗样式
  • 包含:编辑提示、可编辑内容区域、保存按钮
  • [x] T9: 实现弹窗数据加载

  • 点击"修改协议"按钮打开弹窗
  • 调用 MediationAgreementAPIService.getAgreementDetail(caseId) 获取内容
  • 将内容展示在可编辑区域
  • [x] T10: 实现保存修改功能

  • 点击"保存修改"按钮
  • 调用 MediationAgreementAPIService.updateAgreement(caseId, editedContent)
  • 成功后显示消息提示并关闭弹窗
  • 调用 MediationAgreementAPIService.generateAgreement(caseId) 刷新父页面

Phase 5: 验证与完善

  • [x] T11: 功能验证
  • 验证首次加载协议内容正确展示
  • 验证四个操作按钮功能正常
  • 验证修改弹窗打开、编辑、保存流程
  • 验证各操作的消息提示
  • [x] T12: 错误处理完善

  • 添加 API 调用失败的错误提示
  • 添加 loading 状态展示

依赖关系

T1 → T2 → T3
T1 → T4 → T5, T6, T7
T1 → T8 → T9 → T10
T3, T7, T10 → T11 → T12

验收标准

  1. 页面加载后自动展示调解协议内容
  2. 四个操作按钮功能正常,有友好消息提示
  3. 修改协议弹窗样式与原型 doc_edit.html 一致
  4. 所有 API 调用有 loading 状态和错误处理

实施状态: ✅ 已完成 (2026-02-06)