ModifyDetail.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. Ext.define('erp.view.core.button.ModifyDetail',{
  2. extend: 'Ext.Button',
  3. alias: 'widget.erpModifyDetailCommonButton',
  4. cls: 'x-btn-gray',
  5. text: '更新明细数据',
  6. //id:'modifyDetailbutton',
  7. disabled:true,
  8. width: 100,
  9. initComponent : function(){
  10. this.callParent(arguments);
  11. var me=this;
  12. },
  13. listeners: {
  14. afterrender:function(btn){
  15. var form=Ext.getCmp('form');
  16. var statuscodeField=form.statuscodeField;
  17. var status = Ext.getCmp(statuscodeField);
  18. if(status && status.value!= 'ENTERING'){
  19. btn.setDisabled(false);
  20. }
  21. },
  22. 'enable':function(btn){
  23. var grid=btn.ownerCt.ownerCt;
  24. Ext.Array.each(grid.columns,function(c){
  25. if(c.modify){
  26. c.autoEdit=true;
  27. }
  28. });
  29. },
  30. click:function(btn){
  31. var grid=btn.ownerCt.ownerCt;
  32. var me=this;
  33. var s1='';
  34. //check所有grid是否已修改
  35. if(grid.GridUtil){
  36. var msg = grid.GridUtil.checkGridDirty(grid);
  37. if(msg.length > 0){
  38. s1 = s1 + '<br/>' + msg;
  39. }
  40. }
  41. if(s1 == '' || s1 == '<br/>'){
  42. showError('还未修改数据.');
  43. return;
  44. }
  45. var param=new Array();
  46. var form=Ext.getCmp('form');
  47. var id=form.keyField;
  48. var log=caller+'|'+form.keyField+'='+Ext.getCmp(form.keyField).value;
  49. var params = new Object();
  50. var param = grid.GridUtil.getGridStore(grid);
  51. params.param=unescape("[" + param.toString() + "]");
  52. params.caller=grid.caller==null? caller:grid.caller;
  53. params.log=log;
  54. grid.setLoading();
  55. Ext.Ajax.request({
  56. url:basePath+'oa/modifyDetail.action',
  57. params:params,
  58. method:'post',
  59. callback:function(options,success,response){
  60. grid.setLoading(false);
  61. var localJson = new Ext.decode(response.responseText);
  62. if(localJson.success){
  63. showMessage('提示', '保存成功!', 1000);
  64. var u = String(window.location.href);
  65. window.location.reload();
  66. }else {
  67. var str = localJson.exceptionInfo;
  68. showError(str);return;
  69. }
  70. }
  71. });
  72. }
  73. }
  74. });