Root.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div class="main">
  3. <Header />
  4. <UserFeek />
  5. <!-- <Footer></Footer> -->
  6. <el-scrollbar ref="pagescrollbar" class="el-scrollbar">
  7. <router-view />
  8. </el-scrollbar>
  9. <!-- <Footer></Footer> -->
  10. </div>
  11. </template>
  12. <script>
  13. import { defineAsyncComponent, toRaw } from "vue";
  14. export default {
  15. name: "Home",
  16. data() {
  17. return {
  18. todayCall: "857,605",
  19. totalCall: [],
  20. serveNum: 456,
  21. userNum: 17,
  22. appNum: 43,
  23. currentTab: "data-governance", // 初始选中项
  24. tabs: [
  25. { key: "data-governance", icon: "", title: "数据治理" },
  26. { key: "business-app", icon: "", title: "业务应用" },
  27. { key: "comprehensive-decision", icon: "", title: "综合决策" },
  28. ],
  29. };
  30. },
  31. components: {
  32. Header: defineAsyncComponent(() => import("@/components/AppVue/Header.vue")),
  33. Footer: defineAsyncComponent(() => import("@/components/AppVue/Footer.vue")),
  34. UserFeek: defineAsyncComponent(() => import("@/components/AppVue/UserFeek.vue")),
  35. },
  36. watch: {
  37. $route(to, from) {
  38. this.$nextTick(() => {
  39. this.$refs.pagescrollbar.setScrollTop(0);
  40. });
  41. },
  42. },
  43. methods: {},
  44. };
  45. </script>
  46. <style lang="less" scoped>
  47. .main {
  48. width: 100%;
  49. height: 100%;
  50. margin: 0 auto;
  51. //overflow: hidden;
  52. .el-scrollbar {
  53. position: relative;
  54. width: 100%;
  55. height: 100%;
  56. // height: calc(100% - 120px);
  57. box-sizing: border-box;
  58. overflow: hidden;
  59. overflow: auto;
  60. // padding-bottom: 120px
  61. }
  62. }
  63. </style>