|
@@ -11,49 +11,107 @@ const list = ref([
|
|
{
|
|
{
|
|
key: 'ecommerce',
|
|
key: 'ecommerce',
|
|
title: 'Ecommerce',
|
|
title: 'Ecommerce',
|
|
- },
|
|
|
|
- {
|
|
|
|
- key: 'brands',
|
|
|
|
- title: 'Brands',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- key: 'retailers',
|
|
|
|
- title: 'Retailers',
|
|
|
|
- },
|
|
|
|
-])
|
|
|
|
-const solutions = ref([
|
|
|
|
- {
|
|
|
|
- title: 'Real-Time Trend Curation',
|
|
|
|
- img: solutionIcon01,
|
|
|
|
- subTitle:
|
|
|
|
|
|
+ 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.',
|
|
'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:
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ 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.',
|
|
'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.',
|
|
|
|
|
|
+ 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.',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- 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: '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>
|
|
</script>
|
|
|
|
|
|
<template>
|
|
<template>
|
|
<div class="bg-#F3F4FB pt-250px pb-120px">
|
|
<div class="bg-#F3F4FB pt-250px pb-120px">
|
|
<div class="w-1200-auto text-center">
|
|
<div class="w-1200-auto text-center">
|
|
<h2 class="text-36px fw-800 text-#333 !mb-20px">
|
|
<h2 class="text-36px fw-800 text-#333 !mb-20px">
|
|
- Creative, Trend-Driven Solutions
|
|
|
|
|
|
+ Creative, Trend-Driven <span class="custom-title-bg">Solutions</span>
|
|
</h2>
|
|
</h2>
|
|
<div class="text-#999 text-22px mb-40px">
|
|
<div class="text-#999 text-22px mb-40px">
|
|
EJET SPARK FOR
|
|
EJET SPARK FOR
|
|
@@ -62,7 +120,7 @@ const solutions = ref([
|
|
<div
|
|
<div
|
|
v-for="(item, index) in list"
|
|
v-for="(item, index) in list"
|
|
:key="index"
|
|
:key="index"
|
|
- class="py-12px w-170px b-rd-200px text-18px cursor-pointer hover:bg-#9B6CFF hover:text-#fff transition-all duration-300"
|
|
|
|
|
|
+ class="py-12px px-30px b-rd-200px text-18px cursor-pointer hover:bg-#9B6CFF hover:text-#fff transition-all duration-300"
|
|
:class="
|
|
:class="
|
|
solution === item.key
|
|
solution === item.key
|
|
? '!bg-#9B6CFF !text-#fff'
|
|
? '!bg-#9B6CFF !text-#fff'
|
|
@@ -84,10 +142,10 @@ const solutions = ref([
|
|
class="py-20px px-30px b-rd-tl-10px b-rd-tr-10px mt--60px bg-#fff pos-relative z-100"
|
|
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">
|
|
<h3 class="text-24px fw-bold text-#333">
|
|
- Ecommerce
|
|
|
|
|
|
+ {{ list.find(item => item.key === solution)?.title }}
|
|
</h3>
|
|
</h3>
|
|
<div class="my-22px lh-24px text-#666">
|
|
<div class="my-22px lh-24px text-#666">
|
|
- Scale Smarter with Viral-Ready Products for Online Growth
|
|
|
|
|
|
+ {{ list.find(item => item.key === solution)?.description }}
|
|
</div>
|
|
</div>
|
|
<el-button class="!bg-#fff !b-rd-6px !h-40px">
|
|
<el-button class="!bg-#fff !b-rd-6px !h-40px">
|
|
<nuxt-link to="/solutions">
|
|
<nuxt-link to="/solutions">
|
|
@@ -98,7 +156,7 @@ const solutions = ref([
|
|
</div>
|
|
</div>
|
|
<div class="flex-1">
|
|
<div class="flex-1">
|
|
<div class="grid grid-cols-2 gap-col-80px gap-row-50px">
|
|
<div class="grid grid-cols-2 gap-col-80px gap-row-50px">
|
|
- <div v-for="(item, index) in solutions" :key="index">
|
|
|
|
|
|
+ <div v-for="(item, index) in solutionList" :key="index">
|
|
<img :src="item.img" class="w-50px h-50px" alt="" srcset="">
|
|
<img :src="item.img" class="w-50px h-50px" alt="" srcset="">
|
|
<h4 class="!mt-20px !mb-10px text-#333 text-18px fw-800">
|
|
<h4 class="!mt-20px !mb-10px text-#333 text-18px fw-800">
|
|
{{ item.title }}
|
|
{{ item.title }}
|
|
@@ -114,4 +172,14 @@ const solutions = ref([
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
-<style lang="less" scoped></style>
|
|
|
|
|
|
+<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>
|