5.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <div :class="['bannerBox', {buildingBorder: this.$store.state.template.previewStatus==false}]">
  3. <div :class="['itemTopBox', {componentBorder: $store.state.template.previewStatus==false}]">
  4. <editBtn :id="id" :dataSort="dataSort" :sort="0" :type="6" :size="1"/>
  5. <convertBtn :id="id" :dataSort="dataSort" :sort="0" :type="1"/>
  6. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[0].component_style == 1">
  7. <mainTitleStyle1 />
  8. </div>
  9. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[0].component_style == 2">
  10. <mainTitleStyle2 />
  11. </div>
  12. </div>
  13. <div class="itemBottomBox">
  14. <div class="bannerLayerBox">
  15. <editBtn :id="id" :dataSort="dataSort" :sort="1" :type="1" :size="3"/>
  16. <convertBtn :id="id" :dataSort="dataSort" :sort="1" :type="4"/>
  17. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[1].component_style == 1">
  18. <banner1Style />
  19. </div>
  20. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[1].component_style == 2">
  21. <banner2Style />
  22. </div>
  23. </div>
  24. <div :class="['NewsListBox', {componentBorder: $store.state.template.previewStatus==false}]">
  25. <editBtn :id="id" :dataSort="dataSort" :sort="2" :type="2" :size="5"/>
  26. <convertBtn :id="id" :dataSort="dataSort" :sort="2" :type="5"/>
  27. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[2].component_style == 1">
  28. <tabs1Style />
  29. </div>
  30. <div v-if="this.$store.state.template.pageData.index[dataSort].content.componentList[2].component_style == 2">
  31. <tabs2Style />
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. //编辑按钮
  39. import editBtn from '../../../public/editBtn.vue'
  40. import convertBtn from '../../../public/convertBtn.vue'
  41. //标题组件
  42. import mainTitleStyle1 from '../components/mainTitle/1.vue'
  43. import mainTitleStyle2 from '../components/mainTitle/2.vue'
  44. //banner组件
  45. import banner from '../components/banner.vue'
  46. import banner1Style from '../components/banner/1.vue'
  47. import banner2Style from '../components/banner/2.vue'
  48. //tabs组件
  49. import tabs1Style from '../components/tabs/1.vue'
  50. import tabs2Style from '../components/tabs/2.vue'
  51. export default {
  52. components: {
  53. //mainTitle,
  54. banner,
  55. editBtn,
  56. convertBtn,
  57. mainTitleStyle1,
  58. mainTitleStyle2,
  59. banner1Style,
  60. banner2Style,
  61. tabs1Style,
  62. tabs2Style
  63. },
  64. props: {
  65. id:{
  66. type:Number,
  67. default:0
  68. },
  69. dataSort:{
  70. type:Number,
  71. default:0
  72. }
  73. },
  74. data() {
  75. return {
  76. };
  77. },
  78. methods: {
  79. },
  80. mounted() {
  81. },
  82. };
  83. </script>
  84. <style scoped lang="less">
  85. .bannerBox {
  86. width: 100%;
  87. display: flex;
  88. flex-direction: column;
  89. align-items: center;
  90. height: 314px;
  91. .componentBorder{
  92. border: 2px dashed #999;
  93. }
  94. .itemTopBox {
  95. position: relative;
  96. //border: 2px dashed #999;
  97. width: 80%;
  98. }
  99. .itemBottomBox {
  100. width: 80%;
  101. display: flex;
  102. align-items: center;
  103. justify-content: space-between;
  104. padding: 14px 0 0 0;
  105. padding-top: 20px;
  106. .bannerLayerBox {
  107. position: relative;
  108. //border: 2px dashed #999;
  109. width: 55%;
  110. height: 226px;
  111. }
  112. .NewsListBox {
  113. position: relative;
  114. width: 45%;
  115. //border: 2px dashed #999;
  116. box-sizing: border-box;
  117. padding-left: 20px;
  118. height: 226px;
  119. }
  120. }
  121. }
  122. </style>