|
@@ -1,63 +1,53 @@
|
|
|
<template>
|
|
|
<div id="Home">
|
|
|
- <el-container>
|
|
|
- <el-header style="padding: 0"><v-head @refresh="toRefresh"></v-head></el-header>
|
|
|
+ <el-container class="main">
|
|
|
+ <el-header>
|
|
|
+ <v-head @refresh="toRefresh"></v-head>
|
|
|
+ </el-header>
|
|
|
<el-container>
|
|
|
- <el-aside width="200px"><v-sidebar></v-sidebar></el-aside>
|
|
|
- <el-main>
|
|
|
- <div class="content-box" :class="{ 'content-collapse': collapse }">
|
|
|
+ <el-aside width="200px">
|
|
|
+ <v-sidebar></v-sidebar>
|
|
|
+ </el-aside>
|
|
|
+ <el-container>
|
|
|
+ <el-main>
|
|
|
<v-tags></v-tags>
|
|
|
- <el-col :span="24" class="content">
|
|
|
- <transition name="move" mode="out-in">
|
|
|
- <el-row>
|
|
|
- <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
|
|
|
- <el-col :span="24" class="container" style="padding: 15px">
|
|
|
- <el-scrollbar style="height: 81vh">
|
|
|
- <router-view style="height: 70vh; padding: 20px" :key="viewKey"></router-view>
|
|
|
- </el-scrollbar>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </transition>
|
|
|
- <el-backtop target=".content"></el-backtop>
|
|
|
- </el-col>
|
|
|
- </div>
|
|
|
- </el-main>
|
|
|
+ <breadcrumb></breadcrumb>
|
|
|
+ <router-view :style="routerInfo" :key="viewKey"></router-view>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
</el-container>
|
|
|
</el-container>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import vHead from './Header.vue';
|
|
|
-import vSidebar from './Sidebar.vue';
|
|
|
-import vTags from './Tags.vue';
|
|
|
-import breadcrumb from './breadcrumb.vue';
|
|
|
-import bus from './bus';
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
export default {
|
|
|
name: 'Home',
|
|
|
props: {},
|
|
|
- components: { vHead, vSidebar, vTags, breadcrumb },
|
|
|
+ components: {
|
|
|
+ vHead: () => import('./Header.vue'),
|
|
|
+ vSidebar: () => import('./Sidebar.vue'),
|
|
|
+ vTags: () => import('./Tags.vue'),
|
|
|
+ breadcrumb: () => import('./breadcrumb.vue'),
|
|
|
+ },
|
|
|
data: function () {
|
|
|
return {
|
|
|
- collapse: false,
|
|
|
- tagsList: [],
|
|
|
viewKey: new Date().getTime(),
|
|
|
+ routerInfo: {
|
|
|
+ background: '#ffffff',
|
|
|
+ margin: '10px',
|
|
|
+ padding: '10px',
|
|
|
+ display: 'flex',
|
|
|
+ 'flex-direction': 'column',
|
|
|
+ height: '83vh',
|
|
|
+ 'overflow-y': 'auto',
|
|
|
+ border: '1px solid #ddd',
|
|
|
+ 'border-radius': '5px',
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
- created() {
|
|
|
- bus.$on('collapse-content', (msg) => {
|
|
|
- this.collapse = msg;
|
|
|
- });
|
|
|
- // 只有在标签页列表里的页面才使用keep-alive,即关闭标签之后就不保存到内存中了。
|
|
|
- bus.$on('tags', (msg) => {
|
|
|
- let arr = [];
|
|
|
- for (let i = 0, len = msg.length; i < len; i++) {
|
|
|
- msg[i].name && arr.push(msg[i].name);
|
|
|
- }
|
|
|
- this.tagsList = arr;
|
|
|
- });
|
|
|
- },
|
|
|
+ created() {},
|
|
|
methods: {
|
|
|
toRefresh() {
|
|
|
this.viewKey = new Date().getTime();
|
|
@@ -80,7 +70,14 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
-/deep/ .el-scrollbar__wrap {
|
|
|
- overflow-x: hidden !important;
|
|
|
+.main {
|
|
|
+ height: 100vh;
|
|
|
+ .el-header {
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+ .el-main {
|
|
|
+ padding: 0;
|
|
|
+ background-color: #f0f0f0;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|