无故事王国
2023-10-25 158f3707711ad4be78a55dc73a98aa1c9acda0dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
    //
    //  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
}