ClassInfo.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /**
  2. * 班级组织信息
  3. */
  4. Ext.define('school.view.basic.class.ClassInfo', {
  5. extend: 'Ext.panel.Panel',
  6. xtype: 'basic-class-classinfo',
  7. requires: [
  8. 'Ext.tree.Panel'
  9. ],
  10. controller: 'basic-class-classinfo',
  11. viewModel: 'basic-class-classinfo',
  12. layout: 'border',
  13. // bodyPadding: '8 12 8 12',
  14. initComponent: function() {
  15. let me = this;
  16. Ext.apply(me, {
  17. items: [{
  18. region: 'west',
  19. split: true,
  20. border: false,
  21. hideHeaders: true,
  22. singleExpand: true,
  23. width: 250,
  24. xtype: 'treepanel',
  25. reference: 'treelist',
  26. bind: {
  27. store: '{store_grade}',
  28. width: '{treeWidth}'
  29. },
  30. // viewConfig: {
  31. // plugins: {
  32. // treeviewdragdrop: {
  33. // containerScroll: true
  34. // }
  35. // }
  36. // },
  37. columns: [{
  38. xtype: 'treecolumn',
  39. text: 'Name',
  40. dataIndex: 'text',
  41. flex: 1,
  42. sortable: true,
  43. renderer: function(v, metaData, record) {
  44. metaData.glyph = record.glyph;
  45. return v;
  46. }
  47. }, {
  48. xtype: 'actioncolumn',
  49. width: 30,
  50. items: [{
  51. iconCls: 'action-icon x-hidden x-ss ss-add',
  52. tooltip: '新增',
  53. handler: 'onTreeAddClick'
  54. }]
  55. }, {
  56. xtype: 'actioncolumn',
  57. width: 30,
  58. items: [{
  59. iconCls: 'action-icon x-hidden x-fa fa-pencil',
  60. tooltip: '编辑',
  61. handler: 'onTreeEditClick'
  62. }]
  63. }, {
  64. xtype: 'actioncolumn',
  65. width: 30,
  66. items: [{
  67. iconCls: 'action-icon x-hidden x-ss ss-delete',
  68. tooltip: '删除',
  69. handler: 'onTreeDeleteClick'
  70. }]
  71. }],
  72. bbar: ['->', {
  73. xtype: 'importbutton',
  74. width: '100%',
  75. text: '导入',
  76. caller: 'GradeAndCLass',
  77. pathKey: 'grade',
  78. onSuccess: function() {
  79. let viewModel = me.getViewModel();
  80. viewModel.get('store_grade').load();
  81. }
  82. }, '->'],
  83. listeners: {
  84. itemclick: 'onItemClick',
  85. itemmouseenter: 'onItemMouseEnter',
  86. itemmouseleave: 'onItemMouseLeave',
  87. beforedrop: 'onItemBeforeDrop',
  88. drop: 'onItemDrop',
  89. }
  90. }, {
  91. region: 'center',
  92. bodyPadding: 10,
  93. layout: 'fit',
  94. items: [{
  95. xtype: 'panel',
  96. layout: 'fit',
  97. scrollable: true,
  98. tbar: [{
  99. padding: '7 0 7 0',
  100. ui: 'header',
  101. bind: {
  102. iconCls:'x-sa {toggleIconCls}'
  103. },
  104. handler: 'onToggleTree'
  105. }, {
  106. xtype: 'tbtext',
  107. maxWidth: 200,
  108. style: {
  109. 'overflow': 'hidden',
  110. 'text-overflow': 'ellipsis'
  111. },
  112. bind: {
  113. text: '{currentNodeData.pathText || currentNodeData.text}'
  114. }
  115. }, {
  116. xtype: 'button',
  117. text: '上一级',
  118. handler: 'onTreeUp'
  119. }],
  120. items: [{
  121. xtype: 'listcard',
  122. reference: 'listcard'
  123. }, {
  124. xtype: 'classdetail',
  125. reference: 'classdetail',
  126. hidden: true
  127. }]
  128. }]
  129. }],
  130. });
  131. me.callParent(arguments);
  132. },
  133. listeners: {
  134. afterrender: 'onAfterRender'
  135. }
  136. });