Panel4.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * ERP项目gridpanel通用样式1
  3. */
  4. Ext.define('erp.view.core.grid.Panel4',{
  5. extend: 'Ext.grid.Panel',
  6. requires: ['erp.view.core.plugin.CopyPasteMenu'],
  7. alias: 'widget.erpGridPanel4',
  8. region: 'south',
  9. layout : 'fit',
  10. id: 'grid',
  11. emptyText : $I18N.common.grid.emptyText,
  12. columnLines : true,
  13. autoScroll : true,
  14. store: [],
  15. columns: [],
  16. tbar: {xtype: 'erpToolbar3'},
  17. GridUtil: Ext.create('erp.util.GridUtil'),
  18. BaseUtil: Ext.create('erp.util.BaseUtil'),
  19. plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
  20. clicksToEdit: 1
  21. }), Ext.create('erp.view.core.plugin.CopyPasteMenu')],
  22. features : [Ext.create('Ext.grid.feature.Grouping',{
  23. startCollapsed: true,
  24. groupHeaderTpl: '{name} (Count:{rows.length})'
  25. }),{
  26. ftype : 'summary',
  27. showSummaryRow : false,//不显示默认合计行
  28. generateSummaryData: function(){
  29. var me = this,
  30. data = {},
  31. store = me.view.store,
  32. columns = me.view.headerCt.getColumnsForTpl(),
  33. i = 0,
  34. length = columns.length,
  35. //fieldData,
  36. //key,
  37. comp;
  38. //将feature的data打印在toolbar上面
  39. for (i = 0, length = columns.length; i < length; ++i) {
  40. comp = Ext.getCmp(columns[i].id);
  41. data[comp.id] = me.getSummary(store, comp.summaryType, comp.dataIndex, false);
  42. var tb = Ext.getCmp(columns[i].dataIndex + '_' + comp.summaryType);
  43. if(tb){
  44. tb.setText(tb.text.split(':')[0] + ':' + data[comp.id]);
  45. }
  46. }
  47. return data;
  48. }
  49. }],
  50. initComponent : function(){
  51. var urlCondition = this.BaseUtil.getUrlParam('gridCondition');
  52. urlCondition = urlCondition == null || urlCondition == "null" ? "" : urlCondition;
  53. gridCondition = (gridCondition == null || gridCondition == "null") ? "" : gridCondition;
  54. gridCondition = gridCondition + urlCondition;
  55. gridCondition = gridCondition.replace(/IS/g,"=");
  56. if(gridCondition.search(/!/)!=-1){
  57. gridCondition = gridCondition.substring(0,gridCondition.length-4);
  58. }
  59. gridCondition = gridCondition == "" ? (this.defaultCondition || "") : gridCondition;
  60. var gridParam = {caller:this.caller || caller , condition:this.condition || gridCondition, start: 1, end: 500};
  61. this.GridUtil.getGridColumnsAndStore(this, 'common/singleGridPanel.action', gridParam, "");
  62. this.callParent(arguments);
  63. },
  64. getGridStore: function(){
  65. var util = this.GridUtil,
  66. msg = util.checkGridDirty(this);
  67. if(msg == '') {
  68. showMessage('警告', '没有新增或修改数据.');
  69. return null;
  70. } else {
  71. return util.getGridStore(this);
  72. }
  73. }
  74. });