# 证据材料审查弹窗规范 ## ADDED Requirements ### Requirement: 审核按钮入口 在证据材料汇总Tab的材料列表项中,系统**SHALL**在材料项的`audit_state !== 1`时显示"审核"按钮。 #### Scenario: 未审核材料显示审核按钮 **Given** 材料项的audit_state为0(待审核) **When** 渲染材料列表项 **Then** 系统**SHALL**在材料项中显示"审核"按钮 #### Scenario: 已审核材料不显示审核按钮 **Given** 材料项的audit_state为1(已审核) **When** 渲染材料列表项 **Then** 系统**SHALL NOT**显示"审核"按钮 #### Scenario: 驳回材料显示审核按钮 **Given** 材料项的audit_state为-2(驳回) **When** 渲染材料列表项 **Then** 系统**SHALL**在材料项中显示"审核"按钮 --- ### Requirement: 审核弹窗触发与参数传递 点击"审核"按钮时,系统**SHALL**打开证据材料审查弹窗,并传递必要的参数。 #### Scenario: 点击审核按钮打开弹窗 **Given** 用户在材料列表中看到"审核"按钮 **When** 用户点击"审核"按钮 **Then** 系统**SHALL**打开证据材料审查弹窗 **And** 系统**SHALL**传递以下参数:case_id, evidence_type, per_type, person_id, name --- ### Requirement: 材料基本信息展示 弹窗打开后,系统**SHALL**调用getPersonInfo API获取并展示材料基本信息。 #### Scenario: 加载并展示材料基本信息 **Given** 审核弹窗已打开 **When** 弹窗加载数据 **Then** 系统**SHALL**调用`EvidenceAPIService.getPersonInfo({ case_id, evidence_type, per_type })` **And** 系统**SHALL**展示提交人信息(格式:per_class_name + "-" + true_name) **And** 系统**SHALL**展示材料数量(格式:total_count + "份") **And** 系统**SHALL**展示提交时间(submit_time) --- ### Requirement: 材料预览图片展示 弹窗**SHALL**调用getEvidenceListByPerson API获取材料图片列表,并正确拼接图片URL。 #### Scenario: 加载并展示材料预览图片 **Given** 审核弹窗已打开 **When** 弹窗加载图片数据 **Then** 系统**SHALL**调用`EvidenceAPIService.getEvidenceListByPerson({ case_id, evidence_type, per_type, person_id })` **And** 系统**SHALL**将返回的show_url与platform_url拼接为完整图片URL **And** platform_url**SHALL**从localStorage的`case_data_timeline.process_config.platform_url`获取 **And** 完整URL格式**SHALL**为:`{platform_url}/{show_url}` #### Scenario: 点击缩略图查看大图 **Given** 材料预览区域显示图片缩略图 **When** 用户点击某个缩略图 **Then** 系统**SHALL**打开图片预览模态框显示大图 --- ### Requirement: 审核通过操作 用户点击"审核通过"按钮时,系统**SHALL**提交审核结果。 #### Scenario: 执行审核通过 **Given** 用户在审核弹窗中 **When** 用户点击"审核通过"按钮 **Then** 系统**SHALL**调用`EvidenceAPIService.auditEvidence` **And** 请求参数**SHALL**包含:case_id, evidence_type, person_id, file_id_list, audit_user, audit_state=1 **And** 成功后系统**SHALL**显示友好的成功消息 **And** 系统**SHALL**关闭弹窗 **And** 系统**SHALL**刷新材料列表 --- ### Requirement: 退回补充操作 用户点击"退回补充"按钮时,系统**SHALL**要求填写退回意见后提交。 #### Scenario: 退回补充必填退回意见 **Given** 用户在审核弹窗中 **When** 用户点击"退回补充"按钮 **Then** 系统**SHALL**显示退回意见输入框 **And** 退回意见**SHALL**为必填项 #### Scenario: 提交退回补充 **Given** 用户已填写退回意见 **When** 用户确认提交退回 **Then** 系统**SHALL**调用`EvidenceAPIService.auditEvidence` **And** 请求参数**SHALL**包含:case_id, evidence_type, person_id, file_id_list, audit_user, audit_state=2, audit_remark=退回意见 **And** 成功后系统**SHALL**显示友好的成功消息 **And** 系统**SHALL**关闭弹窗 **And** 系统**SHALL**刷新材料列表 #### Scenario: 退回意见为空时校验失败 **Given** 用户未填写退回意见 **When** 用户尝试提交退回 **Then** 系统**SHALL**显示必填校验错误提示 **And** 系统**SHALL NOT**调用API --- ### Requirement: UI样式规范 弹窗样式**SHALL**100%遵循doc_audit.html原型。 #### Scenario: 弹窗样式一致性 **Given** 审核弹窗已打开 **Then** 弹窗**SHALL**使用模态对话框形式 **And** 弹窗宽度**SHALL**约为1000px **And** 材料基本信息区域**SHALL**使用info-grid布局 **And** section标题**SHALL**使用蓝色竖条样式(section-title) **And** 审核通过按钮**SHALL**使用btn-pass样式(蓝色背景) **And** 退回补充按钮**SHALL**使用btn-return样式(蓝色边框) --- ## REMOVED Requirements ### Requirement: 移除查看详情按钮 材料清单表格中**SHALL NOT**显示"查看详情"按钮。 #### Scenario: 材料清单不显示查看详情 **Given** 审核弹窗的材料清单表格 **When** 渲染材料信息列 **Then** 系统**SHALL NOT**显示"查看详情"按钮 --- ## API规范 ### getPersonInfo - **方法**: GET - **路径**: /api/v1/evidence/person-info - **参数**: case_id, evidence_type, per_type ### getEvidenceListByPerson - **方法**: GET - **路径**: /api/v1/evidence/list-by-person - **参数**: case_id, evidence_type, per_type, person_id ### auditEvidence - **方法**: POST - **路径**: /api/v1/evidence/audit - **参数**: case_id, evidence_type, person_id, file_id_list, audit_user, audit_state, audit_remark