Index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <template>
  2. <div class="container">
  3. <el-container>
  4. <el-aside :class="[{'shortElaside':isCollapse},{'lognElaside':!isCollapse}]">
  5. <Navside :isCollapse="isCollapse" @TabsAdd="handleTabsAdd"></Navside>
  6. </el-aside>
  7. <el-container>
  8. <el-header>
  9. <Headside @lefthide="left_hide"></Headside>
  10. </el-header>
  11. <!--<Tabs :handleTabsList="handleTabsList" :editableTabsValue="editableTabsValue"></Tabs>-->
  12. <el-main>
  13. <keep-alive>
  14. <router-view></router-view>
  15. </keep-alive>
  16. </el-main>
  17. <el-footer v-if="false">Footer</el-footer>
  18. </el-container>
  19. </el-container>
  20. </div>
  21. </template>
  22. <script>
  23. // @ is an alias to /src
  24. import Headside from '@/components/Headside.vue'
  25. import Navside from '@/components/Navside.vue'
  26. // import Tabs from '@/components/Tabs.vue'
  27. import Navs from '../api/Navs';
  28. export default {
  29. name: 'Home',
  30. data() {
  31. return {
  32. isCollapse: true,
  33. aSideState: false,
  34. thisClick: 0,
  35. tabwildState: 1,
  36. navs: Navs,
  37. handleTabsList: [{
  38. title: '系统首页',
  39. name: '1',
  40. clmurl: '/',
  41. }],
  42. editableTabsValue: '1'
  43. }
  44. },
  45. methods: {
  46. left_hide() {
  47. this.aSideState = !this.aSideState;
  48. this.isCollapse = !this.isCollapse;
  49. },
  50. handleTabsAdd: function (data) {
  51. let that = this;
  52. let str = ""; //存放第一层遍历的值
  53. let strArray = []; //存放第二层遍历的值
  54. let item = {};
  55. console.log(data);
  56. if (data == 1) {
  57. // 首页直接处理了
  58. item = {
  59. title: '系统首页',
  60. name: '系统首页',
  61. clmurl: '/',
  62. };
  63. } else {
  64. for (var i = 0; i < Navs.length; i++) {
  65. str += Navs[i].id; //获取第一层的值
  66. for (var j = 0; j < Navs[i].childs.length; j++) {
  67. if (Navs[i].childs[j].clmid == data) {
  68. strArray.push(Navs[i].childs[j])
  69. }
  70. }
  71. }
  72. item = {
  73. title: strArray[0].clmname,
  74. name: strArray[0].clmname,
  75. clmurl: strArray[0].clmurl,
  76. };
  77. }
  78. // 去掉重复的
  79. that.handleTabsList.map(function (e, i) {
  80. if (e.title == item.title) {
  81. that.handleTabsList.splice(i, 1)
  82. }
  83. });
  84. that.handleTabsList.push(item);
  85. that.editableTabsValue = item.title;
  86. },
  87. },
  88. components: {
  89. Headside, Navside
  90. }
  91. }
  92. </script>
  93. <!-- Add "scoped" attribute to limit CSS to this component only -->
  94. <style>
  95. .el-header {
  96. padding: 0 !important;
  97. }
  98. .shortElaside {
  99. width: 60px!important;
  100. overflow: hidden;
  101. height: 100%;
  102. float: left;
  103. }
  104. .lognElaside {
  105. width: 320px!important;
  106. overflow: hidden;
  107. height: 100%;
  108. float: left;
  109. }
  110. /deep/ .nav {
  111. width: 60px;
  112. }
  113. </style>