!function(c){var b=function(f,d){this._id=(((1+Math.random())*65536)|0).toString(16);this._loadCount=0;this.opts=d;this._initLayout(c(f));this._initHead();this._initOptions();this._initEvents();this._setColsWidth();if(this.opts.fullWidthRows){this._fullWidthRows()}for(var e=0;e',"",'
','
',"
",'
','
','
','',"
",'
','','
'+this.opts.noDataText+"
",'
','
','
','
'+this.opts.loadingText+"
","
",""];if(a.isIE7||a.isIE6){g.prop("cellspacing",0)}var d=c(j.join(""));this.$mmGrid=d;this.$style=d.find("style");this.$headWrapper=d.find(".mmg-headWrapper");this.$head=d.find(".mmg-head");this.$backboard=d.find(".mmg-backboard");this.$bodyWrapper=d.find(".mmg-bodyWrapper");this.$body=g.removeAttr("style").addClass("mmg-body");this._insertEmptyRow();this.$body.appendTo(this.$bodyWrapper);if(e===0||f.children().length==0){f.prepend(this.$mmGrid)}else{f.children().eq(e-1).after(this.$mmGrid)}if(a.isIE6&&(!h.width||h.width==="auto")){d.width("100%");d.width(d.width()-(d.outerWidth(true)-d.width()))}else{d.width(h.width)}if(a.isIE6&&(!h.height||h.height==="auto")){d.height("100%");d.height(d.height()-(d.outerHeight(true)-d.height()))}else{d.height(h.height)}if(h.checkCol){var i=h.multiSelect?'':'';h.cols.unshift({title:i,width:20,align:"center",lockWidth:true,checkCol:true,renderer:function(){return''}})}if(h.indexCol){h.cols.unshift({title:"#",width:h.indexColWidth,align:"center",lockWidth:true,indexCol:true,renderer:function(l,k,m){return'"}})}},_expandCols:function(g){var f=[];if(!g){return f}for(var e=0;e');g.push('
');g.push('');if(e.titleHtml){g.push(e.titleHtml)}else{g.push(e.title)}g.push('
');if(!e.lockWidth){g.push('
')}g.push("
")}else{var i=e.cols.length;c.each(e.cols,function(j,k){if(k.hidden){i--}});if(i===0){e.hidden=true}g.push('');g.push('
');g.push('');if(e.titleHtml){g.push(e.titleHtml)}else{g.push(e.title)}g.push('
');g.push("
")}return g.join("")},_initHead:function(){var i=this;var d=this.opts;var j=this.$head; if(d.cols){var h=[""];var r=i._titleDeep(d.cols);for(var o=1;o<=r;o++){var l=i._colsWithTitleDeep(d.cols,o);h.push("");for(var n=0;n")}h.push("");j.html(h.join(""))}var k=this._expandThs();var f=this._expandCols(d.cols);c.each(k,function(s){if(!f[s].width){f[s].width=100}c.data(this,"col-width",f[s].width);c.data(this,"col",f[s])});var p=this.$mmGrid;var m=this.$headWrapper;var e=this.$bodyWrapper;if(d.height!=="auto"){e.height(p.height()-m.outerHeight(true))}if(d.sortName){for(var n=0;n显示列"];for(var f=0;f");if(e.title){k.push(e.title)}else{k.push("未命名")}k.push("")}h.append(c(k.join("")))}},_initEvents:function(){var i=this;var d=this.opts;var n=this.$mmGrid;var m=this.$headWrapper;var j=this.$head;var f=this.$bodyWrapper;var h=this.$body;var o=this.$backboard;var k=this._expandThs();var e=this._expandCols(d.cols);var g=this._leafCols();if(d.width==="auto"||d.height==="auto"||(typeof d.width==="string"&&d.width.indexOf("%")===d.width.length-1)||typeof d.height==="string"&&d.height.indexOf("%")===d.height.length-1){c(window).on("resize",function(){i.resize()})}f.on("scroll",function(){j.css("left",-c(this).scrollLeft())});var l=n.find("a.mmg-btnBackboardDn").on("click",function(){var p=n.height()-m.outerHeight(true);if(d.height==="auto"&&d.backboardMinHeight!=="auto"&&p=0;v--){var x=t.eq(v);var w=x.data("col");if(w.cols){var r=true;var p=0;c.each(w.cols,function(y,z){if(!z.hidden){r=false;p++}});if(p!==0){x.prop("colspan",p)}w.hidden=r}}i._setColsWidth();o.height(n.height()-m.outerHeight(true));if(d.height!=="auto"){f.height(n.height()-m.outerHeight(true))}n.find("a.mmg-btnBackboardDn").css({"top":m.outerHeight(true)})});j.on("click",".mmg-title",function(){var s=c(this);var p=k.find(".mmg-title");var q=s.parent().parent().data("col");if(!q.sortable){return}var r=c.data(this,"sortStatus")==="asc"?"desc":"asc";c.each(p,function(){c.removeData(this,"sortStatus")});k.find(".mmg-sort").removeClass("mmg-asc").removeClass("mmg-desc");c.data(this,"sortStatus",r);s.siblings(".mmg-sort").addClass("mmg-"+r);if(d.url&&d.remoteSort){i.load()}else{i._nativeSorter(c.inArray(q,g),r);i._setStyle()}}).on("mousedown",".mmg-colResize",function(s){var q=c(this);var u=s.pageX;var p=n.find(".mmg-colResizePointer").css("left",s.pageX-m.offset().left).show();var t=j.position().left;var r=n.find(".mmg-colResizePointer-before").css("left",q.parent().parent().position().left+t).show();document.selection&&document.selection.empty&&(document.selection.empty(),1)||window.getSelection&&window.getSelection().removeAllRanges();document.body.onselectstart=function(){return false};m.css("-moz-user-select","none");n.on("mousemove",function(v){p.css("left",v.pageX-m.offset().left)}).on("mouseup",function(x){var w=q.parent().parent();var v=w.width()+x.pageX-u;c.data(w[0],"col-width",v);i._setColsWidth();m.mouseleave()}).on("mouseleave",function(){n.off("mouseup").off("mouseleave").off("mousemove");p.hide();r.hide();document.body.onselectstart=function(){return true};m.css("-moz-user-select","text")})});var h=this.$body;h.on("click","td",function(r){var q=c(this);var p=jQuery.Event("cellSelected");p.target=r.target;i.$body.triggerHandler(p,[c.data(q.parent()[0],"item"),q.parent().index(),q.index()]);if(p.isPropagationStopped()){return}if(!q.parent().hasClass("selected")){i.select(q.parent().index())}else{i.deselect(q.parent().index()) }});h.on("click","tr > td .mmg-check",function(q){q.stopPropagation();var p=c(this);if(this.checked){i.select(c(p.parents("tr")[0]).index())}else{i.deselect(c(p.parents("tr")[0]).index())}});if(d.checkCol){j.find("th .checkAll").on("click",function(){if(this.checked){i.select("all")}else{i.deselect("all")}})}if(a.isIE6){h.on("mouseenter","tr",function(){c(this).toggleClass("hover")}).on("mouseleave","tr",function(){c(this).toggleClass("hover")})}},_rowHtml:function(l,j){var d=this.opts;var e=this._expandCols(d.cols);var g=this._leafCols();if(c.isPlainObject(l)){var h=[];h.push("");for(var k=0;k');if(f.renderer){h.push(f.renderer(l[f.name],l,j))}else{h.push(l[f.name])}h.push("")}h.push("");return h.join("")}},_populate:function(e){var g=this.opts;var i=this.$body;this._hideMessage();if(e&&e.length!==0&&g.cols){var h=[];h.push("");for(var j=0;j");i.empty().html(h.join(""));var d=i.find("tr");for(var j=0;j ')},_removeEmptyRow:function(){var d=this.$body;d.find("tr.emptyRow").remove()},_genColClass:function(d){return"mmg"+this._id+"-col"+d},_setStyle:function(){var d=this.$head;var e=this._expandThs();var f=this.$body;var h=this._leafCols();e.eq(0).addClass("first");e.eq(-1).addClass("last");f.find("tr,td").removeClass("even").removeClass("colSelected").removeClass("colSelectedEven");f.find("tr:odd").addClass("even");var g=c.inArray(d.find(".mmg-title").filter(function(){return c.data(this,"sortStatus")==="asc"||c(this).data("sortStatus")==="desc"}).parent().parent().data("col"),h);f.find("tr > td:nth-child("+(g+1)+")").addClass("colSelected").filter(":odd").addClass("colSelectedEven");this._resizeHeight()},_setColsWidth:function(){var d=this.opts;var e=this.$style;var n=this.$head;var h=this.$bodyWrapper;var m=this.$body;var o=this._expandThs();var i=this._expandCols(d.cols);var j=h.scrollTop();var l=n.position().left;h.width(9999);m.width("auto");var f=[];for(var q=0;q td:nth-child("+(e+1)+")").sortElements(function(j,i){var k=c.text(c(j));var h=c.text(c(i));if(d.type==="number"){k=parseFloat(k);h=parseFloat(h)}else{return f==="desc"?-k.localeCompare(h):k.localeCompare(h)}return k>h?(f==="desc"?-1:1):(f==="desc"?1:-1)},function(){return this.parentNode})},_refreshSortStatus:function(){var e=this.$head.find("th");var d=-1;var f="";e.find(".mmg-title").each(function(h,i){var g=c.data(i,"sortStatus");if(g){d=h;f=g}});var f=f==="desc"?"asc":"desc";if(d>=0){e.eq(d).find(".mmg-title").data("sortStatus",f).click()}},_loadAjax:function(o){var n=this;var d=this.opts; var j={};if(c.isFunction(d.params)){var f=d.params();if(!f){return}j=c.extend(j,f)}else{if(c.isPlainObject(d.params)){if(o){d.params=c.extend(j,o)}j=c.extend(j,d.params)}}if(d.remoteSort){var r="";var h="";var e=this.$head.find(".mmg-title");for(var s=0;s td").find(".mmg-check").prop("checked","")}}if(!g.hasClass("selected")){g.addClass("selected");if(h.checkCol){g.find("td .mmg-check").prop("checked","checked")}}}else{if(typeof e==="function"){c.each(i.find("tr"),function(j){if(e(c.data(this,"item"),j)){var k=c(this);if(!k.hasClass("selected")){k.addClass("selected");if(h.checkCol){k.find("td .mmg-check").prop("checked","checked")}}}})}else{if(e===undefined||(typeof e==="string"&&e==="all")){i.find("tr.selected").removeClass("selected");i.find("tr").addClass("selected");i.find("tr > td").find(".mmg-check").prop("checked","checked")}else{return}}}if(h.checkCol){var f=i.find("tr > td").find(".mmg-check");if(f.length===f.filter(":checked").length){d.find("th .checkAll").prop("checked","checked")}}},deselect:function(e){var f=this.opts;var g=this.$body;var d=this.$head;if(typeof e==="number"){g.find("tr").eq(e).removeClass("selected");if(f.checkCol){g.find("tr").eq(e).find("td .mmg-check").prop("checked","")}}else{if(typeof e==="function"){c.each(g.find("tr"),function(h){if(e(c.data(this,"item"),h)){c(this).removeClass("selected");if(f.checkCol){c(this).find("td .mmg-check").prop("checked","")}}})}else{if(e===undefined||(typeof e==="string"&&e==="all")){g.find("tr.selected").removeClass("selected");if(f.checkCol){g.find("tr > td").find(".mmg-check").prop("checked","")}}else{return}}}d.find("th .checkAll").prop("checked","")},selectedRows:function(){var e=this.$body;var d=[];c.each(e.find("tr.selected"),function(f,g){d.push(c.data(this,"item"))});return d},selectedRowsIndex:function(){var f=this.$body;var d=this.$body.find("tr");var e=[];c.each(f.find("tr.selected"),function(g){e.push(d.index(this))});return e},rows:function(){var e=this.$body;var d=[];c.each(e.find("tr"),function(){d.push(c.data(this,"item"))});return d},row:function(d){var f=this.$body;if(d!==undefined&&d>=0){var e=f.find("tr").eq(d);if(e.length!==0){return c.data(e[0],"item")}}},rowsLength:function(){var e=this.$body;var d=e.find("tr").length;if(d===1&&e.find("tr.emptyRow").length===1){return 0}return d},addRow:function(h,e){var d=this.$body.find("tbody");if(c.isArray(h)){for(var f=h.length-1;f>=0;f--){this.addRow(h[f],e)}return}if(!c.isPlainObject(h)){return}this._hideMessage();this._removeEmptyRow();var g;if(e===undefined||e<0){g=c(this._rowHtml(h,this.rowsLength())); d.append(g)}else{g=c(this._rowHtml(h,e));if(e===0){d.prepend(g)}else{var j=d.find("tr").eq(e-1);if(j.length===0){d.append(g)}else{j.after(c(g))}}}g.data("item",h);this._setStyle();this.$body.triggerHandler("rowInserted",[h,e])},updateRow:function(i,e){var h=this.opts;var d=this.$body.find("tbody");if(!c.isPlainObject(i)){return}var j=this.row(e);var g=d.find("tr").eq(e);var f=g.find("td:first :checkbox").is(":checked");g.html(this._rowHtml(i,e).slice(4,-5));if(h.checkCol){g.find("td:first :checkbox").prop("checked",f)}g.data("item",i);this._setStyle();this.$body.triggerHandler("rowUpdated",[j,i,e])},removeRow:function(f){var j=this;var d=j.$body.find("tbody");if(c.isArray(f)){for(var g=f.length-1;g>=0;g--){j.removeRow(f[g])}return}if(f===undefined){var e=d.find("tr");for(var g=e.length-1;g>=0;g--){j.removeRow(g)}}else{var h=j.row(f);d.find("tr").eq(f).remove();this.$body.triggerHandler("rowRemoved",[h,f])}this._setStyle();if(this.rowsLength()===0){this._showNoData();this._insertEmptyRow()}}};c.fn.mmGrid=function(){if(arguments.length===0||typeof arguments[0]==="object"){var g=arguments[0],h=this.data("mmGrid"),e=c.extend(true,{},c.fn.mmGrid.defaults,g);if(!h){h=new b(this,e);this.data("mmGrid",h)}return c.extend(true,this,h)}if(typeof arguments[0]==="string"){var h=this.data("mmGrid");var f=h[arguments[0]];if(f){var d=Array.prototype.slice.call(arguments);return f.apply(h,d.slice(1))}}};c.fn.mmGrid.defaults={width:"auto",height:"280px",cols:[],url:false,params:{},method:"POST",cache:false,root:"items",items:[],autoLoad:true,remoteSort:false,sortName:"",sortStatus:"asc",loadingText:"正在载入...",noDataText:"没有数据",loadErrorText:"数据加载出现异常",multiSelect:false,checkCol:false,indexCol:false,indexColWidth:40,fullWidthRows:false,nowrap:false,showBackboard:true,backboardMinHeight:125,plugins:[]};c.fn.mmGrid.Constructor=b;c.fn.sortElements=(function(){var d=[].sort;return function(f,g){g=g||function(){return this};var e=this.map(function(){var i=g.call(this),h=i.parentNode,j=h.insertBefore(document.createTextNode(""),i.nextSibling);return function(){if(h===this){throw new Error("You can't sort elements if any one is a descendant of another.")}h.insertBefore(this,j);h.removeChild(j)}});return d.call(this,f).each(function(h){e[h].call(g.call(this))})}})()}(window.jQuery);!function(a){var b=function(d,c){this.$el=a(d);this.opts=c};b.prototype={_initLayout:function(){var e=this;var c=this.$el;var d=this.opts;c.addClass("mmPaginator");var g=['
','
    ','
    '];c.append(a(g.join("")));this.$totalCountLabel=c.find(".totalCountLabel");this.$pageList=c.find(".pageList");this.$limitList=c.find(".limit select");var f=this.$limitList;a.each(d.limitList,function(){var h=a("").prop("value",this).text(e.formatString(d.limitLabel,[this]));f.append(h)});f.on("change",function(){c.data("page",1);e.$mmGrid.load()})},_plain:function(k,m,e){var h=this;var o=this.$el;var n=this.$pageList;var g=m%e===0?parseInt(m/e):parseInt(m/e)+1;g=g?g:0;if(g===0){k=1}else{if(k>g){k=g}else{if(k<1&&g!=0){k=1}}}var c=a('');if(k<=1){c.addClass("disable")}else{c.find("a").on("click",function(){o.data("page",k-1);h.$mmGrid.load()})}n.append(c);var j=[1];if(k>4){j.push("...")}for(var f=0;f<5;f++){var l=k-2+f;if(l>1&&l<=g-1){j.push(l)}}if(k+11){j.push(g)}a.each(j,function(i,p){var q=a("
  • ");if(p==="..."){q.addClass("").html("...")}else{if(p===k){q.addClass("active").find("a").text(p)}else{q.find("a").text(p).prop("title","第"+p+"页").on("click",function(r){o.data("page",p);h.$mmGrid.load()})}}n.append(q)});var d=a('');if(k>=g){d.addClass("disable")}else{d.find("a").on("click",function(){o.data("page",k+1);h.$mmGrid.load()})}n.append(d)},_search:function(e,d,c){},load:function(i){var e=this.$el;var h=this.$limitList;var f=this.opts;if(!i){i={}}var g=i[f.pageParamName];if(g===undefined||g===null){g=e.data("page")}e.data("page",g);var d=i[f.totalCountName];if(d===undefined){d=0}e.data("totalCount",d);var c=i[f.limitParamName];if(!c){c=h.val()}this.$limitList.val(c);this.$totalCountLabel.html(this.formatString(f.totalCountLabel,[d]));this.$pageList.empty();this._plain(g,d,this.$limitList.val())},formatString:function(d,c){return d.replace(/{(\d+)}/g,function(e,f){return typeof c[f]!="undefined"?c[f]:e})},params:function(){var d=this.opts;var c=this.$el;var e=this.$limitList;var f={};f[d.pageParamName]=c.data("page");f[d.limitParamName]=e.val();return f},init:function(c){var f=this;var e=f.opts;this.$mmGrid=c;this._initLayout();this.$mmGrid.on("loadSuccess",function(i,h){f.load(h)});var g={};g[e.totalCountName]=0;g[e.pageParamName]=e.page;g[e.limitParamName]=e.limit;this.load(g);if(c.opts.indexCol){var d=c.opts.cols[0];d.renderer=function(j,h,k){var i=f.params();return'" }}}};a.fn.mmPaginator=function(){if(arguments.length===0||typeof arguments[0]==="object"){var f=arguments[0],g=this.data("mmPaginator"),d=a.extend(true,{},a.fn.mmPaginator.defaults,f);if(!g){g=new b(this[0],d);this.data("mmPaginator",g)}return a.extend(true,this,g)}if(typeof arguments[0]==="string"){var g=this.data("mmPaginator");var e=g[arguments[0]];if(e){var c=Array.prototype.slice.call(arguments);return e.apply(g,c.slice(1))}}};a.fn.mmPaginator.defaults={style:"plain",totalCountName:"totalCount",page:1,pageParamName:"page",limitParamName:"limit",limitLabel:"每页{0}条",totalCountLabel:"共{0}条记录",limit:undefined,limitList:[20,30,40,50]};a.fn.mmPaginator.Constructor=b}(window.jQuery);