productList.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div class="content productList">
  3. <div class="conBox container productCenter">
  4. <a class="product"
  5. v-for="(product,i) in productList"
  6. :key="'pro-'+i"
  7. @click="clickProductHandle(product)"
  8. >
  9. <span class="imgBox">
  10. <img :src="'/public/'+product.image" :alt="product.name" class="img">
  11. </span>
  12. <span class="more">
  13. {{lang===langType.cn?"了解更多":getAbbrText("了解更多")}}
  14. </span>
  15. <p class="product-info">
  16. <span class="title">
  17. {{lang===langType.cn?product.name:getAbbrText(product.name)}}
  18. </span>
  19. <span class="description" v-if="product.remark">
  20. {{product.remark}}
  21. </span>
  22. </p>
  23. </a>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import langMap from "~/map/langMap";
  29. export default {
  30. name: "productList",
  31. props: {
  32. lang:{
  33. default: langMap.lang.cn
  34. },
  35. productList: {
  36. default(){
  37. return []
  38. }
  39. }
  40. },
  41. data(){
  42. return {
  43. langType: langMap.lang,
  44. }
  45. },
  46. methods: {
  47. getLangText(str) {
  48. return langMap.getText(this.lang, str);
  49. },
  50. getAbbrText(str) {
  51. return langMap.getAbbrText(this.lang, str);
  52. },
  53. clickProductHandle(product){
  54. console.log(product);
  55. let url = ""
  56. if(product.sourceType === "1"){
  57. url = product.source;
  58. }else{
  59. url = `/product/info/${product.type_key}?id=${product.id}`
  60. }
  61. window.location.href = url;
  62. }
  63. }
  64. }
  65. </script>
  66. <style scoped>
  67. @import "~/assets/productList.css";
  68. </style>