dashboard.py 450 B

12345678910111213141516171819202122
  1. from __future__ import annotations
  2. from pydantic import BaseModel
  3. class KpiCard(BaseModel):
  4. key: str
  5. label: str
  6. value: float | int | str
  7. unit: str = ""
  8. trend: float | None = None
  9. status: str = "normal"
  10. class DashboardOverview(BaseModel):
  11. mine_id: str
  12. mine_name: str
  13. kpis: list[KpiCard]
  14. data_source_status: list[dict]
  15. diagnosis_summary: dict
  16. evaluation_summary: dict
  17. open_work_order_count: int