Ext.define('erp.view.fa.fp.RepaymentDetailGrid',{ extend:'Ext.grid.Panel', alias:'widget.RepaymentdetailGrid', requires:['erp.view.fa.fp.PPDtoolbar'], layout:'fit', id:'RepaymentdetailGrid', emptyText : $I18N.common.grid.emptyText, columnLines : true, autoScroll : true, detno:'ppdd_detno', keyField:'ppdd_id', mainField:'ppdd_ppdid', columns:[], multiselected: [], bodyStyle:'bachgroud-color:#f1f1f1;', plugins:Ext.create('Ext.grid.plugin.CellEditing',{ clicksToEdit:1 }), bbar:{ xtype: 'erpPPDToolbar' }, GridUtil:Ext.create('erp.util.GridUtil'), BaseUtil:Ext.create('erp.util.BaseUtil'), selModel: Ext.create('Ext.selection.CheckboxModel',{ // checkOnly:true, ignoreRightMouseSelection : false, getEditor: function(){ return null; }, onRowMouseDown: function(view, record, item, index, e) {//改写的onRowMouseDown方法 var status = Ext.getCmp('cm_statuscode'); var me = Ext.getCmp('RepaymentdetailGrid'); if(status&&status.value=='AUDITED'){ var bool = true; var items = me.selModel.getSelection(); Ext.each(items, function(item, index){ if(this.index == record.index){ bool = false; me.selModel.deselect(record); Ext.Array.remove(items, item); Ext.Array.remove(me.multiselected, record); } }); Ext.each(me.multiselected, function(item, index){ items.push(item); }); me.selModel.select(items); if(bool){ view.el.focus(); var checkbox = item.childNodes[0].childNodes[0].childNodes[0]; if(checkbox.getAttribute && checkbox.getAttribute('class') == 'x-grid-row-checker'){ me.multiselected.push(record); items.push(record); me.selModel.select(items); } else { me.selModel.deselect(record); Ext.Array.remove(me.multiselected, record); } } }else{ me.selModel.select(index); } }, onHeaderClick: function(headerCt, header, e) { if (header.isCheckerHd) { e.stopEvent(); var isChecked = header.el.hasCls(Ext.baseCSSPrefix + 'grid-hd-checker-on'); if (isChecked) { this.deselectAll(true); var grid = Ext.getCmp('RepaymentdetailGrid'); this.deselect(grid.multiselected); grid.multiselected = new Array(); var els = Ext.select('div[@class=x-grid-row-checker-checked]').elements; Ext.each(els, function(el, index){ el.setAttribute('class','x-grid-row-checker'); }); header.el.removeCls(Ext.baseCSSPrefix + 'grid-hd-checker-on');//添加这个 } else { var grid = Ext.getCmp('batchDealGridPanel'); this.deselect(grid.multiselected); grid.multiselected = new Array(); var els = Ext.select('div[@class=x-grid-row-checker-checked]').elements; Ext.each(els, function(el, index){ el.setAttribute('class','x-grid-row-checker'); }); this.selectAll(true); header.el.addCls(Ext.baseCSSPrefix + 'grid-hd-checker-on');//添加这个 } } } }), getMultiSelected: function(){ var grid = this; var items = grid.selModel.getSelection(); Ext.each(items, function(item, index){ if(this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){ grid.multiselected.push(item); } }); return Ext.Array.unique(grid.multiselected); }, initComponent:function(){ this.callParent(arguments); //得到页面上显示的formCondition属性 var gridCondition=this.BaseUtil.getUrlParam('gridCondition'); var condition=""; if(gridCondition==null){ var urlCondition = this.BaseUtil.getUrlParam('formCondition'); //定义通过IS拆分后的数组 var cons=null; //存在urlCondition的情况下 if(urlCondition){ //对urlCondition进行拆分 urlCondition的格式一般为pp_idIS1 cons = urlCondition.split("IS"); } var pp_id=0; if(cons!=null){ if(cons[0]&&cons[1]){ if(cons[0]!=null&&cons[0]!=''){ if(cons[1]>0){ pp_id=cons[1]; }else{ pp_id=0; } } } } condition ="cmd_cmid='"+cm_id+"'"; }else condition=gridCondition.replace(/IS/g,'='); this.getMyData(condition); }, getMyData:function(condition){ var me = this; var params = { caller:"Repayment", condition:condition }; if(me.columns && me.columns.length > 2){ me.GridUtil.loadNewStore(me,params); } else { me.GridUtil.getGridColumnsAndStore(me,'common/singleGridPanel.action',params); } } });