|  |  | 
 |  |  | <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> | 
 |  |  |   <div> | 
 |  |  |     <CommonHeader /> | 
 |  |  |     <div style="height:10px; background: #fff"></div> | 
 |  |  |     <el-container class="app-layout"> | 
 |  |  |       <el-aside :class="{collapse:menuData.collapse}"> | 
 |  |  |         <Menu/> | 
 |  |  |       </el-aside> | 
 |  |  |       <el-main> | 
 |  |  |         <header> | 
 |  |  |           <AppHeader/> | 
 |  |  |         </header> | 
 |  |  |         <div style="height:10px;"></div> | 
 |  |  |         <main ref="containerS"> | 
 |  |  |           <transition name="fade"> | 
 |  |  | <!--            <keep-alive>--> | 
 |  |  |               <router-view></router-view> | 
 |  |  | <!--            </keep-alive>--> | 
 |  |  |           </transition> | 
 |  |  |         </main> | 
 |  |  |       </el-main> | 
 |  |  |     </el-container> | 
 |  |  |  | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  | import { mapState } from 'vuex' | 
 |  |  | import Header from '@/components/common/Header' | 
 |  |  | import CommonHeader from '@/components/common/CommonHeader' | 
 |  |  | import Menu from '@/components/common/Menu' | 
 |  |  | export default { | 
 |  |  |   name: 'DefaultLayout', | 
 |  |  |   components: { AppHeader: Header, Menu }, | 
 |  |  |   components: { AppHeader: Header, Menu, CommonHeader }, | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       isFinishData: false, | 
 |  |  |         orgBackground: '' | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   computed: { | 
 |  |  |     ...mapState(['menuData']) | 
 |  |  |   } | 
 |  |  |     ...mapState(['menuData', 'userInfo']) | 
 |  |  |   }, | 
 |  |  |  | 
 |  |  |     mounted() { | 
 |  |  |     }, | 
 |  |  |  | 
 |  |  |     methods: { | 
 |  |  |  | 
 |  |  |   }, | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | 
 |  |  | .el-container { | 
 |  |  |   background: #F7F8F9; | 
 |  |  |   height: 100%; | 
 |  |  |  | 
 |  |  |   display: flex; | 
 |  |  |   overflow: hidden; | 
 |  |  |   // overflow: hidden; | 
 |  |  |   overflow: scroll; | 
 |  |  |   // 左边菜单 | 
 |  |  |   .el-aside { | 
 |  |  |     width: $menu-width !important; | 
 |  |  |     flex-shrink: 0; | 
 |  |  |     height: 100%; | 
 |  |  |     overflow-y: auto; | 
 |  |  |     // height: 100%; | 
 |  |  |     // height: 900px; | 
 |  |  |     height: calc(100vh - 80px); | 
 |  |  |     overflow-y: scroll; | 
 |  |  |     overflow-x: hidden; | 
 |  |  |     background: $primary-color; | 
 |  |  |     color: #fff; | 
 |  |  |     transition: width ease .3s; | 
 |  |  |     scrollbar-width: none; /* firefox */ | 
 |  |  |     -ms-overflow-style: none; /* IE 10+ */ | 
 |  |  |     &::-webkit-scrollbar { | 
 |  |  |       display: none; /* Chrome Safari */ | 
 |  |  |     } | 
 |  |  |     &.collapse { | 
 |  |  |       width: 64px !important; | 
 |  |  |     } | 
 |  |  | 
 |  |  |   // 右边内容 | 
 |  |  |   .el-main { | 
 |  |  |     width: 100%; | 
 |  |  |     height: 100%; | 
 |  |  |     // height: 100%; | 
 |  |  |     height: calc(100vh - 90px); | 
 |  |  |     padding: 0; | 
 |  |  |     position: relative; | 
 |  |  |     display: flex; | 
 |  |  |     flex-direction: column; | 
 |  |  |     overflow: hidden; | 
 |  |  |     overflow-y: scroll; | 
 |  |  |     overflow-x: hidden; | 
 |  |  |     scrollbar-width: none; /* firefox */ | 
 |  |  |     -ms-overflow-style: none; /* IE 10+ */ | 
 |  |  |     &::-webkit-scrollbar { | 
 |  |  |       display: none; /* Chrome Safari */ | 
 |  |  |     } | 
 |  |  |     & > header { | 
 |  |  |       height: $header-height; | 
 |  |  |       height: 48px; | 
 |  |  |       flex-shrink: 0; | 
 |  |  |     } | 
 |  |  |     & > main { | 
 |  |  |       height: 100%; | 
 |  |  |         box-sizing: border-box; | 
 |  |  |       overflow-y: auto; | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | 
 |  |  |   transition: all .5s; | 
 |  |  |   position: absolute; | 
 |  |  | } | 
 |  |  | .comfirm { | 
 |  |  |   position: absolute; | 
 |  |  |   left: 0; | 
 |  |  |   top: 0; | 
 |  |  |   right: 0; | 
 |  |  |   bottom: 0; | 
 |  |  |   background-color: rgba(0, 0, 0, 0.3); | 
 |  |  |   z-index: 1000; | 
 |  |  |   .container { | 
 |  |  |     position: absolute; | 
 |  |  |     left: 0; | 
 |  |  |     top: 0; | 
 |  |  |     right: 0; | 
 |  |  |     bottom: 0; | 
 |  |  |     margin: auto; | 
 |  |  |     background-color: #fff; | 
 |  |  |     width: 500px; | 
 |  |  |     height: 120px; | 
 |  |  |     padding: 30px; | 
 |  |  |     box-sizing: border-box; | 
 |  |  |     display: flex; | 
 |  |  |     flex-direction: column; | 
 |  |  |     justify-content: space-between; | 
 |  |  |     .complete { | 
 |  |  |       display: flex; | 
 |  |  |       flex-direction: row-reverse; | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </style> |