block_solve.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <script lang='ts' setup>
  2. import solutionEcommerce from '~/assets/images/ecommerce_img.png'
  3. import solutionBrands from '~/assets/images/brands_img.png'
  4. import solutionRetailers from '~/assets/images/retailers_img.png'
  5. import solutionEcommerce01 from '~/assets/images/solutions_ecommerce01.png'
  6. import solutionEcommerce02 from '~/assets/images/solutions_ecommerce02.png'
  7. import solutionEcommerce03 from '~/assets/images/solutions_ecommerce03.png'
  8. import solutionEcommerce04 from '~/assets/images/solutions_ecommerce04.png'
  9. import solutionBrand01 from '~/assets/images/solutions_brand01.png'
  10. import solutionBrand02 from '~/assets/images/solutions_brand02.png'
  11. import solutionBrand03 from '~/assets/images/solutions_brand03.png'
  12. import solutionBrand04 from '~/assets/images/solutions_brand04.png'
  13. import solutionRetailers01 from '~/assets/images/solutions_retailers01.png'
  14. import solutionRetailers02 from '~/assets/images/solutions_retailers02.png'
  15. import solutionRetailers03 from '~/assets/images/solutions_retailers03.png'
  16. import solutionRetailers04 from '~/assets/images/solutions_retailers04.png'
  17. const list = ref([
  18. {
  19. key: 'ecommerce',
  20. title: 'Ecommerce',
  21. description: 'Scale Smarter with Viral-Ready Products for Online Growth',
  22. masterImg: solutionEcommerce,
  23. list: [
  24. {
  25. title: 'Real-Time Trend Curation',
  26. img: solutionEcommerce01,
  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: solutionEcommerce02,
  32. title: 'Low MOQ Limits',
  33. subTitle:
  34. 'With zero MOQ, you can test products risk-free and scale only what sells. Perfect for agile sellers and fast-moving trends!',
  35. },
  36. {
  37. img: solutionEcommerce03,
  38. title: 'Flexible Fulfillment Options',
  39. subTitle:
  40. 'Whether you need dropshipping, bulk shipping, or FBA Prep, we adapt to your business with reliable logistics solutions.',
  41. },
  42. {
  43. img: solutionEcommerce04,
  44. title: 'Winning Product Portfolios',
  45. subTitle:
  46. 'Our pre-built product bundles and curated collections combine complementary bestsellers to boost average order value.',
  47. },
  48. ],
  49. },
  50. {
  51. key: 'brands',
  52. title: 'Brands & Distributors',
  53. description:
  54. 'Power Your Product Line with Trend Intelligence & Agile Supply',
  55. masterImg: solutionBrands,
  56. list: [
  57. {
  58. title: 'OEM/ODM Trend Support',
  59. img: solutionBrand01,
  60. subTitle:
  61. 'We provide trend-based design, packaging, and product development to help brands create unique, market-driven products.',
  62. },
  63. {
  64. img: solutionBrand02,
  65. title: 'Co-Branded Development',
  66. subTitle:
  67. 'Quick-turn co-branded collections to help brands launch exclusive, limited-edition products and increase market impact.',
  68. },
  69. {
  70. img: solutionBrand03,
  71. title: 'Flexible Logistic Solution',
  72. subTitle:
  73. 'Whether it’s bulk shipments, mixed containers, our flexible logistics solutions adapt to your business model and market goals.',
  74. },
  75. {
  76. img: solutionBrand04,
  77. title: 'Exclusive Channel Protection',
  78. subTitle:
  79. 'We protect your brand with exclusive regional rights, limited distribution agreements, and secure your market position.',
  80. },
  81. ],
  82. },
  83. {
  84. key: 'retailers',
  85. title: 'Retailers & Chain Stores',
  86. description: 'Upgrade Your Shelves with Trendy, High-Margin Products',
  87. masterImg: solutionRetailers,
  88. list: [
  89. {
  90. title: 'Ready-to-Display Portfolios',
  91. img: solutionRetailers01,
  92. subTitle:
  93. 'Curated product bundles that align with current trends, ready for effortless shelf display and enhanced retail appeal.',
  94. },
  95. {
  96. img: solutionRetailers02,
  97. title: 'Trend-Aligned Launch Plan',
  98. subTitle:
  99. 'Tailored product launch plans based on market cycles to create a differentiated product portfolio that engages customers.',
  100. },
  101. {
  102. img: solutionRetailers03,
  103. title: 'Store Display Solution',
  104. subTitle:
  105. 'Strategic display guides that show what to place where — helping your team position products by zone and boost visual appeal.',
  106. },
  107. {
  108. img: solutionRetailers04,
  109. title: 'Go-to Market Support',
  110. subTitle:
  111. 'Customizable marketing assets to support both online and offline promotions — helping you boost visibility and drive sales.',
  112. },
  113. ],
  114. },
  115. ])
  116. const solution = ref('ecommerce')
  117. const solutionList = computed(() => {
  118. return list.value.find((item: any) => item.key === solution.value)?.list
  119. })
  120. </script>
  121. <template>
  122. <div class="w-1200-auto ">
  123. <div class="flex">
  124. <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">
  125. {{ item.title }}
  126. </div>
  127. </div>
  128. <div class="py-120px text-center">
  129. <h2 class="text-36px fw-800 text-#333 !mb-20px">
  130. EJET Spark For <span class="custom-title-bg04"> {{ list.find(item => item.key === solution)?.title }} </span>
  131. </h2>
  132. <div class="lh-24px text-#999 text-22px mb-80px">
  133. {{ list.find(item => item.key === solution)?.description }}
  134. </div>
  135. <div class="flex gap-60px">
  136. <img
  137. :src="list.find((item) => item.key === solution)?.masterImg"
  138. alt=""
  139. class="w-420px h-520px object-cover"
  140. srcset=""
  141. >
  142. <div>
  143. <div class="flex flex-col gap-34px text-left">
  144. <div v-for="item in solutionList" :key="item.key" class="flex">
  145. <img :src="item.img" class="w-40px h-40px mr-20px" alt="">
  146. <div>
  147. <h3 class="text-18px fw-800 text-#333 !mb-10px custom-title-font">
  148. {{ item.title }}
  149. </h3>
  150. <div class="text-#666 lh-24px">
  151. {{ item.subTitle }}
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. <div
  157. 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"
  158. >
  159. <NuxtLink to="/contact">
  160. Contact Us
  161. </NuxtLink>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. </template>
  168. <style lang='less' scoped>
  169. </style>