Files
shanxia2.0/openspec/changes/pl-plan-archive-draft/specs/pl-plan-archive-draft/spec.md
T
2026-08-30 09:30:02 +08:00

2.3 KiB
Raw Blame History

ADDED Requirements

Requirement: 运输计划归档支持暂存草稿

系统 SHALL 允许用户在运输计划尚未正式归档时,将归档弹窗中已填写的部分数据保存为草稿,以便下次打开继续填写并最终正式归档。

Scenario: 未归档计划可暂存

  • WHEN 用户打开归档状态为 unarchived 或 draft 的计划的归档弹窗并点击「暂存」
  • THEN 系统 SHALL 持久化已提交的装卸货数量、品牌、运费与回传附件(允许字段为空或部分填写),并将 archive_status 设为 draft
  • THEN 系统 SHALL NOT 变更库存账
  • THEN 系统 SHALL NOT 将 archive_status 设为 archived,SHALL NOT 将跟进状态标为已完成
  • THEN 归档弹窗 SHALL 关闭

Scenario: 已归档调整模式不提供暂存

  • WHEN 计划 archive_status 为 archived(调整归档内容)
  • THEN 归档弹窗 SHALL NOT 展示「暂存」按钮

Scenario: 暂存后再次打开可回填

  • WHEN 用户对已暂存(draft)计划再次打开归档弹窗
  • THEN 系统 SHALL 回填上次暂存的装卸货、运费与附件相关字段

Scenario: 草稿可正式归档

  • WHEN 用户在 draft 状态点击「确认归档」且通过正式归档校验
  • THEN 系统 SHALL 按既有正式归档逻辑执行(含库存),并将 archive_status 设为 archived

Requirement: 归档草稿接口

系统 SHALL 提供独立的归档草稿保存 API,请求体与正式归档表单结构兼容。

Scenario: 调用草稿接口

  • WHEN 客户端对未作废且未正式归档的计划调用 POST /transport/plan/{id}/archive-draft 并提交 PlanArchiveBody(可部分字段)
  • THEN 系统 SHALL 保存可解析的字段并返回最新计划
  • THEN 若计划已作废或已归档,系统 SHALL 拒绝请求

Requirement: 列表展示已暂存状态

运输计划归档列表 SHALL 将 draft 展示为「已暂存」,并支持按该状态筛选。

Scenario: 状态标签与筛选

  • WHEN 列表中计划的 archiveStatus 为 draft
  • THEN 归档状态列 SHALL 显示「已暂存」语义 Tag(warning)
  • WHEN 用户在筛选中选择「已暂存」
  • THEN 列表 SHALL 仅返回 archive_status=draft 的计划