2026-06-25-qc-work-order-all-tab.md 2.6 KB

质检工单「所有」Tab Implementation Plan

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: Add an「所有」tab before category tabs on QC work order and My QC Task pages, with shared filters, per-row type tags, and cross-type list support.

Architecture: Extend QcWorkOrderTabKey with all; backend list_work_orders supports cross-type keyword and excludes hidden clinical type; frontend uses standalone flat cards with resolveCardMetaForRow() and dynamic view dialogs.

Tech Stack: Python/FastAPI backend, Vue 3 + Element Plus frontend

Spec: docs/superpowers/specs/2026-06-25-qc-work-order-all-tab-design.md


Task 1: Tab utils + category helpers

Files:

  • Modify: web-admin/src/utils/qc-work-order-tabs.ts
  • Create: web-admin/src/utils/qc-work-order-category.ts

  • [ ] Add all tab config, default tab, category options, toAllTabListQuery()

  • [ ] Add qcWorkOrderCategoryLabel/TagType, trigger filter value helpers

Task 2: Card meta for all tab

Files:

  • Modify: web-admin/src/utils/qc-work-order-card-meta.ts

  • [ ] Add all config, resolveCardMetaForRow(), meta field subsets per type

Task 3: Backend list API

Files:

  • Modify: backend/app/crud/qc_work_order.py

  • [ ] Cross-type keyword (outbound join when work_order_type empty)

  • [ ] Exclude clinical_application when listing all types

  • [ ] All-tab trigger source values (temp_production, temp_manual, production non-temp)

Task 4: Page composable + mine filters

Files:

  • Modify: web-admin/src/views/quality-inspection/qc-work-order/composables/useQcWorkOrderTabPage.ts
  • Modify: web-admin/src/utils/qc-mine-task-groups.ts

  • [ ] qcCategory in searchForm, list query mapping, mine task fetch without type limit

Task 5: Tab panel filters + view dialog

Files:

  • Modify: web-admin/src/views/quality-inspection/qc-work-order/tabs/QcWorkOrderTabPanel.vue
  • Create: web-admin/src/views/quality-inspection/qc-work-order/tabs/AllTab.vue
  • Modify: web-admin/src/views/quality-inspection/qc-work-order/tabs/tab-registry.ts

Task 6: Card components

Files:

  • Modify: web-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderSingleCard.vue
  • Modify: web-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderCardList.vue

  • [ ] Type tag, per-row meta, work order no title on all tab

Task 7: Verify

  • Update spec status to 已确认
  • ./scripts/update-graph.sh frontend (and backend if needed)