index.vue 895 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <template>
  2. <div
  3. class="vab-layout-comprehensive"
  4. :class="{
  5. fixed: fixedHeader,
  6. 'no-tabs-bar': !showTabs,
  7. }"
  8. >
  9. <vab-side-bar layout="comprehensive" />
  10. <div
  11. class="vab-main"
  12. :class="{
  13. 'is-collapse-main': collapse,
  14. }"
  15. >
  16. <div
  17. class="vab-layout-header"
  18. :class="{
  19. 'fixed-header': fixedHeader,
  20. }"
  21. >
  22. <vab-nav layout="comprehensive" />
  23. <vab-tabs v-show="showTabs" />
  24. </div>
  25. <vab-app-main />
  26. </div>
  27. </div>
  28. </template>
  29. <script lang="ts" setup>
  30. defineOptions({
  31. name: 'VabLayoutComprehensive',
  32. })
  33. defineProps({
  34. collapse: {
  35. type: Boolean,
  36. default: false,
  37. },
  38. fixedHeader: {
  39. type: Boolean,
  40. default: true,
  41. },
  42. showTabs: {
  43. type: Boolean,
  44. default: true,
  45. },
  46. device: {
  47. type: String,
  48. default: 'desktop',
  49. },
  50. })
  51. </script>