GridPage.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.common.GridPage', {
  3. extend: 'Ext.app.Controller',
  4. GridUtil: Ext.create('erp.util.GridUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'common.GridPage','core.grid.Panel4','core.toolbar.Toolbar3','core.trigger.MultiDbfindTrigger2',
  8. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload',
  9. 'core.button.ResAudit','core.button.Audit','core.button.Close','core.button.Delete','core.button.Close','core.trigger.MultiDbfindTrigger',
  10. 'core.button.Update','core.button.DeleteDetail','core.button.ResSubmit','core.button.Scan','core.trigger.AddDbfindTrigger',
  11. 'core.trigger.DbfindTrigger', 'core.grid.YnColumn','core.form.MonthDateField','core.button.BankInit'
  12. ],
  13. init:function(){
  14. this.control({
  15. 'erpGridPanel4': {
  16. reconfigure: function(grid) {
  17. if(grid.headerCt) {
  18. var cols = grid.headerCt.getGridColumns();
  19. Ext.each(cols, function(c){
  20. var v = getUrlParam(c.dataIndex);
  21. if (v) {
  22. c.defaultValue = v;
  23. }
  24. });
  25. }
  26. },
  27. itemclick: function(selModel, record) {
  28. this.onGridItemClick(selModel, record);
  29. }
  30. },
  31. 'erpSaveButton': {
  32. click: function(btn){
  33. var grid = Ext.getCmp('grid');
  34. var data = grid.getGridStore();
  35. if(data != null) {
  36. var bool = btn.fireEvent('beforesave', btn);
  37. if (bool === undefined || bool === true) {
  38. grid.setLoading(true);
  39. Ext.Ajax.request({
  40. url : basePath + (btn.url || grid.saveUrl),
  41. params: {
  42. gridStore: "[" + data.toString() + "]"
  43. },
  44. method : 'post',
  45. callback : function(options,success,response){
  46. grid.setLoading(false);
  47. btn.fireEvent('aftersave', btn);
  48. var res = new Ext.decode(response.responseText);
  49. if(res.exceptionInfo){
  50. showError(res.exceptionInfo);return;
  51. }
  52. if(res.success){
  53. saveSuccess(function(){
  54. window.location.reload();
  55. });
  56. };
  57. }
  58. });
  59. }
  60. }
  61. }
  62. },
  63. 'erpDeleteButton': {
  64. click: function(btn){
  65. this.GridUtil.deleteDetailForEditGrid(btn);
  66. }
  67. },
  68. 'erpCloseButton': {
  69. click: function(btn){
  70. this.FormUtil.beforeClose(this);
  71. }
  72. },
  73. 'erpBankInitButton': {
  74. click: function(btn){
  75. var grid = Ext.getCmp('grid');
  76. var data = grid.getGridStore();
  77. grid.setLoading(true);
  78. Ext.Ajax.request({
  79. url : basePath + btn.url,
  80. params: {
  81. gridStore: "[" + data.toString() + "]"
  82. },
  83. method : 'post',
  84. callback : function(options,success,response){
  85. grid.setLoading(false);
  86. var res = new Ext.decode(response.responseText);
  87. if(res.exceptionInfo){
  88. showError(res.exceptionInfo);return;
  89. }
  90. if(res.success){
  91. saveSuccess(function(){
  92. window.location.href = window.location.href;
  93. });
  94. };
  95. }
  96. });
  97. }
  98. }
  99. });
  100. },
  101. onGridItemClick: function(selModel, record){//grid行选择
  102. this.GridUtil.onGridItemClick(selModel, record);
  103. },
  104. getGrid: function(btn){
  105. return btn.ownerCt.ownerCt;
  106. }
  107. });