feat: 重构质量管理和设备巡检模块
质量管理: 由平铺记录改为任务制工作流(qc_task/qc_task_item/qc_defect三表) 设备巡检: 由点位+记录改为巡检模板制(eqp_checklist/item/record/detail四表) 前端: Quality.vue 支持任务列表+检验项详情+缺陷记录双Tab 前端: Inspection.vue 支持模板管理+项目维护+巡检记录+明细查看 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,37 +1,88 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from typing import Optional, List
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class InspectionLocationCreate(BaseModel):
|
||||
code: str
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
class EqpChecklistItemCreate(BaseModel):
|
||||
item_name: str
|
||||
item_standard: Optional[str] = None
|
||||
sort_order: int = 0
|
||||
|
||||
|
||||
class InspectionLocationOut(InspectionLocationCreate):
|
||||
class EqpChecklistItemOut(EqpChecklistItemCreate):
|
||||
id: int
|
||||
checklist_id: int
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class InspectionRecordCreate(BaseModel):
|
||||
location_id: int
|
||||
class EqpChecklistCreate(BaseModel):
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
equipment_code: Optional[str] = None
|
||||
equipment_name: Optional[str] = None
|
||||
scan_code: Optional[str] = None
|
||||
inspector: str
|
||||
result: str = "normal"
|
||||
period: str = "daily"
|
||||
items: Optional[List[EqpChecklistItemCreate]] = None
|
||||
|
||||
|
||||
class EqpChecklistUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
equipment_code: Optional[str] = None
|
||||
equipment_name: Optional[str] = None
|
||||
period: Optional[str] = None
|
||||
is_active: Optional[bool] = None
|
||||
|
||||
|
||||
class EqpChecklistOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
description: Optional[str]
|
||||
equipment_code: Optional[str]
|
||||
equipment_name: Optional[str]
|
||||
period: str
|
||||
is_active: bool
|
||||
created_at: datetime
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class EqpInspectionDetailCreate(BaseModel):
|
||||
checklist_item_id: Optional[int] = None
|
||||
item_name: str
|
||||
actual_value: Optional[str] = None
|
||||
is_ok: bool = True
|
||||
notes: Optional[str] = None
|
||||
|
||||
|
||||
class InspectionRecordOut(InspectionRecordCreate):
|
||||
class EqpInspectionDetailOut(EqpInspectionDetailCreate):
|
||||
id: int
|
||||
location_name: Optional[str] = None
|
||||
record_id: int
|
||||
created_at: datetime
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class EqpInspectionRecordCreate(BaseModel):
|
||||
checklist_id: int
|
||||
inspector: str
|
||||
inspect_time: datetime
|
||||
status: str = "ok"
|
||||
overall_result: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
details: Optional[List[EqpInspectionDetailCreate]] = None
|
||||
|
||||
|
||||
class EqpInspectionRecordOut(BaseModel):
|
||||
id: int
|
||||
checklist_id: int
|
||||
checklist_name: Optional[str]
|
||||
inspector: str
|
||||
inspect_time: datetime
|
||||
status: str
|
||||
overall_result: Optional[str]
|
||||
remark: Optional[str]
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user