MainFrame.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div class="mainFrame">
  3. <el-container>
  4. <el-header>
  5. <navbar @collapseControl="Collapse"></navbar>
  6. </el-header>
  7. <el-container>
  8. <el-aside :width="isCollapse ? '64px' : '200px'">
  9. <sidebar :isCollapse="isCollapse"></sidebar>
  10. </el-aside>
  11. <el-container>
  12. <el-main>
  13. <router-view/>
  14. </el-main>
  15. </el-container>
  16. </el-container>
  17. </el-container>
  18. </div>
  19. </template>
  20. <script>
  21. import navbar from '@/layout/Navbar'
  22. import sidebar from '@/layout/Sidebar'
  23. export default {
  24. components: { navbar, sidebar },
  25. data() {
  26. return {
  27. isCollapse: '',
  28. }
  29. },
  30. methods: {
  31. Collapse(val) {
  32. this.isCollapse = val;
  33. }
  34. }
  35. }
  36. </script>
  37. <style lang="less" scoped>
  38. .mainFrame {
  39. width: 100%;
  40. height: 100%;
  41. }
  42. .el-container {
  43. height: 100%;
  44. overflow: hidden;
  45. }
  46. .el-header {
  47. height: 60px !important;
  48. background-image: linear-gradient(45deg, #005bea, #00c6fb);
  49. padding: 0;
  50. }
  51. .el-aside {
  52. left: 0px;
  53. top: 64px;
  54. color: rgba(16, 16, 16, 1);
  55. line-height: 20px;
  56. background-color: #1461cc;
  57. color: rgba(16, 16, 16, 1);
  58. font-size: 14px;
  59. text-align: center;
  60. overflow-x: hidden;
  61. transition: width 0.25s;
  62. -webkit-transition: width 0.25s;
  63. -moz-transition: width 0.25s;
  64. -o-transition: width 0.25s;
  65. }
  66. .el-main {
  67. background-color: #E9EEF3;
  68. color: #333;
  69. height: 100%;
  70. width: 100%;
  71. }
  72. </style>