index.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <template>
  2. <div class="purchase-layout">
  3. <div class="plate01">
  4. <div class="main-layout">
  5. <browse
  6. :idata='browdata'
  7. :floder="'zhijiabrowse'"
  8. />
  9. <div class="txt-con">
  10. <h1 class="goods-name">{{$t('mall.jiaojia')}}</h1>
  11. <!-- <img class="p-logo" :src="this.language==='en'?`${$cdn}images/zhijia-logo-en.png`:`${$cdn}images/zhijia-logo-black.png`" alt=""> -->
  12. <div class="p-label" v-html="langzhijia.dec"></div>
  13. <div class="p-price">{{langzhijia.price}}</div>
  14. </div>
  15. <div class="attr-con">
  16. <div class="attr">{{langzhijia.color.key}}</div>
  17. <div class="box color">
  18. <i class="iconfont icon-yuandian" style="margin-right:4px;"></i>{{$t('mall.zhijiaColor')}}
  19. </div>
  20. <div class="attr">{{langzhijia.peijian.key}}</div>
  21. <div class="box service">
  22. <ul>
  23. <li v-for="(item,i) in langzhijia.peijian.val" :key="i" v-html="item"></li>
  24. </ul>
  25. </div>
  26. <div v-if="language!=='en'" class="attr">{{langzhijia.count.key}}</div>
  27. <spinner v-if="language!=='en'" class="count" @count='handleNum' />
  28. <div class="dec" v-if="language === 'zh'"><h-icon class="gouwuche" type="gouwuche" />{{langzhijia.tiaokuan}}</div>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="zhijia-params">
  33. <div class="mobile2">
  34. <div class="top">
  35. <h2 class="common-title" v-html="langzhijia.zhijia.name"></h2>
  36. <!-- <p class="b-text3" v-html="langzhijia.zhijia.sub"></p> -->
  37. <!-- <phone class="front-img"/> -->
  38. <img class="front-img" :src="`${$cdn}images/m-zhijia.png`" alt>
  39. </div>
  40. <div class="jiaojia">
  41. <span class="text">{{langzhijia.zhijia.detail}}</span>
  42. <div class="jiaojia-img">
  43. <div v-for="(item,i) in langzhijia.zhijia.detailArr" :key="i">
  44. <img :src="item.img" alt="">
  45. <div class="b-text1">{{item.name}}</div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="p2-pramas">
  50. <div class="p2-name">{{langzhijia.parmas.name}}</div>
  51. <div v-for="(item,i) in langzhijia.parmas.detail" :key="i+1">
  52. <p class="title">{{item.label}}</p>
  53. <div class="name">{{item.name}}</div>
  54. <div class="detail" >
  55. <span v-for="(sub,idx) in item.dec" :key="idx">
  56. <span v-html="sub"></span>
  57. </span>
  58. </div>
  59. </div>
  60. <div v-for="(sub,i) in langzhijia.parmas.sub" :key="i" class="sub">{{sub}}</div>
  61. </div>
  62. </div>
  63. <div class="mobile3">
  64. <h3 class="b-text2">{{langzhijia.hualun.name}}</h3>
  65. <div class="b-text3">{{langzhijia.hualun.sub}}</div>
  66. <img class="hualun-img" :src="this.language==='en'?`${$cdn}images/hualun1en.png`:`${$cdn}images/hualun1.png`" alt>
  67. <img class="hualun-img" :src="this.language==='en'?`${$cdn}images/hualun2en.png`:`${$cdn}images/hualun2.png`" alt>
  68. <div class="p2-pramas">
  69. <div class="p2-name">{{langzhijia.lunparmas.name}}</div>
  70. <div v-for="(item,i) in langzhijia.lunparmas.detail" :key="i">
  71. <p class="title">{{item.label}}</p>
  72. <div class="name">{{item.name}}</div>
  73. <div class="detail" >
  74. <span v-for="(sub,idx) in item.dec" :key="idx">
  75. <span v-html="sub"></span>
  76. </span>
  77. </div>
  78. </div>
  79. <p class="small-tip">{{$t('mall.smallTip')}}</p>
  80. </div>
  81. </div>
  82. </div>
  83. <div class="hover-btns">
  84. <div class="h-price">
  85. {{language!=='en'? `RMB ${count*899}`:''}}
  86. </div>
  87. <div class="h-btns">
  88. <span v-if="language!=='en'" @click="addcart">加入购物车</span>
  89. <span class="primary" @click="tobuy">{{langPurchase.buy}}</span>
  90. </div>
  91. </div>
  92. </div>
  93. </template>
  94. <script>
  95. import { mapState } from 'vuex'
  96. import spinner from '@/components/spinner'
  97. import priceTable from '@/components/priceTable'
  98. import browse from '@/components/browse'
  99. export default {
  100. components: {
  101. spinner,
  102. priceTable,
  103. browse
  104. },
  105. computed: {
  106. ...mapState({
  107. token: state => state.user.token,
  108. langPurchase: state => state.language.home.purchase,
  109. language: state => state.language.current,
  110. langzhijia: state => state.language.home.purchasezhijia
  111. })
  112. },
  113. data () {
  114. let browdata = [
  115. {
  116. small: 'small-0',
  117. big: 'big-0',
  118. video: 'zhijia-post'
  119. }, {
  120. small: 'small-1',
  121. big: 'big-1'
  122. },
  123. {
  124. small: 'small-2',
  125. big: 'big-2'
  126. },
  127. {
  128. small: 'small-3',
  129. big: 'big-3'
  130. },
  131. {
  132. small: 'small-4',
  133. big: 'big-4'
  134. }]
  135. return {
  136. count: 1,
  137. browdata,
  138. selectParts: true
  139. }
  140. },
  141. methods: {
  142. handleNum (data) {
  143. this.count = data
  144. },
  145. async addcart () {
  146. if (!this.token) {
  147. return this.$router.push({path: '/login'})
  148. }
  149. let zhijia = {
  150. goodsId: 7,
  151. goodsCount: this.count,
  152. skuSn: 'U15604134406280073'
  153. }
  154. this.$store.dispatch('addCart', zhijia)
  155. this.$toast.showAddCart('success', '商品加入购物车成功', '前往购物车', () => {
  156. this.$router.push({path: '/cart'})
  157. })
  158. },
  159. async tobuy () {
  160. if (this.language === 'en') {
  161. window.location.href = 'https://www.alibaba.com/product-detail/4DKanKan-Pro-Tripod-Set_62431649408.html?spm=a2700.icbuShop.41413.11.339877f3TUXWiN'
  162. return
  163. }
  164. if (!this.token) {
  165. return this.$router.push({path: '/login'})
  166. }
  167. let zhijia = {
  168. goodsId: 7,
  169. goodsCount: this.count,
  170. price: 899,
  171. skuSn: 'U15604134406280073'
  172. }
  173. let tmpcart = []
  174. let temp = {}
  175. tmpcart.push(zhijia)
  176. temp['goods'] = tmpcart
  177. this.$store.commit('PAYINFO', temp)
  178. this.$router.push({path: '/vieworder'})
  179. }
  180. }
  181. }
  182. </script>
  183. <style lang="scss" scoped>
  184. @import './style.scss';
  185. .small-tip {
  186. font-size: 12px;
  187. color: #666;
  188. line-height: 20px;
  189. margin-top: 20px;
  190. }
  191. .goods-name {
  192. font-size: 22px;
  193. font-weight: bold;
  194. color: #202020;
  195. margin-top: 15px;
  196. }
  197. </style>