CancelApproveNum.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. Ext.define('erp.view.core.button.CancelApproveNum',{
  2. extend: 'Ext.Button',
  3. alias: 'widget.erpCancelApproveNumButton',
  4. param: [],
  5. id: 'erpCancelApproveNumButton',
  6. text: $I18N.common.button.erpCancelApproveNumButton,
  7. iconCls: 'x-button-icon-save',
  8. cls: 'x-btn-gray',
  9. formBind: true,
  10. width: 120,
  11. style: {
  12. marginLeft: '10px'
  13. },
  14. handler: function(btn){
  15. var grid = Ext.getCmp('batchDealGridPanel');
  16. var items = grid.selModel.getSelection();
  17. Ext.each(items, function(item, index){
  18. if(this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  19. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){
  20. grid.multiselected.push(item);
  21. }
  22. });
  23. var form = Ext.getCmp('dealform');
  24. var records = Ext.Array.unique(grid.multiselected);
  25. if(records.length > 0){
  26. var params = new Object();
  27. params.caller = caller;
  28. var data = new Array();
  29. var bool = false;
  30. Ext.each(records, function(record, index){
  31. var f = form.fo_detailMainKeyField;
  32. if((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  33. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0)
  34. ||(f && this.data[f] != null && this.data[f] != ''
  35. && this.data[f] != '0' && this.data[f] != 0)){
  36. bool = true;
  37. var o = new Object();
  38. if(grid.keyField){
  39. o[grid.keyField] = record.data[grid.keyField];
  40. } else {
  41. params.id[index] = record.data[form.fo_detailMainKeyField];
  42. }
  43. if(grid.toField){
  44. Ext.each(grid.toField, function(f, index){
  45. var v = Ext.getCmp(f).value;
  46. if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){
  47. o[f] = v;
  48. }
  49. });
  50. }
  51. if(grid.necessaryFields){
  52. Ext.each(grid.necessaryFields, function(f, index){
  53. var v = record.data[f];
  54. if(Ext.isDate(v)){
  55. v = Ext.Date.toString(v);
  56. }
  57. o[f] = v;
  58. });
  59. }
  60. data.push(o);
  61. }
  62. });
  63. if(bool){
  64. params.data = Ext.encode(data);
  65. var main = parent.Ext.getCmp("content-panel");
  66. main.getActiveTab().setLoading(true);//loading...
  67. Ext.Ajax.request({
  68. url : basePath + "oa/cancelApproveNum.action",
  69. params: params,
  70. method : 'post',
  71. callback : function(options,success,response){
  72. main.getActiveTab().setLoading(false);
  73. var localJson = new Ext.decode(response.responseText);
  74. if(localJson.exceptionInfo){
  75. showError(localJson.exceptionInfo);
  76. return "";
  77. }
  78. if(localJson.success){
  79. if(localJson.log){
  80. showMessage("提示", localJson.log);
  81. }
  82. Ext.Msg.alert("提示", "处理成功!", function(){
  83. grid.multiselected = new Array();
  84. Ext.getCmp('dealform').onQuery();
  85. });
  86. }
  87. }
  88. });
  89. } else {
  90. showError("没有需要处理的数据!");
  91. }
  92. }
  93. },
  94. initComponent : function(){
  95. this.callParent(arguments);
  96. }
  97. });