index.vue 5.8 KB

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