prodViewLink.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <div class="prod-link-box">
  3. <template v-for="(list,index) in $store.state.headProdNav">
  4. <div
  5. class="prod-link-room"
  6. :key="list.proCategoryId"
  7. @click="showHidenFn(index)"
  8. v-if="index<4"
  9. >
  10. <div class="prod-link-title">
  11. <span class="prod-link-title-word">
  12. <h2>{{list.proCategoryName}}</h2>
  13. </span>
  14. <span class="prod-link-mark">
  15. <span v-show="isShow"></span>
  16. <span class="prod-link-minus" v-show="showHidenChange[index]">-</span>
  17. <span class="prod-link-add" v-show="!showHidenChange[index]">+</span>
  18. </span>
  19. </div>
  20. <div class="prod-link-list-box" v-show="showHidenChange[index]">
  21. <ul>
  22. <li
  23. class="prod-link-list"
  24. v-for="item in $store.state.headProdNav[index].children"
  25. :key="item.proCategoryId"
  26. >
  27. <nuxt-link
  28. target="_blank"
  29. :to="{name: 'prod-typeId',params: {typeId: list.proCategoryId},query: {classId: item.proCategoryId}}"
  30. >
  31. <span>·</span>
  32. <h3 class="prod-link-cont">{{item.proCategoryName}}</h3>
  33. </nuxt-link>
  34. </li>
  35. </ul>
  36. </div>
  37. </div>
  38. </template>
  39. </div>
  40. </template>
  41. <script>
  42. export default {
  43. name: "prodViewLink",
  44. data() {
  45. return {
  46. showHidenChange: [true, true, true, true, false, false, false, false],
  47. isShow: true,
  48. };
  49. },
  50. methods: {
  51. showHidenFn(index) {
  52. this.showHidenChange[index] = !this.showHidenChange[index];
  53. this.isShow = !this.isShow;
  54. },
  55. },
  56. };
  57. </script>
  58. <style scoped>
  59. .prod-link-box {
  60. overflow: hidden;
  61. width: 100%;
  62. height: auto;
  63. border-bottom: 2px solid #e5e5e5;
  64. }
  65. .prod-link-room {
  66. width: 100%;
  67. height: auto;
  68. }
  69. .prod-link-box .prod-link-room:nth-child(n + 5) .prod-link-list-box {
  70. display: none;
  71. }
  72. .prod-link-title {
  73. width: 100%;
  74. height: 52px;
  75. padding-left: 20px;
  76. border-top: 2px solid #e5e5e5;
  77. color: #22202b;
  78. font-size: 18px;
  79. font-weight: bold;
  80. line-height: 50px;
  81. text-align: left;
  82. box-sizing: border-box;
  83. cursor: pointer;
  84. }
  85. .prod-link-title span {
  86. float: left;
  87. }
  88. .prod-link-minus,
  89. .prod-link-add {
  90. margin-left: 5px;
  91. }
  92. span.prod-link-active {
  93. display: block;
  94. }
  95. .prod-link-list-box {
  96. width: 100%;
  97. height: auto;
  98. padding: 22px 0 27px 20px;
  99. border-top: 2px solid #e5e5e5;
  100. box-sizing: border-box;
  101. }
  102. li.prod-link-list {
  103. width: 100%;
  104. height: 36px;
  105. color: #858585;
  106. font-size: 14px;
  107. line-height: 36px;
  108. text-align: left;
  109. }
  110. li.prod-link-list a {
  111. display: block;
  112. width: 100%;
  113. height: 100%;
  114. color: #858585;
  115. }
  116. .prod-link-list a span {
  117. float: left;
  118. }
  119. .prod-link-cont {
  120. float: left;
  121. margin-left: 5px;
  122. font-weight: normal;
  123. }
  124. li.prod-link-list a:hover {
  125. color: #22202b;
  126. }
  127. </style>