block_power.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <script lang='ts' setup>
  2. import img_01 from '@/assets/images/solutions_power01.png'
  3. import img_02 from '@/assets/images/solutions_power02.png'
  4. import img_03 from '@/assets/images/solutions_power03.png'
  5. import img_04 from '@/assets/images/solutions_power04.png'
  6. const list = [
  7. {
  8. label: 'Data-Based Curation',
  9. key: 'data-curation',
  10. data: {
  11. img: img_01,
  12. title: 'Product selection based on real-time consumer data to boost sales',
  13. describe: 'We analyze evolving consumer trends and sales insights to provide curated product assortments that strategically selected for your market appeal and success.',
  14. },
  15. },
  16. {
  17. label: 'Weekly Catalog Updates',
  18. key: 'weekly-updates',
  19. data: {
  20. img: img_02,
  21. title: 'New, trending products are added weekly to keep your inventory fresh',
  22. describe: 'Stay ahead of the curve with weekly releases of fresh, eye-catching items. Carefully aligned with the latest market trends to keep assortments relevant and in demand.',
  23. },
  24. },
  25. {
  26. label: 'One Stop Solutions',
  27. key: 'one-stop-solutions',
  28. data: {
  29. img: img_03,
  30. title: 'From concept to packaging, we handle everything for you',
  31. describe: 'From initial product concept to final packaging, each selection is thoughtfully developed to align with modern consumer preferences and drive higher sell-through rates.',
  32. },
  33. },
  34. {
  35. label: 'Scalable Distribution',
  36. key: 'scalable-distribution',
  37. data: {
  38. img: img_04,
  39. title: 'Flexible logistics solutions that scale with your business growth',
  40. describe: 'Flexible supply options combined with dependable logistics empower seamless scaling—from small boutique operations to retail chains—ensuring consistent growth support.',
  41. },
  42. },
  43. ]
  44. const active = ref('data-curation')
  45. const diff_data: any = computed(() => {
  46. return list.find(item => item.key === active.value)?.data || {}
  47. })
  48. </script>
  49. <template>
  50. <div class="w-1200-auto pb-110px">
  51. <h2 class="text-36px fw-800 text-#333 !mb-88px text-center custom-title-font">
  52. Power Your Retail Success with <span class="custom-title-bg04"> EJET Spark </span>
  53. </h2>
  54. <div class="flex gap-40px">
  55. <div class="flex flex-col gap-60px">
  56. <div v-for="item in list" :key="item.key" :class="active === item.key && 'text-#9B6CFF'" class="cursor-pointer text-#999 hover:text-#9B6CFF" @click="active = item.key">
  57. {{ item.label }}
  58. </div>
  59. </div>
  60. <img
  61. :src="diff_data.img"
  62. alt=""
  63. class="w-470px h-280px b-rd-6px"
  64. srcset=""
  65. >
  66. <div class="flex-1">
  67. <div class="flex flex-col justify-between">
  68. <div>
  69. <h3 class="text-24px text-#333 fw-800 lh-32px custom-title-font">
  70. {{ diff_data.title }}
  71. </h3>
  72. <div class="text-#999 lh-22px mt-20px">
  73. {{ diff_data.describe }}
  74. </div>
  75. </div>
  76. <div
  77. class="w-154px h-40px lh-40px text-center mt-60px b-rd-6px text-14px text-#9B6CFF fw-bold b-solid b-1px b-#9B6CFF cursor-pointer hover:bg-#9B6CFF hover:text-#fff"
  78. >
  79. <NuxtLink to="/categories">
  80. View Catalogs
  81. </NuxtLink>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </template>
  88. <style lang='less' scoped>
  89. </style>