新查询模块
This commit is contained in:
parent
f1d21c3317
commit
9d37d90dac
@ -211,7 +211,6 @@
|
||||
loadTime = 1000;
|
||||
queuedcount = queryKeyQueue.length;
|
||||
startQueryTimer();
|
||||
|
||||
};
|
||||
|
||||
var getCalcBasedTime = function () {
|
||||
@ -306,15 +305,15 @@
|
||||
var date = trains[0].queryData[4];
|
||||
var from = trains[0].from;
|
||||
var to = trains[0].to;
|
||||
var trainCodes = _.groupBy(trains, function (x) {
|
||||
return x.train.code;
|
||||
var trainIds = _.groupBy(trains, function (x) {
|
||||
return x.train.id;
|
||||
});
|
||||
|
||||
var processResponse = function (loaded, result) {
|
||||
queryLoopTimer = null;
|
||||
|
||||
_.each(_.keys(trainCodes), function (code) {
|
||||
var ele = listTarget.find("tr.ticket-container td[data-date='" + date + "'][data-traincode='" + code + "'][data-fromcode='" + from + "'][data-tocode='" + to + "']");
|
||||
_.each(_.keys(trainIds), function (tid) {
|
||||
var ele = listTarget.find("tr.ticket-container td[data-date='" + date + "'][data-trainid='" + tid + "'][data-fromcode='" + from + "'][data-tocode='" + to + "']");
|
||||
ele.empty();
|
||||
if (!loaded) {
|
||||
ele.append("<span class='remark remark-warning'>未能查询余票信息,等待重新查询</span>");
|
||||
@ -326,21 +325,21 @@
|
||||
ele.append("<span class='remark remark-primary'>" + utility.format + "</span>");
|
||||
} else {
|
||||
//显示余票信息
|
||||
var train = _.findWhere(result.original, { code: code });
|
||||
var train = _.findWhere(result.original, { id: tid });
|
||||
if (!train) {
|
||||
//车次不存在,可能是过程中会自动变号的车次
|
||||
ele.closest("tr").prevUntil(".header, .ticket-container").andSelf().remove();
|
||||
|
||||
//从列表中移除
|
||||
var args = _.clone(trainCodes[code]);
|
||||
var args = _.clone(trainIds[tid]);
|
||||
args.unshift(trains);
|
||||
queryQueue[key] = _.without.apply(this, args);
|
||||
|
||||
//从缓存的信息中移除。
|
||||
var matchedLines = _.filter(currentTransit.lines, function (line) {
|
||||
return _.some(trainCodes[code], function (t) { return t === line.first || t === line.second; });
|
||||
return _.some(trainIds[tid], function (t) { return t === line.first || t === line.second; });
|
||||
});
|
||||
delete trainCodes[code];
|
||||
delete trainIds[tid];
|
||||
if (matchedLines && matchedLines.length) {
|
||||
matchedLines.unshift(currentTransit.lines);
|
||||
currentTransit.lines = _.without.apply(this, matchedLines);
|
||||
@ -351,7 +350,7 @@
|
||||
} else if (train.limitSellInfo) {
|
||||
//限售信息
|
||||
ele.append("<span class='remark remark-warning'>" + train.limitSellInfo + "</span>");
|
||||
delete trainCodes[code];
|
||||
delete trainIds[tid];
|
||||
ele.attr("data-available", 1);
|
||||
} else if (train.selltime) {
|
||||
ele.append("<span class='remark remark-primary'>" + utility.formatSellDate(train.selltime) + "起售</span>");
|
||||
@ -360,7 +359,7 @@
|
||||
ele.append("<span class='remark remark-warning'>本车次暂无可售票</span>");
|
||||
ele.attr("data-available", 0);
|
||||
} else {
|
||||
_.each(trainCodes[code], function (t) {
|
||||
_.each(trainIds[tid], function (t) {
|
||||
t.secureStr = train.secureStr;
|
||||
t.rtrain = train;
|
||||
});
|
||||
@ -374,7 +373,7 @@
|
||||
|
||||
var selected = cp && $.inArray(seat, cp.selectedSeatType) !== -1;
|
||||
hasSelected |= selected;
|
||||
tickets.push("<a class='ticket-block ticket-block-mini " + (selected ? "ticket-block-selected" : "") + "' data-seatcode='" + seat + "' data-traincode='" + code + "' data-sec='" + train.secureStr + "' data-transmit='1'>" + seatinfo.name + " " + seatinfo.count + "张 " + (seatinfo.price > 0 ? "¥" + (seatinfo.price / 10) : "") + "</button>");
|
||||
tickets.push("<a class='ticket-block ticket-block-mini " + (selected ? "ticket-block-selected" : "") + "' data-seatcode='" + seat + "' data-traincode='" + tid + "' data-sec='" + train.secureStr + "' data-transmit='1'>" + seatinfo.name + " " + seatinfo.count + "张 " + (seatinfo.price > 0 ? "¥" + (seatinfo.price / 10) : "") + "</button>");
|
||||
});
|
||||
ele.append(tickets.join(""));
|
||||
ele.attr("data-available", hasSelected ? 3 : 2);
|
||||
@ -382,7 +381,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
if (result.notInSellTime || !_.keys(trainCodes).length && queryQueue[key]) {
|
||||
if (result.notInSellTime || !_.keys(trainIds).length && queryQueue[key]) {
|
||||
//从列表中移除,这个车次之后不用再查了。
|
||||
delete queryQueue[key];
|
||||
queryKeyQueue.pop();
|
||||
|
Loading…
Reference in New Issue
Block a user