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: 小程序协议编辑页内嵌「样本及运输」,功能对齐 Web sample-transport-form-section(含运费配置),样式用 Vant。
Architecture: 新建 ProtocolSampleTransportPanel 托管 samples;后端扩 MarketProtocolSampleBody(sampleStatus/freightId/freightDraft)并详情挂 freight;运费复用 market freight API + apply_freight_on_protocol_save。
Tech Stack: Vue 3 + Vant(mobile-oa-h5)、FastAPI market_protocol / market_freight
Spec: docs/superpowers/specs/2026-10-13-mobile-protocol-sample-transport-parity-design.md
| 文件 | 职责 |
|---|---|
backend/app/schemas/market_mobile.py |
SampleBody 增字段 |
backend/app/services/market_protocol.py |
详情样本挂 freight;捐赠编码如需 |
backend/tests/test_market_protocol_api.py 等 |
后端测 |
mobile-oa-h5/src/market/protocol-sample-transport.js |
校验/草稿/运费纯函数 |
mobile-oa-h5/src/market/components/ProtocolSampleTransportPanel.vue |
面板 UI |
mobile-oa-h5/src/views/market/MarketModuleForm.vue |
接线 |
mobile-oa-h5/src/market/modules/protocol.js |
去 samples formSections;详情补运费 |
相关 *.test.js |
契约与回归 |
Files: market_mobile.py schemas;market_protocol.py;tests
Files: Create protocol-sample-transport.js + test
Files: Create panel;update parity tests
./scripts/update-graph.sh backend