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 pTrain, pSeat, pStu, pPassengers, pProfile; exports.init = function () { ps.init(); so.init(); 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 || "0"; 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 = op.prepareOrder(pTrain, pProfile); 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) { }; });