58 lines
2.6 KiB
Markdown
58 lines
2.6 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:** 归档人员在运输计划归档弹窗内,可独立保存司机回传与现场回传(空=补充,有数据=编辑,可覆盖任意字段)。
|
||
|
||
**Architecture:** 后端新增 2 个 PATCH 接口写 `pl_transport` / `pl_transport_site_link` 并记 `pl_plan_change`;前端在 `PlPlanViewTabs` 增加 `feedbackEditable` 模式与编辑子弹窗,归档弹窗传入该 prop。
|
||
|
||
**Tech Stack:** FastAPI + SQLAlchemy + Pydantic v2;Vue 3 + Element Plus + `AttachmentUploadField`
|
||
|
||
**Spec:** 会话确认(2026-07-11):独立保存;归档人员可改全部字段;空态=补充、有数据=编辑。
|
||
|
||
---
|
||
|
||
## 文件结构
|
||
|
||
| 文件 | 动作 |
|
||
|------|------|
|
||
| `backend/app/schemas/pl/plan.py` | 新增 `PlanDriverFeedbackUpdateBody`、`PlanSiteFeedbackUpdateBody` |
|
||
| `backend/app/services/pl_plan_service.py` | 新增 `apply_plan_driver_feedback`、`apply_plan_site_feedback` |
|
||
| `backend/app/api/pl/plan.py` | 新增 PATCH 路由 |
|
||
| `web-admin/src/api/pl/index.ts` | 类型 + `planApi.updateDriverFeedback` / `updateSiteFeedback` |
|
||
| `web-admin/src/components/business/pl-plan-driver-feedback-dialog/index.vue` | **新建** |
|
||
| `web-admin/src/components/business/pl-plan-site-feedback-dialog/index.vue` | **新建** |
|
||
| `web-admin/src/components/business/pl-plan-view-tabs/index.vue` | 编辑按钮 + 弹窗联动 |
|
||
| `web-admin/src/components/business/pl-plan-archive-dialog/index.vue` | `feedback-editable` |
|
||
|
||
---
|
||
|
||
### Task 1: 后端 Schema + Service + API
|
||
|
||
- [x] Schema 与 service 函数
|
||
- [x] `PATCH /transport/plan/{id}/driver-feedback`
|
||
- [x] `PATCH /transport/plan/{id}/site-feedback/{linkId}`
|
||
|
||
### Task 2: 前端 API + 编辑弹窗
|
||
|
||
- [x] `planApi` 扩展
|
||
- [x] 司机/现场编辑弹窗组件
|
||
|
||
### Task 3: 集成与验收
|
||
|
||
- [x] `PlPlanViewTabs` 增加 `feedbackEditable`
|
||
- [x] `PlPlanArchiveDialog` 传入 prop
|
||
- [ ] 联调:未安排运输禁用司机编辑;现场按行编辑;保存后 reload
|
||
|
||
---
|
||
|
||
## 验收
|
||
|
||
| # | 场景 | 预期 |
|
||
|---|------|------|
|
||
| V1 | 归档弹窗下区司机区无数据 | 显示「补充」,保存后表格有数据 |
|
||
| V2 | 司机已有回传 | 「编辑」预填,保存覆盖 |
|
||
| V3 | 现场每行 | 独立「编辑/补充」+ 独立保存 |
|
||
| V4 | 未安排运输 | 司机编辑禁用并提示 |
|
||
| V5 | 保存回传 | 不触发归档接口;下区 refresh |
|