45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# 运输计划「从承运商库选择」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:** 运输计划弹窗「运输公司」旁提供「从承运商库选择」,支持搜索/选择/新增/编辑并回填 `carrierId`。
|
||
|
||
**Architecture:** 对齐车辆库/地址库:`PlCarrierLibrarySelectDialog` + 嵌套 `PlCarrierFormDialog`(对照 `views/pl/carrier`);计划表单旁按钮接入。
|
||
|
||
**Tech Stack:** Vue 3 + Element Plus + `carrierApi`
|
||
|
||
**Spec:** `docs/superpowers/specs/2026-08-06-pl-plan-carrier-library-select-design.md`
|
||
|
||
---
|
||
|
||
## 文件结构
|
||
|
||
| 操作 | 文件 |
|
||
|------|------|
|
||
| Create | `web-admin/src/components/business/pl-carrier-form-dialog/index.vue` |
|
||
| Create | `web-admin/src/components/business/pl-carrier-library-select-dialog/index.vue` |
|
||
| Modify | `web-admin/src/components/business/pl-plan-form-dialog/index.vue` |
|
||
|
||
---
|
||
|
||
### Task 1: PlCarrierFormDialog
|
||
|
||
- [x] Props: `modelValue`, `carrierId?`;Emits: `update:modelValue`, `saved({ mode, carrier })`
|
||
- [x] 弹窗 960px,对照管理页完整表单 + 资质附件
|
||
- [x] create/update;create 返回详情 emit;edit 后 get 再 emit
|
||
|
||
### Task 2: PlCarrierLibrarySelectDialog
|
||
|
||
- [x] 1200px 选弹窗;搜索 + 列表 + 选择/编辑 + 新增
|
||
- [x] 新增成功 auto-select;编辑成功刷新列表
|
||
|
||
### Task 3: 接入计划表单
|
||
|
||
- [x] 运输公司旁「从承运商库选择」;`ensureSelectedCarrierOption` 回填
|
||
|
||
### Task 4: 收尾
|
||
|
||
- [x] 设计文档状态 → 已实现
|
||
- [x] `./scripts/update-graph.sh frontend`
|
||
- [ ] 浏览器走查(代码已就绪,需本地验证)
|