index.vue 1002 B

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