From f9cdb8852b6807c2825921c23839ccd853ee06d3 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Wed, 2 Sep 2026 11:39:17 +0800 Subject: [PATCH] feat(backend): add saveMode field on plan create-full and update schemas Co-authored-by: Cursor --- backend/app/schemas/pl/plan.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/app/schemas/pl/plan.py b/backend/app/schemas/pl/plan.py index 46b738e97..2848aee1c 100644 --- a/backend/app/schemas/pl/plan.py +++ b/backend/app/schemas/pl/plan.py @@ -216,7 +216,7 @@ class PlanBase(BaseModel): follow_status: str = Field( default="pending_arrange", alias="followStatus", - description="跟进状态 wait_notice/pending_arrange/arranged/completed/cancelled", + description="跟进状态 drafting/wait_notice/pending_arrange/arranged/completed/cancelled", ) transport_status: str = Field(default="pending", alias="transportStatus", description="运输安排状态") archive_status: str = Field(default="unarchived", alias="archiveStatus", description="归档状态 unarchived/draft/archived") @@ -344,6 +344,11 @@ class PlanUpdate(BaseModel): transport: Optional[PlanTransportCreateBlock] = Field(default=None, description="运输预选/更新(有车牌时同步车辆与运费)") load: Optional[PlanLoadBody] = Field(default=None, description="装货段") deliveries: Optional[list[PlanDeliveryBody]] = Field(default=None, description="送货段列表") + save_mode: Optional[str] = Field( + default="formal", + alias="saveMode", + description="保存模式 draft=暂存 formal=正式(默认)", + ) model_config = {"populate_by_name": True} @@ -498,6 +503,11 @@ class CreateFromContractRequest(BaseModel): class PlanCreateFull(PlanCreate): contract_id: Optional[str] = Field(default=None, alias="contractId", description="旧字段:单一合同ID,已废弃为唯一源") transport: Optional[PlanTransportCreateBlock] = Field(default=None, description="运输安排(有车牌时创建运输)") + save_mode: Optional[str] = Field( + default="formal", + alias="saveMode", + description="保存模式 draft=暂存 formal=正式(默认)", + ) model_config = {"populate_by_name": True} @@ -657,7 +667,7 @@ class PlanForceFollowStatusBody(BaseModel): follow_status: str = Field( ..., alias="followStatus", - description="跟进状态 wait_notice/pending_arrange/arranged/completed/cancelled", + description="跟进状态 drafting/wait_notice/pending_arrange/arranged/completed/cancelled", ) model_config = {"populate_by_name": True}