Main.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div id='page-main' v-bind:class='{"page-sidebar-closed": sidebarClosed}'>
  3. <page-header></page-header>
  4. <div id='page-container' class='page-container'>
  5. <page-sidebar></page-sidebar>
  6. <div id='page-content-wrapper' class='page-content-wrapper'>
  7. <div class='page-bar'>
  8. <el-breadcrumb separator='/'>
  9. <el-breadcrumb-item :to='{ path: "/" }'>首页</el-breadcrumb-item>
  10. <el-breadcrumb-item v-for='(b, index) in breadcrumb' :key='index'>{{b.label}}</el-breadcrumb-item>
  11. </el-breadcrumb>
  12. </div>
  13. <!-- <router-view class='page-content'/> -->
  14. <el-scrollbar tag="div" wrapClass="content-scrollbar">
  15. <keep-alive>
  16. <router-view v-if='$route.meta.keepAlive' class='page-content'></router-view>
  17. </keep-alive>
  18. <router-view v-if='!$route.meta.keepAlive' class='page-content'></router-view>
  19. </el-scrollbar>
  20. </div>
  21. </div>
  22. <!-- <div class='page-footer'>
  23. © 2016 SAGACLOUD. All rights reserved 京ICP备16059843号-1
  24. </div>-->
  25. </div>
  26. </template>
  27. <script>
  28. import { mapGetters, mapMutations } from 'vuex'
  29. import PageHeader from './PageHeader'
  30. import PageSidebar from './PageSidebar'
  31. export default {
  32. name: 'Main',
  33. components: {
  34. 'page-header': PageHeader,
  35. 'page-sidebar': PageSidebar
  36. },
  37. props: [],
  38. data() {
  39. return {}
  40. },
  41. computed: {
  42. ...mapGetters('layout', ['sidebarClosed', 'breadcrumb'])
  43. },
  44. methods: {
  45. ...mapMutations('layout', ['setSidebarClosed']),
  46. windwoResize() {
  47. // 窗口大小发生变化时
  48. let clientWidth = `${document.documentElement.clientWidth}`
  49. let clientHeight = `${document.documentElement.clientHeight}`
  50. //this.setPageContentHeight(height)
  51. if (clientWidth > 1000) {
  52. this.setSidebarClosed(false)
  53. } else if (clientWidth > 800) {
  54. this.setSidebarClosed(true)
  55. } else {
  56. this.setSidebarClosed(false)
  57. }
  58. }
  59. },
  60. created() {
  61. console.log('--------------------- Main created')
  62. console.log(this.$store.getters.flag)
  63. },
  64. mounted() {
  65. this.windwoResize()
  66. window.onresize = this.windwoResize
  67. }
  68. }
  69. </script>