ClassInfo.js 5.0 KB

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