Light12306/Web12306/js/ui/ui-order-submit-process.js

88 lines
2.1 KiB
JavaScript
Raw Normal View History

2014-06-26 22:24:54 +08:00
define(function (require, exports, module) {
var ps = require("./ui-passenger-selection.js");
var so = require("./ui-submit-order.js");
var param = require("../data.js");
var ui_login = require("./ui-login.js");
var sessMgr = require("../account/sessionMgr.js");
2014-06-27 22:25:42 +08:00
var mp = require("./widget_message_popup.js");
var op = require("../otn/orderprocess.js");
//标记位
2014-06-26 22:24:54 +08:00
//提交参数
2014-06-27 22:25:42 +08:00
var pTrain, pSeat, pStu, pPassengers, pProfile;
2014-06-26 22:24:54 +08:00
2014-08-13 00:14:00 +08:00
var init = function () {
2014-06-26 22:24:54 +08:00
ps.on("passengerSelected", function () {
pPassengers = ps.selectedPassenger;
2014-07-01 20:07:44 +08:00
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
});
so.on("requireResubmitOrder", function () {
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
2014-06-26 22:24:54 +08:00
});
};
2014-06-27 22:25:42 +08:00
exports.start = function (train, seat, profile, passengers) {
2014-06-26 22:24:54 +08:00
if (train) {
pTrain = train;
pSeat = seat;
2014-06-27 22:25:42 +08:00
pProfile = profile;
pStu = profile.studentTicket;
2014-06-26 22:24:54 +08:00
pPassengers = passengers;
}
if (!pTrain)
return;
if (!sessMgr.isLogined) {
ui_login.once("loginSuccess", exports.start);
ui_login.showLoginDialog();
return;
}
2014-07-01 20:07:44 +08:00
if (!pPassengers || !pPassengers.length)
exports.showPassengerSelectUi();
else {
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
}
2014-06-26 22:24:54 +08:00
};
ui_login.on("closeLogin", function () {
ui_login.off("loginSuccess", exports.start);
});
exports.showPassengerSelectUi = function () {
ps.show(pPassengers, pTrain, pSeat, pStu);
};
exports.showConfirmOrderUi = function () {
2014-07-01 20:07:44 +08:00
so.showOrderUi(pTrain, pProfile, pPassengers);
};
exports.prepareOrder = function () {
var tip = new mp.MessagePopup("loading", "正在准备提交订单,请稍等...");
tip.show();
var def = pProfile.resign ? op.prepareOrder(pTrain, pProfile) : op.fastPrepareOrder(pTrain, pProfile, pPassengers);
2014-07-01 20:07:44 +08:00
def.done(function () {
tip.close();
}).fail(function (data) {
tip.setState("error", data.msg);
tip.delayClose();
so.hide();
});
return def;
2014-06-26 22:24:54 +08:00
};
exports.showSuccessUi = function () {
};
exports.showFailedUi = function (msg) {
};
2014-08-13 00:14:00 +08:00
init();
2014-06-26 22:24:54 +08:00
});