Ext.QuickTips.init(); Ext.define('erp.controller.fa.ars.BadDebitRate', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'core.grid.Panel4','core.toolbar.Toolbar3','core.button.Save' ], init:function(){ var me = this; me.gridLastSelected = null; this.control({ 'erpGridPanel4': { itemclick: this.onGridItemClick }, 'erpSaveButton': { click: function(btn){ this.beforeUpdate(); } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.gridLastSelected = record; var grid = Ext.getCmp('grid'); if(record.data[grid.necessaryField] == null || record.data[grid.necessaryField] == ''){ this.gridLastSelected.findable = true;//空数据可以在输入完code,并移开光标后,自动调出该条数据 } else { this.gridLastSelected.findable = false; } this.GridUtil.onGridItemClickForEditGrid(selModel, record); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, beforeUpdate: function(){ var mm = this; var s2 = ''; var grids = Ext.ComponentQuery.query('gridpanel'); if(grids.length > 0){//check所有grid是否已修改 Ext.each(grids, function(grid, index){ var msg = grid.GridUtil.checkGridDirty(grid); if(msg.length > 0){ s2 = s2 + '
' + grid.GridUtil.checkGridDirty(grid); } }); } var params = []; var rate = 0; var griddata = grids[0].store.data.items; if(griddata.length > 0){ Ext.each(griddata,function(data,index){ var rate1 =Ext.Number.from(data.data.bdr_rate,0); rate = rate+rate1; }); if(rate!=100){ warnMsg('比率合计不为100%,是否继续保存?',function(btn){ if(btn=='yes'){ var param = grids[0].GridUtil.getGridStore(); params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); mm.update(params); }else{ return; } }); }else{ var param = grids[0].GridUtil.getGridStore(); if(grids[0].necessaryField.length > 0 && (param == null || param == '')){ warnMsg('明细表还未添加数据,是否继续?', function(btn){ if(btn == 'yes'){ params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); mm.update(params); }else{ return; } }); }else{ params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); mm.update(params); } } } // if(grids.length > 0){ // var param = grids[0].GridUtil.getGridStore(); // // if(grids[0].necessaryField.length > 0 && (param == null || param == '')){ // warnMsg('明细表还未添加数据,是否继续?', function(btn){ // if(btn == 'yes'){ // params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); // } else { // return; // } // }); // } else { // params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); // } // } // mm.update(params); /* Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; }; var grid = Ext.getCmp('grid'); var items = grid.store.data.items; var rowNo = []; Ext.each(items,function(item,index){ Ext.each(grid.columns, function(c){ if(item.data[c.dataIndex]!=item.raw[c.dataIndex]) { if(!rowNo.contains(index+1)){ rowNo.push(index+1); } } }); }); if(rowNo.length==0){ Ext.Msg.alert("你未对数据做任何修改!"); return; } else { var result = confirm("第"+rowNo.toString()+"行已经修改,确定更新?") if(result){ var index = 0; var jsonGridData = new Array(); var s = grid.getStore().data.items; for(var i=0;i