Main.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*
  2. * @Description: 修改样式
  3. * @Author: hy
  4. * @Date: 2019-08-12 17:59:33
  5. * @LastEditTime: 2019-08-13 08:59:31
  6. */
  7. Ext.define('uas.view.main.Main', {
  8. extend: 'Ext.container.Viewport',
  9. controller: 'main',
  10. viewModel: 'main',
  11. layout: 'border',
  12. requires: [
  13. 'Ext.layout.container.Border'
  14. ],
  15. items: [{
  16. region: 'north',
  17. xtype: 'toolbar',
  18. dock: 'top',
  19. height:48,
  20. items:[{
  21. xtype:'displayfield',
  22. value:'<h2 style="margin-top: 7px;">UAS2.0组件库</h2>',
  23. },'->',{
  24. xtype:'combo',
  25. width: 220,
  26. labelWidth:80,
  27. editable: false,
  28. fieldLabel:'当前主题',
  29. store: Ext.create('Ext.data.Store', {
  30. fields: ['display', 'value'],
  31. data : [
  32. {"display":"时尚蓝", "value": 'triton'},
  33. {"display":"时尚灰", "value": 'crisp'},
  34. {"display":"商务蓝", "value": 'neptune'},
  35. {"display":"深邃黑", "value": 'aria'},
  36. {"display":"经典灰", "value": 'gray'},
  37. {"display":"经典蓝", "value": 'classic'}
  38. ]
  39. }),
  40. cls:'x-desktop-combo',
  41. triggerAction: 'all',
  42. forceSelection: true,
  43. queryMode: 'local',
  44. displayField: 'display',
  45. valueField: 'value',
  46. listeners: {
  47. select: function(combo, records, obj){
  48. setCookie('theme',combo.value,0);
  49. window.location.reload();
  50. },
  51. beforerender:function(c){
  52. c.setValue(getCookie('theme'))
  53. }
  54. }
  55. }]
  56. },{
  57. region: 'west',
  58. collapsible: true,
  59. title: '目录',
  60. width: 260,
  61. split:true,
  62. layout: 'border',
  63. items: [{
  64. region: 'center',
  65. xtype: 'navigation-tree',
  66. tbar:{
  67. layout:'fit',
  68. items:[{
  69. xtype: 'searchfield',
  70. name: 'query',
  71. emptyText: '请输入关键词',
  72. store: 'Navigation',
  73. onClearClick : function(){
  74. var me = this;
  75. me.setValue('');
  76. me.store.clearFilter();
  77. me.getTrigger('clear').hide();
  78. me.updateLayout();
  79. },
  80. onSearchClick : function(){
  81. var me = this,tree = me.ownerCt.ownerCt,
  82. value = me.getValue();
  83. if (value.length > 0) {
  84. me.store.clearFilter();
  85. me.store.setRemoteFilter(false);
  86. me.store.filter([{
  87. filterFn: function(item) {
  88. item.expand();
  89. if(item.id == 'root'){
  90. return true;
  91. }else if(!item.isLeaf()){
  92. let hasChild = item.findChildBy(function(item){
  93. return item.get('text').indexOf(value)>-1
  94. },item,5);
  95. if(hasChild){
  96. return true
  97. }else{
  98. return false
  99. }
  100. }else if(item.get('text').indexOf(value)>-1){
  101. return true;
  102. }else{
  103. return false;
  104. }
  105. }
  106. }]);
  107. me.getTrigger('clear').show();
  108. me.updateLayout();
  109. }else{
  110. me.getTrigger('clear').hide();
  111. me.store.clearFilter();
  112. }
  113. }
  114. },'->']
  115. }
  116. }]
  117. }, {
  118. split:true,
  119. region: 'center',
  120. xtype: 'contentPanel',
  121. reference: 'contentPanel',
  122. ariaRole: 'main'
  123. }]
  124. });