# Tasks: qc-inspection-batch ## 1. Database & Models - [x] 1.1 `docs/sql/qc_inspection_batch.sql` — 新表 + alter `batch_id` + 数据迁移 - [x] 1.2 `models.py` — `BizQcWorkOrderInspectionBatch`、`BizQcBatchAssignee`;明细/任务 `batch_id` - [x] 1.3 更新 `待同步到生产的sql脚本`;`migrate_qc_inspection_batch_data.sql` 历史迁移 - [ ] 1.4 合并到 `docs/sql/zkxw.sql` 全量基线(待下次库导出) ## 2. Backend - [x] 2.1 `crud/qc_inspection_batch.py` — 批次 CRUD、同步 lab/third、assignee、configure - [x] 2.2 `configure_work_order` 改为批次数组;扁平 body 兼容单批 - [x] 2.3 `GET /qc-work-orders/{id}/inspection-batches` - [x] 2.4 工单详情 / qcInfo / outbound-detail 内嵌 `inspectionBatches` ## 3. Frontend — 配置弹窗 - [x] 3.1 `qc-work-order.ts` / `qc-inspection-batch.ts` — 类型与 API - [x] 3.2 `QcWorkOrderConfigureBatches.vue` + `index.vue` 批次卡片配置 UI - [x] 3.3 校验:批次负责人、批次内不重复(批次/项目非必填;空 batches 清空并回 dpz) ## 4. Frontend — 列表与只读展示 - [x] 4.1 `QcWorkOrderBatchSubList.vue` - [x] 4.2 `QcWorkOrderSingleCard` 改用批次列表(SampleGroup 经 SingleCard 继承) - [x] 4.3 我的任务:`QcWorkOrderBatchSubList` 按 `batchId` 分组 preset 任务 - [x] 4.4 `SampleQcBatchReadonly` + `SampleQcInfoCards` 批次 Tab(协议/捐赠/放行等查看弹窗) - [x] 4.5 工单查看弹窗六 Tab:`QcWorkOrderSystemViewDialog` 按批次分节 - [x] 4.6 任务详情弹窗补充「检测批次」字段;`loadQcInspectionBatches` 优先内嵌数据 ## 5. Verification - [ ] 5.1 执行迁移 SQL(本地) - [ ] 5.2 手工验收:双批次、跨批重复项目、追加批次、我的任务可见性 - [ ] 5.3 手工验收:协议单/放行查看弹窗质检信息按批次展示;工单查看弹窗批次分节