TreePanel.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Ext.define('erp.view.common.main.TreePanel',{
  2. extend: 'Ext.tree.Panel',
  3. alias: 'widget.erpTreePanel',
  4. id: 'tree-panel',
  5. /*region: 'west',*/
  6. /*width : '20%',*/
  7. margins : '0 0 -1 1',
  8. border : false,
  9. enableDD : false,
  10. split: true,
  11. title: $I18N.common.main.navigation,
  12. toggleCollapse: function() {
  13. if (this.collapsed) {
  14. this.expand(this.animCollapse);
  15. } else {
  16. this.title = $I18N.common.main.navigation;
  17. this.collapse(this.collapseDirection, this.animCollapse);
  18. }
  19. return this;
  20. },
  21. singleExpand: true,
  22. rootVisible: false,
  23. containerScroll : true,
  24. collapsible : true,
  25. autoScroll: false,
  26. useArrows: true,
  27. bodyStyle:'background-color:#f1f1f1;',
  28. store:'TreeStore',
  29. initComponent : function(){
  30. this.getTreeRootNode(0);//页面加载时,只将parentId = 0的节点加载进来
  31. this.callParent(arguments);
  32. },
  33. getTreeRootNode: function(parentId){
  34. var condition = this.baseCondition;
  35. Ext.Ajax.request({//拿到tree数据
  36. url : basePath + 'common/lazyTree.action',
  37. params: {
  38. parentId: parentId,
  39. condition: condition
  40. },
  41. callback : function(options,success,response){
  42. var res = new Ext.decode(response.responseText);
  43. if(res.tree){
  44. var tree = res.tree;
  45. Ext.getCmp('tree-panel').store.setRootNode({
  46. text: 'root',
  47. id: 'root',
  48. expanded: true,
  49. children: tree
  50. });
  51. } else if(res.exceptionInfo){
  52. showError(res.exceptionInfo);
  53. }
  54. }
  55. });
  56. },
  57. tbar:{
  58. xtype: 'erpTreeToolbar'
  59. },
  60. openCloseFun: function(){
  61. var o = Ext.getCmp("open");
  62. var c = Ext.getCmp("close");
  63. var tree = Ext.getCmp('tree-panel');
  64. if(o.hidden==false&&c.hidden==true){
  65. tree.expandAll();
  66. o.hide();
  67. c.show();
  68. }else{
  69. tree.collapseAll();
  70. o.show();
  71. c.hide();
  72. }
  73. },
  74. listeners: {//滚动条有时候没反应,添加此监听器
  75. scrollershow: function(scroller) {
  76. if (scroller && scroller.scrollEl) {
  77. scroller.clearManagedListeners();
  78. scroller.mon(scroller.scrollEl, 'scroll', scroller.onElScroll, scroller);
  79. }
  80. }
  81. }
  82. });