GridPanel2.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. Ext.define('erp.view.data.GridPanel2',{
  2. extend: 'Ext.grid.Panel',
  3. alias: 'widget.erpGridPanel2',
  4. // id: 'grid',
  5. emptyText : '无数据',
  6. columnLines : true,
  7. autoScroll : true,
  8. FormUtil: Ext.create('erp.util.FormUtil'),
  9. GridUtil: Ext.create('erp.util.GridUtil'),
  10. plugins: [Ext.create('Ext.ux.grid.GridHeaderFilters')],
  11. BaseUtil: Ext.create('erp.util.BaseUtil'),
  12. store: Ext.create('Ext.data.Store', {
  13. fields: [{
  14. name:'dd_tablename',
  15. type:'string'
  16. }]
  17. }),
  18. iconCls: 'icon-grid',
  19. frame: true,
  20. bodyStyle:'background-color:#f1f1f1;',
  21. features: [Ext.create('Ext.grid.feature.Grouping',{
  22. groupHeaderTpl: '{name} ({rows.length} 封)'
  23. })],
  24. selModel: Ext.create('Ext.selection.CheckboxModel',{
  25. }),
  26. // dockedItems: [{
  27. // id : 'paging',
  28. // xtype: 'erpMailPaging',
  29. // dock: 'bottom',
  30. // displayInfo: true
  31. // }],
  32. columns: [{
  33. text: '表名',
  34. width: 160,
  35. // flex: 1,
  36. dataIndex: 'dd_tablename'
  37. }],
  38. tbar: [{
  39. iconCls: 'x-button-icon-add',
  40. text: '批量创建表',
  41. handler: function(btn){
  42. var selectItem = Ext.getCmp('grid2').selModel.selected.items;
  43. if (selectItem.length == 0) {
  44. showError("请先选中要删除的流程");return;
  45. } else {
  46. var tablenames = new Array();
  47. Ext.each(selectItem, function(item, index){
  48. tablenames[index] = item.data.dd_tablename;
  49. });
  50. Ext.Ajax.request({//拿到grid的columns
  51. url : basePath + 'common/createTable.action',
  52. params: {
  53. tablenames : tablenames
  54. },
  55. method : 'post',
  56. async: false,
  57. callback : function(options, success, response){
  58. parent.Ext.getCmp("content-panel").getActiveTab().setLoading(false);
  59. var res = new Ext.decode(response.responseText);
  60. if(res.exceptionInfo){
  61. showError(res.exceptionInfo);return;
  62. }
  63. if(res.success){
  64. alert(' 新建表成功!');
  65. }
  66. }
  67. });
  68. }
  69. }
  70. },{
  71. iconCls: 'x-button-icon-add',
  72. text: '刷新',
  73. id: 'refresh2',
  74. handler: function(btn){
  75. var me = btn.ownerCt.ownerCt;
  76. var url = "common/dataTable.action";
  77. me.FormUtil.getActiveTab().setLoading(true);
  78. Ext.Ajax.request({//拿到form的items
  79. url : basePath + url,
  80. params: {
  81. em_uu:em_uu
  82. },
  83. method : 'post',
  84. callback : function(options,success,response){
  85. me.FormUtil.getActiveTab().setLoading(false);
  86. var res = new Ext.decode(response.responseText);
  87. if(res.exceptionInfo != null){
  88. showError(res.exceptionInfo);return;
  89. }
  90. console.log(res);
  91. if(res.success){
  92. var grid = Ext.getCmp('grid2');
  93. grid.getStore().removeAll();
  94. if(res.list.length>0){//数据字典中缺省的表
  95. Ext.each(res.list,function(dc, index){
  96. grid.getStore().insert(index, {'dd_tablename': dc.dd_tablename});
  97. });
  98. console.log(grid.title);
  99. console.log(grid.title.split(' (')[0]);
  100. grid.setTitle(grid.title.split(' (')[0] + ' (' + res.list.length + ')');
  101. }
  102. }
  103. }
  104. });
  105. }
  106. }],
  107. initComponent : function(){
  108. this.callParent(arguments);
  109. },
  110. listeners: {//滚动条有时候没反应,添加此监听器
  111. scrollershow: function(scroller) {
  112. if (scroller && scroller.scrollEl) {
  113. scroller.clearManagedListeners();
  114. scroller.mon(scroller.scrollEl, 'scroll', scroller.onElScroll, scroller);
  115. }
  116. }
  117. }
  118. });