solutions.vue 6.3 KB

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