define(function (require) { var param = require("../data.js"); var ajax = require("../platform/webRequest.js"); var storage = require('../platform/storage.js'); var widget = require("./widget.js"); var sessMgr = require("../account/sessionMgr.js"); var mp = require("./widget_message_popup.js"); //初始化UI (function () { $("#passenger-selector-id").focus(function () { $(this).parent().parent().addClass("hover"); }).blur(function () { $(this).parent().parent().removeClass("hover"); }); $("#travel-theme-select").focus(function () { $(this).parent().parent().addClass("hover"); }).blur(function () { $(this).parent().parent().removeClass("hover"); }); $("#btn-save-travel-theme").click(function () { widget.showFloatDialog($("#save-travel-method")); }); })(); //会话管理器事件 sessMgr.on("notValidPassengerFound", function () { mp.showMessagePopup("warn", "您的账户中有未经验证的联系人,将不可为他们订票。"); }); //初始化日期 require("./widget_datedropdown.js").init("input.ui-date"); //地区选择 require("./widget_cityselector.js").init("input.ui-cityselector"); //验证码 require("./widget_verifycode.js").init(); //登录 var ui_login = require("./ui-login.js"); ui_login.init(); //结果列表 var ui_result = require("./ui-trainlist.js"); ui_result.init(); //提交订单 var uiOrderProcess = require("./ui-order-submit-process.js"); uiOrderProcess.init(); //订票列表交互 (function () { ui_result.on("requireSubmitOrder", function (e, d) { uiOrderProcess.start(d.train, d.seat, sessMgr.currentProfile, null); }); })(); //界面交互初始化 (function () { var resetInterfaceByProfile = function () { var user = sessMgr.current; if (!user) { console.log("no profile."); return; } console.log("sessionChanged applyed..") console.log(user) if (user.options.showMoreOpt !== undefined) { var div = $("div.options-param"); user.options.showMoreOpt ^ div.is(":visible") ? (div.hide(), $(".search-more-option").html("显示更多选项")) : (div.show(), $(".search-more-option").html("隐藏更多选项")); } var p = user.currentProfile; $("#from_city").val(p.fromText).attr("data-code", p.fromCode); $("#to_city").val(p.toText).attr("data-code", p.toCode); $("input[data-profile-key],select[data-profile-key]").each(function () { var type = this.type; var value = this.value; var svalue = p[this.dataset.profileKey]; if (typeof (svalue) === "undefined") { return; } if (type === "checkbox") this.checked = svalue || false; else if (type === "radio") { this.checked = svalue == value; } else { $(this).val(svalue); } }); $("#dep_date").val(user.currentProfile.depDate); }; $("#index-tip-body").click(function () { $(this).next().fadeIn(); }); $("section.search-tips-container i.fa-times").click(function () { $(this).closest("section.search-tips-container").fadeOut(); }); //登录失效 sessMgr.on("userForcedOut", function () { mp.showMessagePopup("error", "您的登录出现了问题,请重新登录"); }); $(".search-more-option").click(function () { var div = $("div.options-param"); div.is(":visible") ? (div.hide(), $(this).html("显示更多选项")) : (div.show(), $(this).html("隐藏更多选项")); sessMgr.current.options.showMoreOpt = div.is(":visible"); sessMgr.save(); }); $("#from_city").change(function () { var u = sessMgr.current; var p = u.currentProfile; p.fromText = this.value; p.fromCode = this.dataset.code; sessMgr.save(); }); $("#to_city").change(function () { var u = sessMgr.current; var p = u.currentProfile; p.toText = this.value; p.toCode = this.dataset.code; sessMgr.save(); }); $(document).on("change", "input[data-profile-key],select[data-profile-key]", function () { var u = sessMgr.current; var p = u.currentProfile; var type = this.type; var key = this.dataset.profileKey; if (type === "radio") { var checked = $("input:radio[name=" + this.getAttribute("name") + "]:checked").val(); switch (typeof (p[key])) { case "number": p[key] = parseInt(checked); break; case "boolean": p[key] = checked == 1; break; default: p[key] = checked; } } else if (type === "checkbox") { p[key] = this.checked; } else { p[key] = $(this).val(); } sessMgr.save(); }); $("#btnQuery").click(function () { ui_result.load($("#from_city").attr("data-code"), $("#to_city").attr("data-code"), $("#dep_date").val(), sessMgr.currentProfile.studentTicket); }); sessMgr.on("sessionChanged", resetInterfaceByProfile); //初始化状态 resetInterfaceByProfile(); })(); //初始化 $("#J-search-form").submit(function () { return false; }); });