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