App.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div
  3. id="app"
  4. :class="'mainTheme-' + this.themeName"
  5. style="width: 100%; height: 100%"
  6. v-loading="$store.state.loading"
  7. element-loading-text="拼命加载中"
  8. element-loading-spinner="el-icon-loading"
  9. >
  10. <router-view name="rally"></router-view>
  11. <el-container style="height: 100%">
  12. <el-header style="height: 60px; padding: 0 0px">
  13. <headers v-if="this.login"></headers>
  14. </el-header>
  15. <el-container class="fot">
  16. <el-aside class="son" :style="this.asidez">
  17. <asiders></asiders>
  18. </el-aside>
  19. <el-main class="sis" :style="this.mainy">
  20. <mains></mains>
  21. </el-main>
  22. </el-container>
  23. </el-container>
  24. </div>
  25. </template>
  26. <script>
  27. import { mapGetters, mapMutations } from "vuex";
  28. import asiders from "@layout/aside";
  29. import headers from "@layout/header";
  30. import mains from "@layout/main";
  31. export default {
  32. computed: {
  33. ...mapGetters(["asidez", "mainy", "themeName","login"]),
  34. },
  35. components: {
  36. asiders,
  37. headers,
  38. mains,
  39. },
  40. methods: {},
  41. };
  42. </script>
  43. <style lang="scss">
  44. @import "@assets/css/base.scss";
  45. </style>
  46. <style lang="scss" scoped>
  47. @import "@assets/css/theme.scss";
  48. .fot {
  49. display: flex;
  50. flex-direction: row;
  51. flex-wrap: nowrap;
  52. width: 100%;
  53. height: 100%;
  54. }
  55. .son {
  56. display: flex;
  57. width: 10%;
  58. height: 100%;
  59. }
  60. .sis {
  61. display: flex;
  62. width: 90%;
  63. height: 100%;
  64. }
  65. </style>