BrandList.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <template>
  2. <div>
  3. <div id="brandsList" class="container">
  4. <div id="brands">
  5. <div v-for="(brands, initial) in brandList" class="row container brands-page">
  6. <div class="brands-title">{{initial}}</div>
  7. <div class="hr-blue"></div>
  8. <div class="row brands-body">
  9. <div class="simplebrand" v-for="brand in brands">
  10. <div class="brand-name">
  11. <nuxt-link :to="`/product/brand/${brand.uuid}/`">
  12. <span>{{brand.nameEn}}</span>
  13. </nuxt-link>
  14. </div>
  15. <div>
  16. <nuxt-link :to="`/product/brand/${brand.uuid}/`" v-if="brand.nameEn!=brand.nameCn">
  17. <span class="brand-name-cn">{{brand.nameCn}}</span>
  18. </nuxt-link>
  19. </div>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. function sortList (letter) {
  29. return function (a, b) {
  30. var value1 = a[letter]
  31. var value2 = b[letter]
  32. if (value1 > value2) {
  33. return 1
  34. } else if (value1 < value2) {
  35. return -1
  36. } else {
  37. return 0
  38. }
  39. }
  40. }
  41. export default {
  42. name: 'brandList',
  43. computed: {
  44. brandList () {
  45. let brandsList = this.$store.state.product.brand.brandList.data
  46. if (brandsList) {
  47. for (let i in brandsList) {
  48. brandsList[i] = brandsList[i].sort(sortList('nameEn'))
  49. }
  50. }
  51. let temp = {}
  52. let keys = []
  53. for (let key in brandsList) {
  54. keys.push(key)
  55. }
  56. keys = keys.sort()
  57. for (let i = 0; i < keys.length; i++) {
  58. temp[keys[i]] = brandsList[keys[i]]
  59. }
  60. return temp
  61. }
  62. }
  63. }
  64. </script>
  65. <style>
  66. /** brandList*/
  67. #brandsList {
  68. clear: both;
  69. width: 1190px;
  70. padding: 0;
  71. }
  72. #brandsList .hr-blue {
  73. border-bottom: 2px solid #6493FF;
  74. border-right: 0;
  75. border-top: 0;
  76. border-left: 0;
  77. width: 100%;
  78. }
  79. #brandsList .initials {
  80. margin-top: 3px;
  81. }
  82. #brandsList .row {
  83. margin: 20px 0;
  84. }
  85. #brandsList .row .initial {
  86. display: inline-block;
  87. margin: 0 5px;
  88. font-size: 16px;
  89. color: #787878;
  90. }
  91. #brandsList .row .initial:hover a,#brandsList .row li.initial.active a {
  92. color: #5078CB;
  93. font-weight: bold;
  94. cursor: pointer;
  95. }
  96. #brandsList .row .initial-active{
  97. color: #5078CB;
  98. font-weight: bold;
  99. }
  100. #brandsList .row .initial a{
  101. font-size: 16px;
  102. color: #787878;
  103. }
  104. #brandsList .row .initial:hover a{
  105. color: #5078CB;
  106. font-weight: bold;
  107. cursor: pointer;
  108. }
  109. #brands .container {
  110. width: 1190px;
  111. padding: 0px;
  112. }
  113. #brands .row .brands-title {
  114. width: 70px;
  115. height: 30px;
  116. padding-top: 5px;
  117. text-align: center;
  118. font-size: 16px;
  119. color: #fff;
  120. background-color: #6493FF;
  121. }
  122. #brands .row .brands-body {
  123. margin-bottom: 30px;
  124. font-size: 14px;
  125. color: #323232;
  126. }
  127. #brands .simplebrand {
  128. height: 30px;
  129. margin: 13px 0px;
  130. width: 25%;
  131. float: left;
  132. }
  133. #brands .simplebrand a {
  134. color: #323232;
  135. text-decoration: none;
  136. }
  137. #brands .simplebrand:hover a{
  138. color: #6493FF;
  139. font-weight: bold;
  140. }
  141. #brands .simplebrand .brand-name {
  142. margin-bottom: 2px;
  143. }
  144. #brands .simplebrand .brand-name-cn {
  145. font-size: 12px;
  146. }
  147. #brandsList ul {
  148. padding-left: 0px;
  149. }
  150. #brandsList ul li {
  151. list-style: none;
  152. }
  153. #carousel li {
  154. width: 12px;
  155. height: 12px;
  156. margin: 3px;
  157. }
  158. </style>