# 证据库最小改造验证清单

## 验证范围

- 流水证据：流水详情中小号「加入证据库」按钮、确认弹窗、保存入库。
- 模型证据：模型详情异常对象卡片中小号「加入证据库」按钮、确认弹窗、保存入库。
- 资产证据：资产详情中小号「加入证据库」按钮、确认弹窗、保存入库。
- 证据线索：项目详情右上角小号「证据线索」入口、右侧抽屉列表、搜索框基础展示。

## 版式约束

- 不新增独立证据库页面。
- 不改变原详情页主体字段、表格列、字号体系和业务阅读顺序。
- 「加入证据库」只能作为低频辅助按钮出现，使用 mini 尺寸、弱边框、弱背景。
- 「证据线索」只能作为轻入口和右侧抽屉，不遮挡或重排项目详情主体内容。

## 功能验证

- 项目详情页能正常打开，顶部「证据线索」按钮可打开抽屉。
- 抽屉无证据时展示空状态，有证据时展示编号、类型、关联人员、摘要、来源、确认人、备注。
- 模型详情点击「加入证据库」后，弹窗自动带出证据类型、关联人员、证据摘要。
- 流水详情点击「加入证据库」后，弹窗自动带出流水证据摘要，`source_record_id` 使用 `md5(本方账号+本方名称+对方账号+对方名称+交易时间+金额+摘要)`。
- 资产详情点击「加入证据库」后，弹窗自动带出资产证据摘要。
- 模型证据 `source_record_id` 使用 `md5(人员身份证+模型编码)`，缺少人员身份证或模型编码时不允许入库。
- 资产证据 `source_record_id` 使用 `md5(人员身份证+资产字段)`，当前资产负债聚合口径的资产字段为家庭总收入、家庭总负债、家庭总资产、风险等级编码。
- 确认理由为空时不能提交。
- 填写确认理由后可以提交，提交成功后自动打开或刷新证据线索抽屉。
- 保存后的证据落库到 `ccdi_evidence`。

## 技术验证

- 后端 `ccdi-project` 编译通过。
- 前端 `npm run build:prod` 通过。
- 数据库表 `ccdi_evidence` 存在。
- 流水证据 `source_record_id` 不依赖 `statementId/bankStatementId`，应为 32 位 MD5 指纹。
- 模型证据、资产证据的 `source_record_id` 均不拼接项目 ID，项目归属仅存 `project_id` 字段。
- 页面控制台不出现由本次改造引入的明显错误。
- 不提交或误动无关文件。

## 本期不做

- 证据卡片「查看详情」真实跳转原记录。
- 跨项目引用/复用 UI。
- 重复证据拦截。
