Toolbar.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * 此toolbar用于明细表grid
  3. */
  4. Ext.define('erp.view.core.toolbar.Toolbar', {
  5. extend : 'Ext.Toolbar',
  6. alias : 'widget.erpToolbar',
  7. dock : 'bottom',
  8. requires : [ 'erp.view.core.button.AddDetail', 'erp.view.core.button.DeleteDetail', 'erp.view.core.button.Copy',
  9. 'erp.view.core.button.Paste', 'erp.view.core.button.Up', 'erp.view.core.button.Down',
  10. 'erp.view.core.button.UpExcel', 'erp.view.core.button.ExportDetail' ],
  11. enableAdd : true,
  12. enableDelete : true,
  13. enableCopy : true,
  14. enablePaste : true,
  15. enableUp : true,
  16. enableDown : true,
  17. enableExport : true,
  18. allowExtraButtons: true,
  19. initComponent : function() {
  20. var me = this;
  21. Ext.apply(this, {
  22. items : [ {
  23. xtype : 'tbtext',
  24. name : 'row'
  25. }, '-', {
  26. xtype : 'erpAddDetailButton',
  27. hidden : !me.enableAdd
  28. }, {
  29. xtype : 'erpDeleteDetailButton',
  30. hidden : !me.enableDelete
  31. }, {
  32. xtype : 'copydetail',
  33. hidden : !me.enableCopy
  34. }, {
  35. xtype : 'pastedetail',
  36. hidden : !me.enablePaste
  37. }, {
  38. xtype : 'updetail',
  39. hidden : !me.enableUp
  40. }, {
  41. xtype : 'downdetail',
  42. hidden : !me.enableDown
  43. }, {
  44. xtype : 'erpExportDetailButton',
  45. hidden : !me.enableExport
  46. }, '-' ]
  47. });
  48. if (me.allowExtraButtons && window.gridCondition && gridCondition == "") {// 如果grid无数据,即录入界面,从数据库取配置的button
  49. me.loadExtraButtons();
  50. }
  51. this.callParent(arguments);
  52. },
  53. loadExtraButtons: function() {
  54. var me = this;
  55. Ext.Ajax.request({
  56. url : basePath + "common/gridButton.action",
  57. params : {
  58. caller : caller
  59. },
  60. method : 'post',
  61. callback : function(options, success, response) {
  62. var localJson = new Ext.decode(response.responseText);
  63. if (localJson.exceptionInfo) {
  64. showError(localJson.exceptionInfo);
  65. }
  66. if (localJson.buttons) {
  67. var buttons = Ext.decode(localJson.buttons);
  68. var index = 6;
  69. Ext.each(buttons, function(btn) {
  70. me.insert(++index, btn);
  71. });
  72. }
  73. }
  74. });
  75. }
  76. });