Skip to content

Commit d18e5a2

Browse files
committed
fix filter train type
1 parent fd30ea0 commit d18e5a2

File tree

1 file changed

+71
-6
lines changed

1 file changed

+71
-6
lines changed

12306ForMac/TicketViewControllers/TrainFilterWindowController.swift

+71-6
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,21 @@ class FilterItem: NSObject {
5252
if filterItem.keyType == .multi {
5353
let filterKeys = filterItem.key.components(separatedBy: "|")
5454
for filterKey in filterKeys {
55-
if trainCode.contains(filterKey) {
55+
if trainCode.hasPrefix(filterKey) {
5656
return true
5757
}
5858
}
5959
}
6060
else if filterItem.keyType == .single {
61-
if self.key.contains(filterItem.key) {
62-
return true
61+
if filterItem.type == .TrainType {
62+
if self.key.hasPrefix(filterItem.key) {
63+
return true
64+
}
65+
}
66+
else {
67+
if self.key.contains(filterItem.key) {
68+
return true
69+
}
6370
}
6471
}
6572
else if filterItem.keyType == .section {
@@ -110,9 +117,67 @@ class TrainFilterWindowController: BaseWindowController {
110117
filterItems.append(FilterItem(type: .StartTime,key:"18:00~24:00",presentation: "18:00--24:00",isChecked: true))
111118

112119
filterItems.append(FilterItem(type: .Group,presentation: "车次类型"))
113-
filterItems.append(FilterItem(type: .TrainType,key:"G|C|D",presentation: "G高铁|C城际|D动车",isChecked: true))
114-
filterItems.append(FilterItem(type: .TrainType,key:"Z|T",presentation: "Z直达|T特快",isChecked: true))
115-
filterItems.append(FilterItem(type: .TrainType,key:"K|L|Y",presentation: "K快车|LY临客",isChecked: true))
120+
var hasTrainG = false
121+
var hasTrainC = false
122+
var hasTrainD = false
123+
var hasTrainZ = false
124+
var hasTrainT = false
125+
var hasTrainK = false
126+
var hasTrainL = false
127+
for train in trains {
128+
if train.TrainCode.hasPrefix("G") {
129+
hasTrainG = true
130+
continue
131+
}
132+
if train.TrainCode.hasPrefix("C") {
133+
hasTrainC = true
134+
continue
135+
}
136+
if train.TrainCode.hasPrefix("D") {
137+
hasTrainD = true
138+
continue
139+
}
140+
if train.TrainCode.hasPrefix("Z") {
141+
hasTrainZ = true
142+
continue
143+
}
144+
if train.TrainCode.hasPrefix("T") {
145+
hasTrainT = true
146+
continue
147+
}
148+
if train.TrainCode.hasPrefix("K") {
149+
hasTrainK = true
150+
continue
151+
}
152+
let keys = ["L","Y","1","2","3","4","5","6","7","8","9"]
153+
for key in keys {
154+
if train.TrainCode.hasPrefix(key) {
155+
hasTrainL = true
156+
break
157+
}
158+
}
159+
}
160+
if hasTrainG {
161+
filterItems.append(FilterItem(type: .TrainType,key:"G",presentation: "G高铁",isChecked: true))
162+
}
163+
if hasTrainC {
164+
filterItems.append(FilterItem(type: .TrainType,key:"C",presentation: "C城际",isChecked: true))
165+
}
166+
if hasTrainD {
167+
filterItems.append(FilterItem(type: .TrainType,key:"D",presentation: "D动车",isChecked: true))
168+
}
169+
if hasTrainZ {
170+
filterItems.append(FilterItem(type: .TrainType,key:"Z",presentation: "Z直达",isChecked: true))
171+
}
172+
if hasTrainT {
173+
filterItems.append(FilterItem(type: .TrainType,key:"T",presentation: "T特快",isChecked: true))
174+
}
175+
if hasTrainK {
176+
filterItems.append(FilterItem(type: .TrainType,key:"K",presentation: "K快车",isChecked: true))
177+
}
178+
if hasTrainL {
179+
filterItems.append(FilterItem(type: .TrainType,key:"L|Y|1|2|3|4|5|6|7|8|9",presentation: "LY临客|纯数字",isChecked: true))
180+
}
116181

117182
filterItems.append(FilterItem(type: .Group,presentation: "出发车站"))
118183
var fromStations = [String]()

0 commit comments

Comments
 (0)