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: 后端新增 GET /qc-work-orders/by-sample 精确查工单并 enrich;前端 useInboundSiblingNavigation 管理插入卡与滚动;QcWorkOrderSampleGroup 发 sibling-navigate 事件;QcWorkOrderCardList 渲染插入卡。
Tech Stack: FastAPI + SQLAlchemy · Vue 3 + Element Plus · 现有 QcWorkOrderSampleGroup 卡片体系
Spec: docs/superpowers/specs/2026-07-07-qc-inbound-sibling-navigate-design.md
Files:
backend/app/crud/qc_work_order.pyModify: backend/app/api/qc.py
[ ] 在 qc_work_order.py 新增 list_work_orders_by_sample(tenant + 数据权限 + 列表 enrich)
[ ] 在 qc.py 注册 GET /qc-work-orders/by-sample(置于 /{work_order_id} 之前),权限 require_any_menu_code("biz:qcWorkOrder:list", "biz:myQcTask:list")
Files:
web-admin/src/api/qc-work-order.tsModify: web-admin/src/utils/qc-work-order-inbound-sample-cards.ts
[ ] 新增 fetchQcWorkOrdersBySample
[ ] QcInboundProtocolSiblingLink 增加 sampleCode;buildProtocolSiblingLinksFromSamples / buildLinksFromVisibleGroups 写入
Files:
Create: web-admin/src/views/quality-inspection/qc-work-order/composables/useInboundSiblingNavigation.ts
[ ] 实现 navigateToSibling / clearInsertedCards / insertedCardsAfter
[ ] manage 模式拉 inspection batches;mine 模式按 sampleCode keyword 过滤我的任务
Files:
web-admin/src/views/quality-inspection/qc-work-order/composables/useQcWorkOrderTabPage.tsweb-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderCardList.vueModify: web-admin/src/views/quality-inspection/qc-work-order/tabs/QcWorkOrderTabPanel.vue
[ ] loadData 开头 clearInsertedCards
[ ] CardList 入库分支渲染插入卡 + 合并 preset tasks/batches
Files:
Modify: web-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderSampleGroup.vue
[ ] 芯片改 button、emit sibling-navigate、isInsertedSibling 标识、loading 禁用
pnpm lint(改动文件)./scripts/update-graph.sh frontend