| <template> | 
|   <div class="app-container"> | 
|     <el-aside v-if="!!slots.aside" class="app-aside"> | 
|       <slot name="aside" /> | 
|     </el-aside> | 
|   | 
|     <section class="app-main"> | 
|       <slot /> | 
|     </section> | 
|   </div> | 
| </template> | 
|   | 
| <script setup lang="ts"> | 
| defineOptions({ | 
|   name: 'AppContainer', | 
| }); | 
|   | 
| const slots = useSlots(); | 
| </script> | 
|   | 
| <style lang="scss"> | 
| @use '@/style/common.scss' as *; | 
|   | 
| .app-container { | 
|   display: flex; | 
|   padding: $bole-container-padding; | 
|   height: 100%; | 
|   // flex-direction: column; | 
|   // border: 1px solid getCssVar('table-border', 'color'); | 
|   | 
|   .app-aside { | 
|     display: flex; | 
|     overflow: hidden; | 
|     margin-right: 10px; | 
|     padding: 34px 28px 20px; | 
|     width: 400px; | 
|     background-color: getCssVar('color-white'); | 
|     flex-direction: column; | 
|     @include utils-shadow; | 
|   } | 
|   | 
|   .app-main { | 
|     display: flex; | 
|     width: 0; | 
|     height: 100%; | 
|     flex: 1; | 
|     flex-direction: column; | 
|   } | 
| } | 
| </style> |