CommonLayout.vue 671 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <template>
  2. <div class="common-page">
  3. <div class="common-page__header">
  4. <slot name="header"></slot>
  5. </div>
  6. <div class="common-page__body">
  7. <slot></slot>
  8. </div>
  9. </div>
  10. </template>
  11. <script>
  12. export default {
  13. data() {
  14. return {};
  15. }
  16. };
  17. </script>
  18. <style lang="scss" scoped>
  19. .common-page {
  20. display: flex;
  21. padding: 16px;
  22. flex-direction: column;
  23. box-sizing: border-box;
  24. background-color: #f1f3f4;
  25. height: 100%;
  26. &__header {
  27. flex: 0 0 auto;
  28. margin-bottom: 16px;
  29. }
  30. &__body {
  31. height: 0;
  32. flex: 1 1 auto;
  33. overflow-x: hidden;
  34. overflow-y: auto;
  35. }
  36. ::v-deep .el-card {
  37. height: 100%;
  38. }
  39. }
  40. </style>