Light12306/Web12306/js/ui/ui-order-submit-process.js
2014-09-02 23:15:40 +08:00

89 lines
2.1 KiB
JavaScript

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");
var mp = require("./widget_message_popup.js");
var op = require("../otn/orderprocess.js");
var port = require("../platform/extensionPort.js");
//标记位
//提交参数
var pTrain, pSeat, pStu, pPassengers, pProfile;
var init = function () {
ps.on("passengerSelected", function () {
pPassengers = ps.selectedPassenger;
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
});
so.on("requireResubmitOrder", function () {
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
});
};
exports.start = function (train, seat, profile, passengers) {
if (train) {
pTrain = train;
pSeat = seat;
pProfile = profile;
pStu = profile.studentTicket;
pPassengers = passengers;
}
if (!pTrain)
return;
if (!sessMgr.isLogined) {
ui_login.once("loginSuccess", exports.start);
ui_login.showLoginDialog();
return;
}
if (!pPassengers || !pPassengers.length)
exports.showPassengerSelectUi();
else {
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
}
};
ui_login.on("closeLogin", function () {
ui_login.off("loginSuccess", exports.start);
});
exports.showPassengerSelectUi = function () {
ps.show(pPassengers, pTrain, pSeat, pStu);
};
exports.showConfirmOrderUi = function () {
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);
def.done(function () {
tip.close();
}).fail(function (data) {
tip.setState("error", data.msg);
tip.delayClose();
so.hide();
});
return def;
};
exports.showSuccessUi = function () {
};
exports.showFailedUi = function (msg) {
};
init();
});