//
|
// Enums.swift
|
// BrokerDriver
|
//
|
// Created by 无故事王国 on 2023/4/27.
|
//
|
|
import Foundation
|
|
/// 订单状态:流程从上至下,不在乎Int排列顺序
|
enum OrderType:Int,HandyJSONEnum{
|
|
case None = -1
|
/// 待派遣(未开始)
|
case Pending = 0
|
/// 已完成
|
case Complete = 1
|
|
|
//=========
|
|
/// 待取货(未出发)
|
case PendingPickupNotDeparture = 2
|
/// 待取货(已出发)
|
case PendingPickupDeparture = 3
|
/// 到达码头
|
case ArrivedPort = 4
|
/// 送至检查站
|
case SendTOCheckPoint = 12
|
/// 检查中
|
case Checking = 13 //【检查操作,不允许下一步】
|
/// 检查完成(待取货)
|
case PendingPickupInCheckPoint = 14
|
/// 运输中(去往车场)
|
case InTransitInYard = 5
|
|
//以上type == 1
|
|
|
/// 已到达车场
|
case InYard = 6
|
/// 运输中(前往目的地)
|
case Transiting = 7
|
/// 在仓库(已到达客户的仓库【目的地】)
|
case InWarehouse = 15
|
/// 待卸货
|
case PendingUnload = 8
|
|
//以上type == 2
|
/// 已卸货
|
case Unloaded = 9
|
/// 运回至车场(进行时)
|
case TransitingToYard = 10
|
|
//以上 type == 3
|
|
/// 到达车场(空柜状态)
|
case InYardByEmpty = 11
|
/// 运回码头
|
case BackYard = 18 //【最后状态,无按钮,等待用户操作】
|
|
//以上 type == 4
|
|
/// 取消订单
|
case Cancel = 16
|
|
/// 转换
|
var transStr:String{
|
switch self {
|
case .Pending:return "Pending"
|
case .Complete:return "Complete"
|
case .PendingPickupNotDeparture:return "Pending pickup(Not Departed)"
|
case .PendingPickupDeparture:return "Pending pickup(Departed)"
|
case .ArrivedPort:return "Arrived(In Port)"
|
case .InTransitInYard:return "In transit(To yard)"
|
case .InYard:return "Arrived(In yard)"
|
case .Transiting:return "Transiting"
|
case .PendingUnload:return "Pending Unload"
|
case .Unloaded:return "Unloaded"
|
case .TransitingToYard:return "Transiting(Backtrack to yard)"
|
case .InYardByEmpty:return "In yard(Empty cabinet)"
|
case .SendTOCheckPoint:return "Send to Checkpoint"
|
case .Checking:return "Checking"
|
case .PendingPickupInCheckPoint:return "Checked(Pending pickup)"
|
case .InWarehouse:return "In Warehouse"
|
case .Cancel:return "Cancel"
|
case .BackYard: return "Back yard"
|
case .None:return "Invalid Staute"
|
}
|
}
|
|
///
|
var transImage:UIImage?{
|
|
//码头到车场:L
|
// 车场到码头:E
|
|
//码头到终点:L
|
//终点到码头(返程):E
|
|
switch self {
|
case .PendingPickupNotDeparture:
|
return UIImage(named: "L")
|
case .PendingPickupDeparture:
|
return UIImage(named: "L")
|
case .ArrivedPort:
|
return UIImage(named: "L")
|
case .SendTOCheckPoint:
|
return UIImage(named: "L")
|
case .Checking:
|
return UIImage(named: "L")
|
case .PendingPickupInCheckPoint:
|
return UIImage(named: "L")
|
case .InTransitInYard:
|
return UIImage(named: "L")
|
case .InYard:
|
return UIImage(named: "L")
|
case .Transiting:
|
return UIImage(named: "E")
|
case .InWarehouse:
|
return UIImage(named: "E")
|
case .PendingUnload:
|
return UIImage(named: "E")
|
case .Unloaded:
|
return UIImage(named: "E")
|
case .TransitingToYard:
|
return UIImage(named: "E")
|
case .InYardByEmpty:
|
return UIImage(named: "E")
|
case .BackYard:
|
return UIImage(named: "E")
|
case .Complete,.Cancel,.None,.Pending:
|
return UIImage(named: "icon_id")
|
}
|
}
|
|
var transColor:UIColor{
|
switch self {
|
default:
|
return UIColor(hexStr: "#FBBC0C")
|
}
|
|
}
|
}
|
|
enum RecordEnum:Int,HandyJSONEnum {
|
case none = -1
|
case GetOutTicket = 1
|
case GetInTicket = 2
|
case Pod = 3
|
case Other = 4
|
|
var str:String{
|
switch self {
|
case .GetInTicket:return "GATE IN TICKET"
|
case .GetOutTicket:return "GATE OUT TICKET"
|
case .Pod:return "POD"
|
case .Other:return "OTHER"
|
case .none:return "--"
|
}
|
}
|
}
|
|
enum TextType:Int,HandyJSONEnum{
|
case note = 1
|
case troble = 2
|
}
|
|
enum DriverType:Int,HandyJSONEnum{
|
case none = 0
|
case portDriver = 1
|
case longHulDriver = 2
|
case localDriver = 3
|
|
var str:String{
|
switch self {
|
case .portDriver:return "Port driver"
|
case .longHulDriver:return "Long-haul driver"
|
case .localDriver:return "Local driver"
|
case .none :return "none"
|
}
|
}
|
}
|
|
enum DriverInfoStatus:Int,HandyJSONEnum{
|
case none = 0
|
case active = 1
|
case inactive = 2
|
var str:String{
|
switch self {
|
case .active: return "Active"
|
case .inactive: return "Inactive"
|
case .none:return "none"
|
}
|
}
|
}
|
|
enum CoordinateType:Int,HandyJSONEnum{
|
//1:起点,2:检查站 ,3:场地,4:终点
|
case StartPoint = 1
|
case CheckRoom = 2
|
case Yard = 3
|
case Terminal = 4
|
}
|