typical-case-search
集成CaseAPIService的多个API实现典型案例查询、筛选、列表展示和详情查看的完整功能。支持案例类型(判决文书/调解案例)切换,并根据不同案例类型展示对应的数据和详情内容。
查询条件表单布局MUST优化,提升用户体验和操作效率。
Given 用户点击"典型案例查询"工具
When 弹窗打开
Then 查询条件区域第一行显示关键词输入框(占满整行)
And 第二行依次显示:案例类型单选按钮组、纠纷类型下拉框、查询按钮、重置按钮
And 案例类型默认选中"判决文书"
And 不显示纠纷发生时间RangePicker组件
And 不显示案例类型筛选卡片
And 保留发生时间和纠纷发生地树形筛选卡片
切换案例类型时,相关筛选条件MUST自动重新加载对应数据。
Given 用户当前选中判决文书案例类型
When 用户点击切换到调解案例
Then 系统调用CaseAPIService.getDisputeTypes('mediation')重新加载纠纷类型下拉数据
And 系统调用CaseAPIService.getMediationYearStatistics()重新加载发生时间统计数据
And 系统调用CaseAPIService.getAreaStatistics('mediation')重新加载纠纷发生地统计数据
And 纠纷类型下拉框选项更新为调解案例的纠纷类型
And 发生时间树形卡片节点更新为调解案例的年份统计
And 纠纷发生地树形卡片节点更新为调解案例的地区统计
And 当前选中的纠纷类型被重置
Given 用户当前选中调解案例类型
When 用户点击切换到判决文书
Then 系统调用CaseAPIService.getDisputeTypes('judgment')重新加载纠纷类型下拉数据
And 系统调用CaseAPIService.getYearStatistics()重新加载发生时间统计数据
And 系统调用CaseAPIService.getAreaStatistics('judgment')重新加载纠纷发生地统计数据
And 纠纷类型下拉框选项更新为判决文书的纠纷类型
And 发生时间树形卡片节点更新为判决文书的年份统计
And 纠纷发生地树形卡片节点更新为判决文书的地区统计
And 当前选中的纠纷类型被重置
系统MUST支持根据查询条件和案例类型动态加载案例列表数据。
Given 用户点击典型案例查询工具
When 弹窗打开
Then 系统调用CaseAPIService.getCourtCases({page: 1, size: 10})加载默认判决文书列表
And 显示Loading状态
And 加载成功后展示判决文书列表数据
And 记录总数显示API返回的total字段值
Given 用户选中判决文书案例类型
And 用户填写了查询条件(关键词、纠纷类型、发生时间、发生地)
When 用户点击查询按钮
Then 系统构建查询参数:{page: 1, size: 10, keyword, caseTypeFirst, occurrenceYears, regionList}
And occurrenceYears和regionList多个值用英文逗号拼接
And 系统调用CaseAPIService.getCourtCases(params)
And 显示Loading状态
And 加载成功后展示判决文书列表数据
And 分页组件使用返回的total和size计算页数
Given 用户选中调解案例类型
And 用户填写了查询条件
When 用户点击查询按钮
Then 系统调用CaseAPIService.getMediationCases(params)
And 显示Loading状态
And 加载成功后展示调解案例列表数据
不同案例类型的列表数据MUST使用不同的字段映射。
Given 系统成功加载调解案例列表数据
When 渲染列表项
Then 标题字段映射为case_title
And 发生时间字段映射为occur_time并格式化为"YYYY年MM月DD日"
And 发生地点字段映射为que_prov_name + "/" + que_city_name
And 纠纷类型字段映射为case_type_first_name
And 案例类型标签显示"调解案例"
And 案例ID字段映射为id
Given 系统成功加载判决文书列表数据
When 渲染列表项
Then 标题字段映射为case_name
And 发生时间字段映射为judgment_date并格式化为"YYYY年MM月DD日"
And 发生地点字段映射为court
And 纠纷类型字段映射为case_reason
And 案例类型标签显示"判决文书"
And 案例ID字段映射为cpws_case_info_id
点击案例项时MUST根据案例类型调用对应的详情API。
Given 用户在列表中看到一个调解案例
When 用户点击该案例
Then 系统从案例数据中提取id字段
And 系统调用CaseAPIService.getMediationCaseDetail(id)
And 显示Loading状态
And 加载成功后打开详情弹窗
And 详情弹窗标题显示"典型案例详情"
Given 用户在列表中看到一个判决文书
When 用户点击该案例
Then 系统从案例数据中提取cpws_case_info_id字段
And 系统调用CaseAPIService.getCourtCaseDetail(cpws_case_info_id)
And 显示Loading状态
And 加载成功后打开详情弹窗
And 详情弹窗标题显示"判决文书详情"
调解案例详情MUST展示特定的字段和布局。
Given 系统成功加载调解案例详情数据
When 渲染案件基本信息区域
Then 第一行显示案件标题,取case_title字段
And 第二行显示纠纷发生时间,取occur_time字段并格式化
And 第二行显示发生地点,取que_prov_name + "/" + que_city_name
And 第二行显示纠纷类型,取case_type_first_name字段
And 不显示调解组织字段
Given 系统成功加载调解案例详情数据
When 渲染案例内容区域
Then 显示案例概述section,取case_des字段
And 显示原告诉讼请求section,取case_claim字段
And 显示调解结果section,取agree_content字段
And 不显示其他section(法院审理与判决、调解背景、双方立场等)
判决文书详情MUST展示完整的裁判文书信息。
Given 系统成功加载判决文书详情数据
When 渲染案件基本信息区域
Then 第一行显示案件标题,取case_name字段
And 第一行显示案号,取case_number字段
And 第二行显示判决日期(而非纠纷发生时间),取judgment_date字段并格式化
And 第二行显示发生地点,取court字段
And 第二行显示纠纷类型,取case_reason字段
Given 系统成功加载判决文书详情数据
When 渲染案例内容区域
Then 显示案例概述section,取basic_case_info字段
And 显示原告介绍section(而非原告诉讼请求),取plaintiff字段
And 显示被告介绍section(新增),取defendant字段
And 显示法院审理与判决section,取trial_finding字段
And 显示审理经过section(而非调解过程),取trial_process字段
And 显示审理程序section(而非调解方案),取trial_procedure字段
And 显示调解结果section,取judgment字段
And 显示案例相关法律条文section,取legal_basis字段
And 不显示调解背景section
And 不显示双方立场section
系统MUST支持案例列表的分页浏览。
Given 用户在查看第1页案例列表
And 总记录数大于每页显示数量
When 用户点击下一页按钮
Then 系统调用对应的案例列表API,传入page=2参数
And 显示Loading状态
And 加载成功后展示第2页数据
And 分页组件高亮显示当前页码
API调用失败时MUST给用户明确的错误提示。
Given 用户点击查询按钮
When API调用失败(网络错误、服务器错误等)
Then 隐藏Loading状态
And 使用message.error显示"加载案例列表失败"提示
And 控制台输出详细错误信息
Given 用户点击某个案例查看详情
When API调用失败
Then 隐藏Loading状态
And 使用message.error显示"加载案例详情失败"提示
And 不打开详情弹窗
移除查询条件中的纠纷发生时间日期范围选择器。
Given 用户点击典型案例查询工具
When 弹窗打开
Then 查询条件区域不显示纠纷发生时间RangePicker组件
移除筛选器区域中的案例类型树形卡片。
Given 用户打开典型案例查询弹窗
When 用户查看筛选器区域
Then 不显示案例类型筛选卡片
And 只显示发生时间和纠纷发生地筛选卡片
所有日期字段统一格式化为"YYYY年MM月DD日"格式,如"2025年01月20日"。
调解案例列表字段映射:
| 显示字段 | API字段 | 备注 |
|---------|---------|------|
| 标题 | case_title | - |
| 发生时间 | occur_time | 需格式化 |
| 发生地点 | que_prov_name + "/" + que_city_name | 字符串拼接 |
| 纠纷类型 | case_type_first_name | - |
| 案例ID | id | - |
判决文书列表字段映射:
| 显示字段 | API字段 | 备注 |
|---------|---------|------|
| 标题 | case_name | - |
| 发生时间 | judgment_date | 需格式化 |
| 发生地点 | court | - |
| 纠纷类型 | case_reason | - |
| 案例ID | cpws_case_info_id | - |
调解案例详情字段映射:
| 显示标签 | API字段 | 备注 |
|---------|---------|------|
| 案件标题 | case_title | - |
| 纠纷发生时间 | occur_time | 需格式化 |
| 发生地点 | que_prov_name + "/" + que_city_name | 字符串拼接 |
| 纠纷类型 | case_type_first_name | - |
| 案例概述 | case_des | - |
| 原告诉讼请求 | case_claim | - |
| 调解结果 | agree_content | - |
判决文书详情字段映射:
| 显示标签 | API字段 | 备注 |
|---------|---------|------|
| 案件标题 | case_name | - |
| 案号 | case_number | - |
| 判决日期 | judgment_date | 需格式化 |
| 发生地点 | court | - |
| 纠纷类型 | case_reason | - |
| 案例概述 | basic_case_info | - |
| 原告介绍 | plaintiff | - |
| 被告介绍 | defendant | - |
| 法院审理与判决 | trial_finding | - |
| 审理经过 | trial_process | - |
| 审理程序 | trial_procedure | - |
| 调解结果 | judgment | - |
| 案例相关法律条文 | legal_basis | - |
1.0.0