(function ($) { window.CI = {}; var CM = CI.Model = function (opt) { var me = this; me.page = opt.page || 0; me.pageSize = opt.pageSize || 20; me.endId = opt.endId || 0; me.lastTime = opt.lastTime || ""; me.loading = 0; me.url = opt.url; me.$container = $("#" + opt.containerId); me.lastCode = 0; me.tplName = opt.tplName; me.tagModelFunc = opt.tagModelFunc; me.containerId = opt.containerId; me.onload = opt.onload; me.emptyMsg = opt.emptyMsg; me.onDataInit = opt.onDataInit; me.onNoData = opt.onNoData; me.onRender = opt.onRender; me.preAppend = opt.preAppend; me.isStop = false; me.btn = opt.btn; me.isPreAppend = opt.isPreAppend; }; CM.prototype.more = function () { var me = this; if (me.isStop) return; var url = buildTags(me.url, { p1: (me.page), p2: (me.page + 1), p3: (me.endId), p4: (me.pageSize), p5: (me.lastTime) }); if (me.loading == 0) me.loading = 1; else return; $.ajax({ context: me, type: "Get", contentType: "application/json", url: url, dataType: "json", beforeSend: me.beforeAjax, success: me.append, error: me.ajaxError }); }; CM.prototype.append = function (data) { var me = this; if (me.page != data.PreviousPage) return; me.tplContent = me.tplContent || _$(me.tplName).innerHTML; var html = new Array(); if (data.DataList.length) { if (me.onDataInit) { me.onDataInit(); } else { //empty list return if (me.onRender) me.onRender(data.DataList.length); return; } if (data.DataList.length < 20 || !data.HasNext && !me.preAppend) me.btn.hide(); } else { me.isStop = true; me.btn.hide(); } for (var i = 0; i < data.DataList.length; i++) { if (me.tagModelFunc) { me.tagModelFunc(data.DataList[i]); } if (me.isPreAppend) { if (data.DataList[i].SclassId == me.$container.find("[data-SclassId]").first().attr("data-SclassId")) { me.$container.find("[data-SclassId]").first() .after(buildTags(me.tplContent, data.DataList[i], true)); } else { me.$container.append(buildTags(me.tplContent, data.DataList[i], true)); } } else { html.push(buildTags(me.tplContent, data.DataList[i], true)); } } if (me.isPreAppend) { //me.$container.prepend(html.join('')); } else { me.$container.append(html.join('')); } me.loading = 0; if (data.RequestPage > 0) me.page = data.RequestPage; //me.endId = data.LastId; if (me.onRender) me.onRender(data.DataList.length); } CM.prototype.beforeAjax = function () { //this.$container.append(_$("tplLoading").innerHTML); if (this.preAppend) { this.preAppend(); } } CM.prototype.ajaxError = function () { var me = this; me.loading = 0; } })(jQuery); function _callback(json) { window._locModel = window._locModel || { T: {} }; for (var i in json) { _locModel.T[i] = json[i]; } };