define(function (require, exports, module) { var ev = require("../platform/EventObject.js"); var query = require("../otn/queryticket.js"); var param = require("../data.js"); var port = require("../platform/extensionPort.js"); //模板 var tpl = $("#train_stops_template").doT(); var container = $("#train-stops"); var TrainStopUi = function () { ev.apply(this); var that = this; this.init = function () { $(document).on("click", "a.train-station-type", that.show).on("click", function () { container.hide(); }); }; this.show = function (e) { var target = $(this); var id = target[0].dataset.id; var from = target[0].dataset.from; var to = target[0].dataset.to; var date = target[0].dataset.date; //准备查询 container.find("tr:gt(2)").remove(); container.find("tr:gt(0)").hide(); container.find("tr:eq(1)").show(); query.queryTrainStop(id, from, to, date) .done(function (data) { container.find("tr:gt(0)").hide(); container.find("tr:last").after(tpl(data)); }).fail(function () { container.find("tr:eq(2)").show(); container.find("tr:eq(1)").hide(); }); //显示 var pos = target.position(); container.css({ left: pos.left + "px", top: (pos.top + 25) + "px" }); container.show(); e.stopPropagation(); e.preventDefault && e.preventDefault(); //track port.track(param.trackTypes.SHOW_TRAIN_STOP); }; return this; }; TrainStopUi.prototype = Object.create(ev); TrainStopUi.constructor = TrainStopUi; return new TrainStopUi(); });