index.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <!-- 横向布局 -->
  3. <div
  4. class="vab-layout-horizontal"
  5. :class="{
  6. fixed: fixedHeader,
  7. 'no-tabs-bar': !showTabs,
  8. }">
  9. <div
  10. class="vab-layout-header"
  11. :class="{
  12. 'fixed-header': fixedHeader,
  13. }">
  14. <vab-header />
  15. <div
  16. v-show="showTabs"
  17. :class="{
  18. 'vab-tabs-horizontal': showTabs,
  19. }">
  20. <div class="vab-main">
  21. <vab-tabs />
  22. </div>
  23. </div>
  24. </div>
  25. <div class="vab-main main-padding">
  26. <vab-app-main />
  27. </div>
  28. </div>
  29. </template>
  30. <script>
  31. export default {
  32. name: 'VabLayoutHorizontal',
  33. props: {
  34. collapse: {
  35. type: Boolean,
  36. default() {
  37. return false
  38. },
  39. },
  40. fixedHeader: {
  41. type: Boolean,
  42. default() {
  43. return true
  44. },
  45. },
  46. showTabs: {
  47. type: Boolean,
  48. default() {
  49. return true
  50. },
  51. },
  52. device: {
  53. type: String,
  54. default() {
  55. return 'desktop'
  56. },
  57. },
  58. },
  59. }
  60. </script>
  61. <style lang="scss" scoped>
  62. .vab-layout-horizontal {
  63. ::v-deep {
  64. .vab-main {
  65. width: 92% !important;
  66. margin: auto;
  67. }
  68. }
  69. .vab-tabs-horizontal {
  70. background: $base-color-white;
  71. box-shadow: $base-box-shadow;
  72. }
  73. .vab-nav {
  74. .fold-unfold {
  75. display: none;
  76. }
  77. }
  78. }
  79. </style>