123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <!-- @format -->
- <script lang="ts" setup>
- import solutionIcon01 from '~/assets/images/solutions_icon01.png'
- import solutionIcon02 from '~/assets/images/solutions_icon02.png'
- import solutionIcon03 from '~/assets/images/solutions_icon03.png'
- import solutionIcon04 from '~/assets/images/solutions_icon04.png'
- const solution = ref('ecommerce')
- const list = ref([
- {
- key: 'ecommerce',
- title: 'Ecommerce',
- description: 'Scale Smarter with Viral-Ready Products for Online Growth',
- list: [
- {
- title: 'Real-Time Trend Curation',
- img: solutionIcon01,
- subTitle:
- 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
- },
- {
- img: solutionIcon02,
- title: 'Real-Time Trend Curation',
- subTitle:
- 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
- },
- {
- img: solutionIcon03,
- title: 'Real-Time Trend Curation',
- subTitle:
- 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
- },
- {
- img: solutionIcon04,
- title: 'Real-Time Trend Curation',
- subTitle:
- 'Our team constantly monitors market shifts, viral demand, and emerging bestsellers to deliver high-potential products to you.',
- },
- ],
- },
- {
- key: 'brands',
- title: 'Brands & Distributors',
- description: 'Power Your Product Line with Trend Intelligence & Agile Supply',
- list: [
- {
- title: 'OEM/ODM Trend Support',
- img: solutionIcon01,
- subTitle:
- 'We provide trend-based design, packaging, and product development to help brands create unique, market-driven products.',
- },
- {
- img: solutionIcon02,
- title: 'Co-Branded Development',
- subTitle:
- 'Quick-turn co-branded collections to help brands launch exclusive, limited-edition products and increase market impact.',
- },
- {
- img: solutionIcon03,
- title: 'Flexible Logistic Solution',
- subTitle:
- 'Whether it’s bulk shipments, mixed containers, our flexible logistics solutions adapt to your business model and market goals.',
- },
- {
- img: solutionIcon04,
- title: 'Exclusive Channel Protection',
- subTitle:
- 'We protect your brand with exclusive regional rights, limited distribution agreements, and secure your market position.',
- },
- ],
- },
- {
- key: 'retailers',
- title: 'Retailers & Chain Stores',
- description: 'Upgrade Your Shelves with Trendy, High-Margin Products',
- list: [
- {
- title: 'Ready-to-Display Portfolios',
- img: solutionIcon01,
- subTitle:
- 'Curated product bundles that align with current trends, ready for effortless shelf display and enhanced retail appeal.',
- },
- {
- img: solutionIcon02,
- title: 'Trend-Aligned Launch Plan',
- subTitle:
- 'Tailored product launch plans based on market cycles to create a differentiated product portfolio that engages customers.',
- },
- {
- img: solutionIcon03,
- title: 'Store Display Solution',
- subTitle:
- 'Strategic display guides that show what to place where — helping your team position products by zone and boost visual appeal.',
- },
- {
- img: solutionIcon04,
- title: 'Go-to Market Support',
- subTitle:
- 'Customizable marketing assets to support both online and offline promotions — helping you boost visibility and drive sales.',
- },
- ],
- },
- ])
- const solutionList = computed(() => {
- return list.value.find((item: any) => item.key === solution.value)?.list
- })
- </script>
- <template>
- <div class="bg-#F3F4FB pt-250px pb-120px">
- <div class="w-1200-auto text-center">
- <h2 class="text-36px fw-800 text-#333 !mb-20px">
- Creative, Trend-Driven <span class="custom-title-bg">Solutions</span>
- </h2>
- <div class="text-#999 text-22px mb-40px">
- EJET SPARK FOR
- </div>
- <div class="flex gap-20px justify-center mb-60px">
- <div
- v-for="(item, index) in list"
- :key="index"
- class="py-12px px-30px b-rd-200px text-18px cursor-pointer hover:bg-#9B6CFF hover:text-#fff transition-all duration-300"
- :class="
- solution === item.key
- ? '!bg-#9B6CFF !text-#fff'
- : 'bg-#fff text-#767676'
- "
- @click="solution = item.key"
- >
- <div>{{ item.title }}</div>
- </div>
- </div>
- <div class="flex gap-120px text-left">
- <div class="b-rd-10px w-360px overflow-hidden">
- <img
- src="~/assets/images/solutions_img01.png"
- class="w-100% h-258px"
- alt=""
- >
- <div
- class="py-20px px-30px b-rd-tl-10px b-rd-tr-10px mt--60px bg-#fff pos-relative z-100"
- >
- <h3 class="text-24px fw-bold text-#333">
- {{ list.find(item => item.key === solution)?.title }}
- </h3>
- <div class="my-22px lh-24px text-#666">
- {{ list.find(item => item.key === solution)?.description }}
- </div>
- <el-button class="!bg-#fff !b-rd-6px !h-40px">
- <nuxt-link to="/solutions">
- View Catalogs
- </nuxt-link>
- </el-button>
- </div>
- </div>
- <div class="flex-1">
- <div class="grid grid-cols-2 gap-col-80px gap-row-50px">
- <div v-for="(item, index) in solutionList" :key="index">
- <img :src="item.img" class="w-50px h-50px" alt="" srcset="">
- <h4 class="!mt-20px !mb-10px text-#333 text-18px fw-800">
- {{ item.title }}
- </h4>
- <div class="text-#666 lh-24px">
- {{ item.subTitle }}
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </template>
- <style lang="less" scoped>
- .custom-title-bg{
- position: relative;
- display: inline-block;
- background: url(~/assets/images/title_bg.png);
- background-repeat: no-repeat;
- background-position: center 100%;
- background-size: 100% auto;
- padding-bottom: 8px;
- }
- </style>
|