edit | blame | history | raw

Specification: 典型案例查询API集成

Capability

typical-case-search

Overview

集成CaseAPIService的多个API实现典型案例查询、筛选、列表展示和详情查看的完整功能。支持案例类型(判决文书/调解案例)切换,并根据不同案例类型展示对应的数据和详情内容。

ADDED Requirements

Requirement: 查询条件布局优化

查询条件表单布局MUST优化,提升用户体验和操作效率。

Scenario: 用户打开典型案例查询弹窗

Given 用户点击"典型案例查询"工具
When 弹窗打开
Then 查询条件区域第一行显示关键词输入框(占满整行)
And 第二行依次显示:案例类型单选按钮组、纠纷类型下拉框、查询按钮、重置按钮
And 案例类型默认选中"判决文书"
And 不显示纠纷发生时间RangePicker组件
And 不显示案例类型筛选卡片
And 保留发生时间和纠纷发生地树形筛选卡片

Requirement: 案例类型切换联动加载

切换案例类型时,相关筛选条件MUST自动重新加载对应数据。

Scenario: 用户切换到调解案例

Given 用户当前选中判决文书案例类型
When 用户点击切换到调解案例
Then 系统调用CaseAPIService.getDisputeTypes('mediation')重新加载纠纷类型下拉数据
And 系统调用CaseAPIService.getMediationYearStatistics()重新加载发生时间统计数据
And 系统调用CaseAPIService.getAreaStatistics('mediation')重新加载纠纷发生地统计数据
And 纠纷类型下拉框选项更新为调解案例的纠纷类型
And 发生时间树形卡片节点更新为调解案例的年份统计
And 纠纷发生地树形卡片节点更新为调解案例的地区统计
And 当前选中的纠纷类型被重置

Scenario: 用户切换到判决文书

Given 用户当前选中调解案例类型
When 用户点击切换到判决文书
Then 系统调用CaseAPIService.getDisputeTypes('judgment')重新加载纠纷类型下拉数据
And 系统调用CaseAPIService.getYearStatistics()重新加载发生时间统计数据
And 系统调用CaseAPIService.getAreaStatistics('judgment')重新加载纠纷发生地统计数据
And 纠纷类型下拉框选项更新为判决文书的纠纷类型
And 发生时间树形卡片节点更新为判决文书的年份统计
And 纠纷发生地树形卡片节点更新为判决文书的地区统计
And 当前选中的纠纷类型被重置

Requirement: 案例列表数据加载

系统MUST支持根据查询条件和案例类型动态加载案例列表数据。

Scenario: 首次打开弹窗默认加载判决文书

Given 用户点击典型案例查询工具
When 弹窗打开
Then 系统调用CaseAPIService.getCourtCases({page: 1, size: 10})加载默认判决文书列表
And 显示Loading状态
And 加载成功后展示判决文书列表数据
And 记录总数显示API返回的total字段值

Scenario: 查询判决文书案例

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计算页数

Scenario: 查询调解案例

Given 用户选中调解案例类型
And 用户填写了查询条件
When 用户点击查询按钮
Then 系统调用CaseAPIService.getMediationCases(params)
And 显示Loading状态
And 加载成功后展示调解案例列表数据

Requirement: 案例列表字段映射

不同案例类型的列表数据MUST使用不同的字段映射。

Scenario: 展示调解案例列表

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

Scenario: 展示判决文书列表

Given 系统成功加载判决文书列表数据
When 渲染列表项
Then 标题字段映射为case_name
And 发生时间字段映射为judgment_date并格式化为"YYYY年MM月DD日"
And 发生地点字段映射为court
And 纠纷类型字段映射为case_reason
And 案例类型标签显示"判决文书"
And 案例ID字段映射为cpws_case_info_id

Requirement: 案例详情加载

点击案例项时MUST根据案例类型调用对应的详情API。

Scenario: 点击调解案例查看详情

Given 用户在列表中看到一个调解案例
When 用户点击该案例
Then 系统从案例数据中提取id字段
And 系统调用CaseAPIService.getMediationCaseDetail(id)
And 显示Loading状态
And 加载成功后打开详情弹窗
And 详情弹窗标题显示"典型案例详情"

Scenario: 点击判决文书查看详情

Given 用户在列表中看到一个判决文书
When 用户点击该案例
Then 系统从案例数据中提取cpws_case_info_id字段
And 系统调用CaseAPIService.getCourtCaseDetail(cpws_case_info_id)
And 显示Loading状态
And 加载成功后打开详情弹窗
And 详情弹窗标题显示"判决文书详情"

Requirement: 调解案例详情展示

调解案例详情MUST展示特定的字段和布局。

Scenario: 展示调解案例详情基本信息

Given 系统成功加载调解案例详情数据
When 渲染案件基本信息区域
Then 第一行显示案件标题,取case_title字段
And 第二行显示纠纷发生时间,取occur_time字段并格式化
And 第二行显示发生地点,取que_prov_name + "/" + que_city_name
And 第二行显示纠纷类型,取case_type_first_name字段
And 不显示调解组织字段

Scenario: 展示调解案例详情内容

Given 系统成功加载调解案例详情数据
When 渲染案例内容区域
Then 显示案例概述section,取case_des字段
And 显示原告诉讼请求section,取case_claim字段
And 显示调解结果section,取agree_content字段
And 不显示其他section(法院审理与判决、调解背景、双方立场等)

Requirement: 判决文书详情展示

判决文书详情MUST展示完整的裁判文书信息。

Scenario: 展示判决文书详情基本信息

Given 系统成功加载判决文书详情数据
When 渲染案件基本信息区域
Then 第一行显示案件标题,取case_name字段
And 第一行显示案号,取case_number字段
And 第二行显示判决日期(而非纠纷发生时间),取judgment_date字段并格式化
And 第二行显示发生地点,取court字段
And 第二行显示纠纷类型,取case_reason字段

Scenario: 展示判决文书详情内容

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

Requirement: 分页功能

系统MUST支持案例列表的分页浏览。

Scenario: 切换到下一页

Given 用户在查看第1页案例列表
And 总记录数大于每页显示数量
When 用户点击下一页按钮
Then 系统调用对应的案例列表API,传入page=2参数
And 显示Loading状态
And 加载成功后展示第2页数据
And 分页组件高亮显示当前页码

Requirement: 错误处理

API调用失败时MUST给用户明确的错误提示。

Scenario: 加载案例列表失败

Given 用户点击查询按钮
When API调用失败(网络错误、服务器错误等)
Then 隐藏Loading状态
And 使用message.error显示"加载案例列表失败"提示
And 控制台输出详细错误信息

Scenario: 加载案例详情失败

Given 用户点击某个案例查看详情
When API调用失败
Then 隐藏Loading状态
And 使用message.error显示"加载案例详情失败"提示
And 不打开详情弹窗

REMOVED Requirements

Requirement: 纠纷发生时间RangePicker

移除查询条件中的纠纷发生时间日期范围选择器。

Scenario: 用户打开典型案例查询弹窗

Given 用户点击典型案例查询工具
When 弹窗打开
Then 查询条件区域不显示纠纷发生时间RangePicker组件

Requirement: 案例类型筛选卡片

移除筛选器区域中的案例类型树形卡片。

Scenario: 用户查看筛选器区域

Given 用户打开典型案例查询弹窗
When 用户查看筛选器区域
Then 不显示案例类型筛选卡片
And 只显示发生时间和纠纷发生地筛选卡片

Implementation Notes

API参数说明

  • caseSource: 案例来源参数,判决文书传'judgment',调解案例传'mediation'
  • occurrenceYears: 发生时间参数,多个年份用英文逗号拼接,如"2022,2023"
  • regionList: 地区参数,多个地区用英文逗号拼接,如"广东省,广州市"
  • page: 页码,从1开始
  • size: 每页记录数,默认10

日期格式化规则

所有日期字段统一格式化为"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 | - |

Related Capabilities

  • None (首个案例查询API集成capability)

Version

1.0.0