block_solve.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <script lang='ts' setup>
  2. import solutionIcon01 from '~/assets/images/solutions_icon01.png'
  3. import solutionIcon02 from '~/assets/images/solutions_icon02.png'
  4. import solutionIcon03 from '~/assets/images/solutions_icon03.png'
  5. import solutionIcon04 from '~/assets/images/solutions_icon04.png'
  6. const list = ref([
  7. {
  8. key: 'ecommerce',
  9. title: 'Ecommerce',
  10. description: 'Scale Smarter with Viral-Ready Products for Online Growth',
  11. list: [
  12. {
  13. title: 'Real-Time Trend Curation',
  14. img: solutionIcon01,
  15. subTitle:
  16. 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
  17. },
  18. {
  19. img: solutionIcon02,
  20. title: 'Real-Time Trend Curation',
  21. subTitle:
  22. 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
  23. },
  24. {
  25. img: solutionIcon03,
  26. title: 'Real-Time Trend Curation',
  27. subTitle:
  28. 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
  29. },
  30. {
  31. img: solutionIcon04,
  32. title: 'Real-Time Trend Curation',
  33. subTitle:
  34. 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
  35. },
  36. ],
  37. },
  38. {
  39. key: 'brands',
  40. title: 'Brands & Distributors',
  41. description: 'Power Your Product Line with Trend Intelligence & Agile Supply',
  42. list: [
  43. {
  44. title: 'OEM/ODM Trend Support',
  45. img: solutionIcon01,
  46. subTitle:
  47. 'We provide trend-based design, packaging, and product development to help brands create unique, market-driven products.',
  48. },
  49. {
  50. img: solutionIcon02,
  51. title: 'Co-Branded Development',
  52. subTitle:
  53. 'Quick-turn co-branded collections to help brands launch exclusive, limited-edition products and increase market impact.',
  54. },
  55. {
  56. img: solutionIcon03,
  57. title: 'Flexible Logistic Solution',
  58. subTitle:
  59. 'Whether it’s bulk shipments, mixed containers, our flexible logistics solutions adapt to your business model and market goals.',
  60. },
  61. {
  62. img: solutionIcon04,
  63. title: 'Exclusive Channel Protection',
  64. subTitle:
  65. 'We protect your brand with exclusive regional rights, limited distribution agreements, and secure your market position.',
  66. },
  67. ],
  68. },
  69. {
  70. key: 'retailers',
  71. title: 'Retailers & Chain Stores',
  72. description: 'Upgrade Your Shelves with Trendy, High-Margin Products',
  73. list: [
  74. {
  75. title: 'Ready-to-Display Portfolios',
  76. img: solutionIcon01,
  77. subTitle:
  78. 'Curated product bundles that align with current trends, ready for effortless shelf display and enhanced retail appeal.',
  79. },
  80. {
  81. img: solutionIcon02,
  82. title: 'Trend-Aligned Launch Plan',
  83. subTitle:
  84. 'Tailored product launch plans based on market cycles to create a differentiated product portfolio that engages customers.',
  85. },
  86. {
  87. img: solutionIcon03,
  88. title: 'Store Display Solution',
  89. subTitle:
  90. 'Strategic display guides that show what to place where — helping your team position products by zone and boost visual appeal.',
  91. },
  92. {
  93. img: solutionIcon04,
  94. title: 'Go-to Market Support',
  95. subTitle:
  96. 'Customizable marketing assets to support both online and offline promotions — helping you boost visibility and drive sales.',
  97. },
  98. ],
  99. },
  100. ])
  101. const solution = ref('ecommerce')
  102. const solutionList = computed(() => {
  103. return list.value.find((item: any) => item.key === solution.value)?.list
  104. })
  105. </script>
  106. <template>
  107. <div class="w-1200-auto ">
  108. <div class="flex">
  109. <div v-for="item in list" :key="item.key" :class="solution === item.key ? '!bg-#9B6CFF !text-#fff' : ''" class="flex-1 bg-#F0F0F0 text-#333 py-20px text-center custom-title-font hover:text-#9B6CFF transition-all duration-300 cursor-pointer" @click="solution = item.key">
  110. {{ item.title }}
  111. </div>
  112. </div>
  113. <div class="py-120px text-center">
  114. <h2 class="text-36px fw-800 text-#333 !mb-20px">
  115. EJET Spark For <span class="custom-title-bg04"> {{ list.find(item => item.key === solution)?.title }} </span>
  116. </h2>
  117. <div class="lh-24px text-#999 text-22px mb-80px">
  118. {{ list.find(item => item.key === solution)?.description }}
  119. </div>
  120. <div class="flex gap-60px">
  121. <img
  122. src="~/assets/images/solutions_img02.png"
  123. alt=""
  124. class="w-420px h-520px"
  125. srcset=""
  126. >
  127. <div>
  128. <div class="flex flex-col gap-34px text-left">
  129. <div v-for="item in solutionList" :key="item.key" class="flex">
  130. <img :src="item.img" class="w-40px h-40px mr-20px" alt="">
  131. <div>
  132. <h3 class="text-18px fw-800 text-#333 !mb-10px custom-title-font">
  133. {{ item.title }}
  134. </h3>
  135. <div class="text-#666 lh-24px">
  136. {{ item.subTitle }}
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. <div
  142. class="w-154px h-40px lh-40px text-center ml-60px 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"
  143. >
  144. <NuxtLink to="/contact">
  145. Contact Us
  146. </NuxtLink>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. </template>
  153. <style lang='less' scoped>
  154. </style>