block_power.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <script lang='ts' setup>
  2. const list = [
  3. {
  4. label: 'Data-Based Curation',
  5. key: 'data-curation',
  6. data: {
  7. title: 'Product selection based on real-time consumer data to boost sales',
  8. describe: 'We analyze evolving consumer trends and sales insights to provide curated product assortments that strategically selected for your market appeal and success.',
  9. },
  10. },
  11. {
  12. label: 'Weekly Catalog Updates',
  13. key: 'weekly-updates',
  14. data: {
  15. title: 'New, trending products are added weekly to keep your inventory fresh',
  16. 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.',
  17. },
  18. },
  19. {
  20. label: 'One Stop Solutions',
  21. key: 'one-stop-solutions',
  22. data: {
  23. title: 'From concept to packaging, we handle everything for you',
  24. 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.',
  25. },
  26. },
  27. {
  28. label: 'Scalable Distribution',
  29. key: 'scalable-distribution',
  30. data: {
  31. title: 'Flexible logistics solutions that scale with your business growth',
  32. describe: 'Flexible supply options combined with dependable logistics empower seamless scaling—from small boutique operations to retail chains—ensuring consistent growth support.',
  33. },
  34. },
  35. ]
  36. const active = ref('data-curation')
  37. const diff_data: any = computed(() => {
  38. return list.find(item => item.key === active.value)?.data || {}
  39. })
  40. </script>
  41. <template>
  42. <div class="w-1200-auto pb-110px">
  43. <h2 class="text-36px fw-800 text-#333 !mb-88px text-center custom-title-font">
  44. Power Your Retail Success with <span class="custom-title-bg04"> EJET Spark </span>
  45. </h2>
  46. <div class="flex gap-40px">
  47. <div class="flex flex-col gap-60px">
  48. <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">
  49. {{ item.label }}
  50. </div>
  51. </div>
  52. <img
  53. src="https://picsum.photos/470/280"
  54. alt=""
  55. class="w-470px h-280px b-rd-6px"
  56. srcset=""
  57. >
  58. <div class="flex-1">
  59. <div class="flex flex-col justify-between">
  60. <div>
  61. <h3 class="text-24px text-#333 fw-800 lh-32px custom-title-font">
  62. {{ diff_data.title }}
  63. </h3>
  64. <div class="text-#999 lh-22px mt-20px">
  65. {{ diff_data.describe }}
  66. </div>
  67. </div>
  68. <div
  69. 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"
  70. >
  71. <NuxtLink to="/categories">
  72. View Catalogs
  73. </NuxtLink>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </template>
  80. <style lang='less' scoped>
  81. </style>