RefreshSet.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.ma.jprocess.RefreshSet', {
  3. extend: 'Ext.app.Controller',
  4. requires: ['erp.util.BaseUtil'],
  5. views: ['ma.jprocess.RefreshSet'],
  6. init:function(){
  7. var me = this;
  8. this.BaseUtil = Ext.create('erp.util.BaseUtil');
  9. this.control({
  10. 'button[id=check]': {
  11. click: function(btn) {
  12. var grid = btn.ownerCt.ownerCt;
  13. grid.store.each(function(r){
  14. r.set('check', '');
  15. });
  16. btn.setDisabled(true);
  17. me.check(grid, 0, btn);
  18. }
  19. },
  20. 'button[id=close]': {
  21. click: function() {
  22. me.BaseUtil.getActiveTab().close();
  23. }
  24. },
  25. 'gridpanel[id=check-grid]': {
  26. afterrender: function(grid) {
  27. grid.check = function(idx) {
  28. var record = grid.store.getAt(idx);
  29. record.set('check', '');
  30. var btn = Ext.getCmp('check');
  31. btn.setDisabled(true);
  32. me.check(grid, record, btn);
  33. };
  34. }
  35. }
  36. });
  37. },
  38. setLoading : function(b) {
  39. var mask = this.mask;
  40. if (!mask) {
  41. this.mask = mask = new Ext.LoadMask(Ext.getBody(), {
  42. msg : "系统正在为您保存,请稍后...",
  43. msgCls : 'z-index:10000;'
  44. });
  45. }
  46. if (b)
  47. mask.show();
  48. else
  49. mask.hide();
  50. },
  51. check: function(grid, idx, btn) {
  52. var me = this, r;
  53. if(Ext.isNumber(idx)) {
  54. r = grid.store.getAt(idx);
  55. } else {
  56. r = idx;
  57. }
  58. if(!r) {
  59. btn.setDisabled(false);
  60. return;
  61. }
  62. if (r.index==3)me.setLoading(true);
  63. r.set('check', 'loading');
  64. var actions=r.get('action').split('#');
  65. Ext.Array.each(actions,function(action){
  66. Ext.Ajax.request({
  67. url: basePath + action,
  68. method: 'GET',
  69. timeout: 600000,
  70. callback: function(opt, s, re) {
  71. r.set('check', 'checked');
  72. r.set('detail', null);
  73. if (r.index==3) me.setLoading(false);
  74. grid.toggleRow(r);
  75. var rs = Ext.decode(re.responseText);
  76. if(rs.error) {
  77. r.set('check', 'error');
  78. }
  79. if(rs.result) {
  80. r.set('detail', rs.result);
  81. }
  82. if(rs.exceptionInfo) {//批量保存流程,异常信息处理
  83. r.set('check', 'error');
  84. r.set('detail', rs.exceptionInfo);
  85. }
  86. if(Ext.isNumber(idx) && idx!=2 && idx!=3 && idx!=4) {
  87. me.check(grid, ++idx, btn);
  88. } else {
  89. btn.setDisabled(false);
  90. }
  91. }
  92. });
  93. });
  94. }
  95. });