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

2.6 KiB
Raw Blame History

归档弹窗回传信息编辑 — 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

  • Schema 与 service 函数
  • PATCH /transport/plan/{id}/driver-feedback
  • PATCH /transport/plan/{id}/site-feedback/{linkId}

Task 2: 前端 API + 编辑弹窗

  • planApi 扩展
  • 司机/现场编辑弹窗组件

Task 3: 集成与验收

  • PlPlanViewTabs 增加 feedbackEditable
  • PlPlanArchiveDialog 传入 prop
  • 联调:未安排运输禁用司机编辑;现场按行编辑;保存后 reload

验收

# 场景 预期
V1 归档弹窗下区司机区无数据 显示「补充」,保存后表格有数据
V2 司机已有回传 「编辑」预填,保存覆盖
V3 现场每行 独立「编辑/补充」+ 独立保存
V4 未安排运输 司机编辑禁用并提示
V5 保存回传 不触发归档接口;下区 refresh