Ext.define('erp.view.core.button.ModifyDetail',{
extend: 'Ext.Button',
alias: 'widget.erpModifyDetailCommonButton',
cls: 'x-btn-gray',
text: '更新明细数据',
//id:'modifyDetailbutton',
disabled:true,
width: 100,
initComponent : function(){
this.callParent(arguments);
var me=this;
},
listeners: {
afterrender:function(btn){
var form=Ext.getCmp('form');
var statuscodeField=form.statuscodeField;
var status = Ext.getCmp(statuscodeField);
if(status && status.value!= 'ENTERING'){
btn.setDisabled(false);
}
},
'enable':function(btn){
var grid=btn.ownerCt.ownerCt;
Ext.Array.each(grid.columns,function(c){
if(c.modify){
c.autoEdit=true;
}
});
},
click:function(btn){
var grid=btn.ownerCt.ownerCt;
var me=this;
var s1='';
//check所有grid是否已修改
if(grid.GridUtil){
var msg = grid.GridUtil.checkGridDirty(grid);
if(msg.length > 0){
s1 = s1 + '
' + msg;
}
}
if(s1 == '' || s1 == '
'){
showError('还未修改数据.');
return;
}
var param=new Array();
var form=Ext.getCmp('form');
var id=form.keyField;
var log=caller+'|'+form.keyField+'='+Ext.getCmp(form.keyField).value;
var params = new Object();
var param = grid.GridUtil.getGridStore(grid);
params.param=unescape("[" + param.toString() + "]");
params.caller=grid.caller==null? caller:grid.caller;
params.log=log;
grid.setLoading();
Ext.Ajax.request({
url:basePath+'oa/modifyDetail.action',
params:params,
method:'post',
callback:function(options,success,response){
grid.setLoading(false);
var localJson = new Ext.decode(response.responseText);
if(localJson.success){
showMessage('提示', '保存成功!', 1000);
var u = String(window.location.href);
window.location.reload();
}else {
var str = localJson.exceptionInfo;
showError(str);return;
}
}
});
}
}
});