日期:2026-07-16
状态:已确认
模块:细胞存储 / 质检 → 入库放行审核
关联:docs/superpowers/specs/2026-05-23-storage-release-review-design.md
界面模式:P22(审核列表)+ 样本接收式panel-pill-tabs
参考页:web-admin/src/views/quality-inspection/sample-reception/index.vue
「入库放行审核」列表将所有记录(待审核 + 已审核)放在同一表格中。筛选区虽有「审核结论」,但选项「待审核」绑定空字符串,请求时被转成 undefined,后端不会按空结论过滤,实际无法单独查看待办。
将列表拆成两个独立 Tab:
review_conclusion 为空的记录(审核员日常主工作台)tg + 不通过 btg),可用「审核结论」再筛默认进入「待审核」。分页与总数按当前 Tab 正确计算。
| 维度 | 决定 |
|---|---|
| Tab 结构 | 两个:待审核 | 已审核(已审核含通过 + 不通过) |
| 已审核改结论 | 仍可点「审核」修改(与现网一致) |
| 筛选区 | 两 Tab 筛选项完全相同;已审核可用「审核结论」再筛 |
| 默认 Tab | 进入页面默认「待审核」 |
| 实现路径 | 前端双 Tab + 列表 API 增加 reviewPhase(方案 1) |
与样本接收一致:
panel-top 标题 → pill Tabs(panel-pill-tabs)→ 筛选区 → 工具栏 → 表格 + 分页
| key | 文案 | 默认 |
|---|---|---|
pending |
待审核 | ✓ |
reviewed |
已审核 |
reviewPhase)字段:关键词、协议类别、审核结论、入库状态。
「审核结论」下拉:
沿用 GET /web/admin/storage-release-reviews,新增可选查询参数:
| 参数 | 类型 | 说明 |
|---|---|---|
reviewPhase |
pending | reviewed |
Tab 阶段;缺省时不按阶段过滤(与现网兼容) |
其余参数不变:page、pageSize、keyword、receptionSource、reviewConclusion、storageStatus。
在租户 / 软删 / 数据权限 / 其它筛选项之上叠加:
| reviewPhase | SQL 语义 |
|---|---|
pending |
review_conclusion IS NULL OR review_conclusion = '' |
reviewed |
review_conclusion IS NOT NULL AND review_conclusion != '' |
再叠加:keyword、receptionSource、reviewConclusion(仅 tg/btg)、storageStatus。
非法 reviewPhase:忽略该参数,按无阶段处理(避免误伤调用方)。
reviewPhase=pendingreviewPhase=reviewedreviewConclusion 仅在有明确值(通过/不通过)时传入;不再用空字符串表示「待审核」详情、单条/批量审核、单条/批量入库接口与行为不变。
| 层 | 文件 | 改动 |
|---|---|---|
| Backend API | backend/app/api/storage_release_review.py |
增加 reviewPhase Query,传入 CRUD |
| Backend CRUD | backend/app/crud/storage_release_review.py |
list_reviews 按阶段过滤 |
| Frontend API | web-admin/src/api/storage-release-review.ts |
列表参数增加 reviewPhase |
| Frontend 页 | web-admin/src/views/quality-inspection/storage-release-review/index.vue |
pill Tabs、切 Tab 刷新、下拉去掉无效「待审核」、请求带 reviewPhase |
不改:StorageReleaseReviewDialog.vue、StorageReleaseViewDialog.vue、菜单/路由、表结构。
reviewPhase 时列表行为与改前兼容