feat: 移除PDI和订单号字段,新增设备巡检模块

- 从物料跟踪页面移除订单号列和表单字段
- 从导航菜单移除PDI管理,添加设备巡检
- 新增InspectionLocation和InspectionRecord后端模型和API
- 新增设备巡检前端页面(左侧点位列表,右侧设备和历史记录)
This commit is contained in:
2026-05-27 16:38:40 +08:00
commit 193da0018f
86 changed files with 11379 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from app.models.material import CoilStatus
class CoilCreate(BaseModel):
coil_no: str
order_no: Optional[str] = None
steel_grade: Optional[str] = None
spec_thickness: Optional[float] = None
spec_width: Optional[float] = None
target_thickness: Optional[float] = None
target_width: Optional[float] = None
gross_weight: Optional[float] = None
net_weight: Optional[float] = None
inner_diameter: Optional[float] = None
plan_id: Optional[int] = None
remark: Optional[str] = None
class CoilUpdate(BaseModel):
order_no: Optional[str] = None
steel_grade: Optional[str] = None
spec_thickness: Optional[float] = None
spec_width: Optional[float] = None
target_thickness: Optional[float] = None
target_width: Optional[float] = None
gross_weight: Optional[float] = None
net_weight: Optional[float] = None
status: Optional[CoilStatus] = None
plan_id: Optional[int] = None
remark: Optional[str] = None
class CoilOut(BaseModel):
id: int
coil_no: str
order_no: Optional[str]
steel_grade: Optional[str]
spec_thickness: Optional[float]
spec_width: Optional[float]
target_thickness: Optional[float]
target_width: Optional[float]
gross_weight: Optional[float]
net_weight: Optional[float]
status: CoilStatus
plan_id: Optional[int]
created_at: datetime
class Config:
from_attributes = True
class TrackingCreate(BaseModel):
coil_no: str
position: Optional[str] = None
event_type: str
event_desc: Optional[str] = None
actual_thickness: Optional[float] = None
actual_width: Optional[float] = None
speed: Optional[float] = None
tension: Optional[float] = None
operator: Optional[str] = None
event_time: datetime
class TrackingOut(BaseModel):
id: int
coil_id: int
coil_no: str
position: Optional[str]
event_type: str
event_desc: Optional[str]
actual_thickness: Optional[float]
actual_width: Optional[float]
speed: Optional[float]
operator: Optional[str]
event_time: datetime
class Config:
from_attributes = True