Files
shanxia2.0/docs/superpowers/plans/2026-07-11-pl-plan-archive-feedback-edit.md
T
2026-07-11 17:15:17 +08:00

58 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 归档弹窗回传信息编辑 — 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 |