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: 后端按 pl_plan_contract(含遗留 pl_plan.contract_id)聚合计划列表与按产品 plan_qty;前端在 ContractDetailDialog/detail.vue 增加 Tab 与三列;arrange_transport 后幂等 start_execute。
Tech Stack: FastAPI + SQLAlchemy · Vue 3 + Element Plus · 现有 flattenPlanListRows / PlPlanViewDialog
Files:
backend/app/services/pl_contract_plan_qty.pybackend/tests/test_pl_contract_plan_qty.pyModify: contract detail serialization to attach qty fields on products
[ ] Write unit tests for archived / unarchived-arranged / total
[ ] Implement aggregation service
[ ] Attach fields on contract detail products (archivedQty, arrangedUnarchivedQty, arrangedTotalQty)
Files:
backend/app/api/pl/plan.py, schemas as neededModify: web-admin/src/api/pl/index.ts
[ ] GET /transport/plan/by-contract/{contractId} page list reusing plan detail shaping
[ ] Frontend API wrapper
Files:
backend/app/api/pl/transport.py (or arrange service)Test: backend/tests/test_pl_arrange_auto_start_execute.py
[ ] After successful arrange, start_execute all linked contracts with status approved
[ ] Idempotent when already executing
Files:
ContractDetailDialog.vue, detail.vuePossibly extract small helper for plan list span in dialog
[ ] Three green columns after 税费
[ ] New tab with merge-cell list + open PlPlanViewDialog on planNo click
./scripts/update-graph.sh for touched projects