| | |
| | | ### Requirement: 状态控制按钮显示逻辑 |
| | | 系统 SHALL 根据案件当前状态动态显示状态控制按钮。 |
| | | |
| | | #### Scenario: 案件处于初始或进行中状态 |
| | | Given 案件状态为0(初始)或1(进行中) |
| | | #### Scenario: 案件处于进行中状态 |
| | | Given 案件状态为1(进行中) |
| | | When 页面加载时 |
| | | Then 应显示"终止"按钮,样式为主题蓝色 |
| | | Then 应显示"终止"按钮,样式为红色渐变 |
| | | |
| | | #### Scenario: 案件处于暂停状态 |
| | | Given 案件状态为5(暂停) |
| | | When 页面加载时 |
| | | Then 应显示"恢复"按钮,样式为主题绿色 |
| | | Then 应显示"恢复"按钮,样式为绿色渐变 |
| | | |
| | | #### Scenario: 案件处于其他状态 |
| | | Given 案件状态为2(成功)、3(失败)、4(终止)或其他状态 |
| | | Given 案件状态为0(初始)、2(成功)、3(失败)、4(人工接管)或其他状态 |
| | | When 页面加载时 |
| | | Then 不应显示状态控制按钮 |
| | | |
| | |
| | | Given 用户确认终止操作 |
| | | When 系统调用ProcessAPIService.updateMediationState({action: 0}) |
| | | And API返回成功响应 |
| | | Then 应显示成功消息"案件状态更新成功" |
| | | Then 应显示成功消息"调解已终止" |
| | | And 应触发mediation-terminated事件关闭外呼气泡 |
| | | And 应重新加载当前页面数据 |
| | | And 按钮状态应相应更新 |
| | | |
| | |
| | | Given 用户确认恢复操作 |
| | | When 系统调用ProcessAPIService.updateMediationState({action: 1}) |
| | | And API返回成功响应 |
| | | Then 应显示成功消息"案件状态更新成功" |
| | | Then 应显示成功消息"调解已恢复" |
| | | And 应重新加载当前页面数据 |
| | | And 按钮状态应相应更新 |
| | | |
| | |
| | | Then 应显示数据加载指示器 |
| | | And 应暂时禁用用户交互 |
| | | |
| | | ### Requirement: 状态显示规则 |
| | | 系统 SHALL 根据案件状态显示相应的状态文本和指示器颜色。 |
| | | |
| | | #### Scenario: 进行中状态显示 |
| | | Given 案件状态为1(进行中) |
| | | When 页面显示状态信息时 |
| | | Then 状态文本应显示为"调解进行中-阶段X:节点名称" |
| | | And 状态圆点应显示为绿色 |
| | | |
| | | #### Scenario: 暂停状态显示 |
| | | Given 案件状态为5(暂停) |
| | | When 页面显示状态信息时 |
| | | Then 状态文本应显示为"AI调解暂停中" |
| | | And 状态圆点应显示为红色(#e63946) |
| | | |
| | | ### Requirement: 外呼气泡联动关闭 |
| | | 终止操作成功后 SHALL 自动关闭外呼气泡组件。 |
| | | |
| | | #### Scenario: 终止成功后关闭外呼气泡 |
| | | Given 用户成功执行终止操作 |
| | | When API返回成功响应 |
| | | Then 系统应触发自定义事件"mediation-terminated" |
| | | And OutboundCallWidget应监听该事件 |
| | | And 外呼气泡应自动关闭(isVisible=false) |
| | | And 外呼任务数据应从localStorage中清除 |
| | | |
| | | ## MODIFIED Requirements |
| | | |
| | | ### Requirement: 现有按钮布局调整 |
| | | 人工接管按钮的布局 SHALL 为新按钮预留空间。 |
| | | ### Requirement: 按钮组件位置调整 |
| | | 状态控制按钮 SHALL 位于FloatingControlPanel组件中。 |
| | | |
| | | #### Scenario: 按钮容器布局 |
| | | Given 页面包含人工接管按钮 |
| | | Given 页面包含FloatingControlPanel组件 |
| | | When 添加状态控制按钮后 |
| | | Then 两个按钮应水平排列 |
| | | And 状态控制按钮应位于人工接管按钮右侧 |
| | | And 按钮间应有适当的间距 |
| | | Then 状态控制按钮和人工接管按钮应水平排列 |
| | | And 状态控制按钮应位于人工接管按钮左侧 |
| | | And 按钮间应有15px的间距 |
| | | |
| | | #### Scenario: 样式隔离 |
| | | Given 页面同时包含状态控制按钮和人工接管按钮 |
| | | When 渲染页面时 |
| | | Then 状态控制按钮应使用独立的CSS类名(state-control-btn) |
| | | And 人工接管按钮应使用独立的CSS类名(floating-control-btn) |
| | | And 两种按钮样式应完全隔离互不影响 |
| | | |
| | | ## REMOVED Requirements |
| | | 无 |