Root.vue 1.3 KB

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