save code

This commit is contained in:
Your Name
2026-01-27 17:30:17 +08:00
parent a416e2091f
commit 884b9f47a2
17 changed files with 910 additions and 44 deletions
+32 -8
View File
@@ -5,13 +5,25 @@ from typing import Optional
class ProjectBase(BaseModel):
"""项目基础模型"""
name: str
description: Optional[str] = None
department: str
budget: Optional[int] = None
start_date: Optional[datetime] = None
end_date: Optional[datetime] = None
status: Optional[str] = "pending"
project_code: Optional[str] = None # 项目编号
name: str # 项目名称
project_type: Optional[str] = None # 工程类别
description: Optional[str] = None # 项目描述
department: str # 所属部门
contract_amount: Optional[float] = None # 合同金额(万元)
project_manager: Optional[str] = None # 项目负责人
client_company: Optional[str] = None # 建设单位
client_contact: Optional[str] = None # 建设单位联系人
contract_date: Optional[datetime] = None # 合同签订日期
budget: Optional[int] = None # 预算
start_date: Optional[datetime] = None # 开始日期
planned_end_date: Optional[datetime] = None # 计划结束日期
actual_end_date: Optional[datetime] = None # 实际结束日期
progress: Optional[float] = 0.0 # 累计进度(%
actual_received_amount: Optional[float] = 0.0 # 实际收款金额(万元)
payment_completion_rate: Optional[float] = 0.0 # 回款完成率(%
payment_terms: Optional[str] = None # 付款方式
status: Optional[str] = "pending" # 状态
class ProjectCreate(ProjectBase):
@@ -21,12 +33,24 @@ class ProjectCreate(ProjectBase):
class ProjectUpdate(BaseModel):
"""更新项目模型"""
project_code: Optional[str] = None
name: Optional[str] = None
project_type: Optional[str] = None
description: Optional[str] = None
department: Optional[str] = None
contract_amount: Optional[float] = None
project_manager: Optional[str] = None
client_company: Optional[str] = None
client_contact: Optional[str] = None
contract_date: Optional[datetime] = None
budget: Optional[int] = None
start_date: Optional[datetime] = None
end_date: Optional[datetime] = None
planned_end_date: Optional[datetime] = None
actual_end_date: Optional[datetime] = None
progress: Optional[float] = None
actual_received_amount: Optional[float] = None
payment_completion_rate: Optional[float] = None
payment_terms: Optional[str] = None
status: Optional[str] = None