工作台模块,包含所有工作台相关的功能页面。
Workbench/
├── Controllers/
│ └── LSWorkbenchViewController.swift # 工作台主页面
├── ViewModels/
│ └── WorkbenchViewModel.swift # 工作台 ViewModel
├── Models/
│ └── WorkbenchModel.swift # 工作台数据模型
└── Views/
├── LSCarStatusView.swift # 车辆状态视图(三角形标签)
├── LSCustomPercentView.swift # 自定义百分比视图
├── LSExamView.swift # 考试考核视图
├── LSMapView.swift # 地图视图
├── LSTrainingView.swift # 培训课程视图
├── LSVehicleCardView.swift # 车辆卡片视图
├── Accident/
│ └── AccidentReportViewController.swift # 事故上报页面
├── Exam/
│ └── ExamViewController.swift # 考试考核页面
├── Station/
│ └── StationMapViewController.swift # 站点地图页面
├── Training/
│ └── TrainingViewController.swift # 培训课程页面
└── VehicleManagement/
├── VehicleManagementViewController.swift # 车辆管理列表页面
└── VehicleDetailViewController.swift # 车辆详情页面
VehicleDetailViewController: 车辆详情页面
三角形状态标签视图,用于显示车辆状态。
let statusView = LSCarStatusView.orange()
statusView.triangleColor = "FF9800".color
statusView.triangleHeightRatio = 0.5
车辆卡片视图,显示车辆信息。
let card = LSVehicleCardView(
status: "维修中",
plate: "粤A XV7029试",
number: "NO.0088",
km: 643,
statusColor: "FF9800".color
)
地图视图,基于 MapKit。
let mapView = LSMapView.shenzhen()
mapView.addAnnotation(
coordinate: CLLocationCoordinate2D(latitude: 22.5431, longitude: 114.0579),
title: "站点1",
subtitle: "深圳"
)
培训课程统计视图。
考试考核统计视图。
所有页面都支持路由跳转:
// 跳转到车辆管理
navigate(to: .vehicleManagement)
// 跳转到车辆详情
navigate(to: .vehicleDetail, parameters: ["vehicleId": "NO.0088"])
// 跳转到站点地图
navigate(to: .stationMap)
// 跳转到培训课程
navigate(to: .training)
// 跳转到考试考核
navigate(to: .exam)
// 跳转到事故上报
navigate(to: .accidentReport)
LSBaseViewController