For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 在预产及在途样本、样本接收卡片中按来源展示协议级附件(迷你缩略图),支持预览/下载,无附件显示「无」。
Architecture: 列表 API 补齐 healthSurveyAttachmentFiles / infectiousDiseaseReportAttachmentFiles;前端新建 ProtocolAttachmentMiniReadonly + getSourceProtocolAttachment + useAttachmentActions,三处卡片复用。
Tech Stack: Python FastAPI CRUD、urls_to_attachment_list;Vue 3 + Element Plus + SCSS
Spec: docs/superpowers/specs/2026-07-13-sample-card-protocol-attachment-design.md
Files:
Modify: backend/app/crud/pre_transit_sample.py
[ ] 在细胞存储行 d = _protocol_to_dict(r) 后增加 healthSurveyAttachmentFiles
Files:
Modify: backend/app/crud/sample_reception.py
[ ] _rows_to_sample_list_items 增加 healthSurveyAttachmentFiles
[ ] _donation_rows_to_sample_list_items 增加 infectiousDiseaseReportAttachmentFiles
Files:
web-admin/src/utils/protocol-source-attachment.tsweb-admin/src/composables/useAttachmentActions.tsweb-admin/src/components/business/protocol-attachment-mini-readonly/index.vueFiles:
web-admin/src/views/quality-inspection/pre-transit-sample/PreTransitProtocolCardList.vueweb-admin/src/views/quality-inspection/pre-transit-sample/index.vueFiles:
web-admin/src/views/quality-inspection/sample-reception/SampleReceptionCardList.vuepnpm lint 相关前端文件./scripts/update-graph.sh frontend(如有新建文件)