| 对比新文件 | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <el-container class="app-layout"> | 
|---|
|  |  |  | <el-aside :class="{collapse:menuData.collapse}"> | 
|---|
|  |  |  | <Menu/> | 
|---|
|  |  |  | </el-aside> | 
|---|
|  |  |  | <el-main> | 
|---|
|  |  |  | <header> | 
|---|
|  |  |  | <AppHeader/> | 
|---|
|  |  |  | </header> | 
|---|
|  |  |  | <main> | 
|---|
|  |  |  | <transition name="fade"> | 
|---|
|  |  |  | <router-view></router-view> | 
|---|
|  |  |  | </transition> | 
|---|
|  |  |  | </main> | 
|---|
|  |  |  | </el-main> | 
|---|
|  |  |  | </el-container> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { mapState } from 'vuex' | 
|---|
|  |  |  | import Header from '@/components/common/Header' | 
|---|
|  |  |  | import Menu from '@/components/common/Menu' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'DefaultLayout', | 
|---|
|  |  |  | components: { AppHeader: Header, Menu }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | ...mapState(['menuData']) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style scoped lang="scss"> | 
|---|
|  |  |  | @import "@/assets/style/variables.scss"; | 
|---|
|  |  |  | .el-container { | 
|---|
|  |  |  | background: #F7F8F9; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | overflow: hidden; | 
|---|
|  |  |  | // 宸﹁竟鑿滃崟 | 
|---|
|  |  |  | .el-aside { | 
|---|
|  |  |  | width: $menu-width !important; | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | overflow-y: auto; | 
|---|
|  |  |  | background: $primary-color; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | transition: width ease .3s; | 
|---|
|  |  |  | &.collapse { | 
|---|
|  |  |  | width: 64px !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 鍙宠竟鍐呭 | 
|---|
|  |  |  | .el-main { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | padding: 0; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | overflow: hidden; | 
|---|
|  |  |  | overflow-y: hidden !important; | 
|---|
|  |  |  | & > header { | 
|---|
|  |  |  | height: $header-height; | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | & > main { | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | /*  overflow-y: auto;*/ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 椤甸潰杩囨浮鍔ㄧ敾 | 
|---|
|  |  |  | .fade-enter-active, .fade-leave-active { | 
|---|
|  |  |  | transition: all .5s; | 
|---|
|  |  |  | opacity: 1; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ { | 
|---|
|  |  |  | transform: translateY(200px); | 
|---|
|  |  |  | opacity: 0; | 
|---|
|  |  |  | transition: all .5s; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|