home.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <el-container class="main">
  3. <el-header :style="{ padding: 0 }"> <component :is="cHeader"></component></el-header>
  4. <el-container>
  5. <el-aside width="200px" :style="{ 'background-color': '#242f42' }"><component :is="cAside"></component></el-aside>
  6. <el-main>
  7. <div class="content-box" :class="{ 'content-collapse': collapse }">
  8. <el-col :span="24" class="content">
  9. <transition name="move" mode="out-in">
  10. <el-row>
  11. <component :is="cBreadcrumb" :breadcrumbTitle="route.meta.title"></component>
  12. <el-col :span="24" class="container" :style="{ padding: '10px 0 0 0' }"><router-view :style="testInfo"></router-view></el-col>
  13. </el-row>
  14. </transition>
  15. <el-backtop target=".content"></el-backtop>
  16. </el-col>
  17. </div>
  18. </el-main>
  19. </el-container>
  20. </el-container>
  21. </template>
  22. <script setup lang="ts">
  23. // 组件
  24. import cHeader from './parts/Header.vue';
  25. import cAside from './parts/Sidebar.vue';
  26. import cBreadcrumb from './parts/breadcrumb.vue';
  27. import { useRoute } from 'vue-router';
  28. import type { Ref } from 'vue';
  29. import { ref } from 'vue';
  30. // 路由
  31. const route = useRoute();
  32. // const breadcrumbTitle: Ref<any> = ref();
  33. let collapse: Ref<any> = ref(false);
  34. const testInfo: Ref<any> = ref({
  35. height: '85vh',
  36. background: '#ffffff',
  37. 'overflow-x': 'hidden',
  38. 'overflow-y': 'auto',
  39. border: '1px solid #f0f0f0',
  40. padding: '10px'
  41. });
  42. </script>
  43. <style scoped lang="scss">
  44. .main {
  45. background-color: #f0f0f0;
  46. .el-header {
  47. border-bottom: 1px solid;
  48. }
  49. .el-aside {
  50. height: 93vh;
  51. overflow-x: auto;
  52. overflow-y: auto;
  53. }
  54. .el-main {
  55. padding: 10px;
  56. }
  57. }
  58. </style>