chore: stop tracking frontend node_modules
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
"""Overview Schema定义"""
|
||||
import uuid
|
||||
from datetime import date
|
||||
from typing import List, Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class CenterOverview(BaseModel):
|
||||
"""单个中心的概览数据"""
|
||||
center_id: str
|
||||
center_name: str
|
||||
|
||||
# 各阶段状态
|
||||
institution_initiation_status: str = "NOT_STARTED"
|
||||
ethics_status: str = "NOT_STARTED"
|
||||
contract_sign_status: str = "NOT_STARTED"
|
||||
startup_status: str = "NOT_STARTED"
|
||||
enrollment_status: str = "NOT_STARTED"
|
||||
inspection_status: str = "NOT_STARTED"
|
||||
closeout_status: str = "NOT_STARTED"
|
||||
|
||||
# 各阶段完成日期
|
||||
institution_initiation_completed_at: Optional[str] = None
|
||||
ethics_completed_at: Optional[str] = None
|
||||
contract_sign_completed_at: Optional[str] = None
|
||||
startup_completed_at: Optional[str] = None
|
||||
enrollment_completed_at: Optional[str] = None
|
||||
inspection_completed_at: Optional[str] = None
|
||||
closeout_completed_at: Optional[str] = None
|
||||
|
||||
# 入组数据
|
||||
enrollment_target: int = 0
|
||||
enrollment_actual: int = 0
|
||||
|
||||
|
||||
class EnrollmentByMonth(BaseModel):
|
||||
"""月度入组统计"""
|
||||
month: str
|
||||
count: int
|
||||
|
||||
|
||||
class ProjectOverviewResponse(BaseModel):
|
||||
"""项目概览响应"""
|
||||
study_id: str
|
||||
updated_at: str
|
||||
centers: List[CenterOverview]
|
||||
enrollment_by_month: List[EnrollmentByMonth]
|
||||
Reference in New Issue
Block a user