Ext={};Ext.apply=function(C,D,B){if(B){Ext.apply(C,B)}if(C&&D&&typeof D=="object"){for(var A in D){C[A]=D[A]}}return C};var GridMgr={cacheGrid:{},getGrid:function(A){return GridMgr[A]},addGrid:function(A,B){this.cacheGrid[A]=true;GridMgr[A]=B},removeGrid:function(A){if(typeof A=="string"&&GridMgr[A]){delete this.cacheGrid[A];delete GridMgr[A];return }},clearGrid:function(){for(gridId in this.cacheGrid){delete GridMgr[gridId]}},first:function(A){GridMgr[A].page.first()},next:function(A){GridMgr[A].page.next()},prev:function(A){GridMgr[A].page.prev()},last:function(A){GridMgr[A].page.last()},reload:function(A){GridMgr[A].page.refresh()},go:function(A){GridMgr[A].page.go(window.parseInt($(A+"_pageInput").value))},changePageSize:function(A){var B=$(A+"_sizeList");if(B){GridMgr[A].page.changeSize(window.parseInt(B.value))}},selectAll:function(A){var B=$(A+"_selectAll");B.className=(B.className=="checkboxHeader"?"checkedboxHeader":"checkboxHeader");GridMgr[A].view.cks.each(function(C){$(C).checked=B.className=="checkboxHeader"?false:true})},getSelectedValue:function(A,C){var B=[];GridMgr[A].view.cks.each(function(D){if($(D).checked){B.push($(D).value)}});return C?B.join(C):B},exportData:function(A){ExportWin.exportData(GridMgr[A].exportData,GridMgr[A].page.lastCondition)}};GZITGrid=Class.create();GZITGrid.prototype={initialize:function(A){this.id=A.gridId||"gzitgrid_"+GZITGrid.autoId++;this.sm=A.sm||false;this.containerId=A.containerId;this.columns=A.columns;this.viewConfig=A.viewConfig;this.baseParams={};this.exportData=A.exportData;this.onLoad=A.onLoad||function(){};this.onFail=A.onFail;this.beforeLoad=A.beforeLoad;this.page=new Pagenation({pageSize:A.store.pageSize||10,sizeList:A.store.sizeList||[10,20,50,100,500,1000],query:A.store.remoteQuery,grid:this});GridMgr.addGrid(this.id,this)},setView:function(A){this.view=A;this.view.grid=this;this.view.viewConfig=this.viewConfig;this.view.bindToGrid(this)},update:function(A){this.records=A.data;var C=this.view.genGridHTML();var B=$(this.containerId);if(B){B.innerHTML=C}},getRecord:function(C,B){var A=null;this.records.each(function(D){if(D[C]==B){A=D;throw $break}});return A},load:function(A){if(A){this.baseParams=Ext.apply({},A)}this.page.first()},reload:function(){this.page.refresh()},getSelectedValue:function(A){return GridMgr.getSelectedValue(this.id,A)}};GZITGrid.autoId=0;Pagenation=Class.create();Pagenation.prototype={curPage:1,maxPage:1,initialize:function(A){this.config=A||{};this.grid=A.grid;this.pageSize=A.pageSize;this.sizeList=A.sizeList},isFirst:function(){return this.isInPage(1)},isLast:function(){return this.isInPage(this.maxPage)},isInPage:function(A){return this.curPage==A},reset:function(){this.curPage=1;this.maxPage=1},first:function(){this.go(1)},prev:function(){if(this.curPage<=1){this.curPage=1;return }this.go(this.curPage-1)},next:function(){if(this.curPage>=this.maxPage){this.curPage=this.maxPage;return }this.go(this.curPage+1)},last:function(){this.go(this.maxPage)},refresh:function(){this.go(this.curPage)},go:function(B){if(B<1||B>this.maxPage){alert("无效页码:"+B+" 页码必须在 1-"+this.maxPage+"范围之间");return }var E=this.grid.baseParams;E.offset=(B-1)*this.pageSize+1||1;E.limit=this.pageSize;var C=this;var A=function(F){if(F.ok){C.from=E.offset;C.to=C.from+C.pageSize-1<F.totalRecord?C.from+C.pageSize-1:F.totalRecord;C.curPage=B;C.totalRecord=F.totalRecord;C.maxPage=Math.ceil(F.totalRecord/C.pageSize);C.maxPage=C.maxPage==0?1:C.maxPage;C.lastCondition=E;C.grid.update(F);C.grid.onLoad(F);return }alert(F.desc||"本次查询失败")}.bind(this.config.scope||this.config||window);if(C.grid.beforeLoad){C.grid.beforeLoad()}try{this.config.query(E,A)}catch(D){alert("无法与远程服务器取得连接...请稍后再试");if(C.grid.onFail){C.grid.onFail(D)}return }},changeSize:function(A){this.reset();this.pageSize=A;this.go(1)}};