541 lines
14 KiB
Vue
541 lines
14 KiB
Vue
<template>
|
|
<div class="home-page relative overflow-hidden z-99 bg-[#ffffff]">
|
|
<div
|
|
class="fixed h-[100vh] left-[50%] translate-x-[-50%] z-1"
|
|
style="width: 586px; pointer-events: none; mix-blend-mode: multiply"
|
|
>
|
|
<img src="@/assets/image/content/line.png" class="w-[100%]" alt="" />
|
|
</div>
|
|
<div class="w-[100%] h-[720PX] z-[] top-0 absolute">
|
|
<div class="relative w-[100%] h-[100%]">
|
|
<img
|
|
src="@/assets/image/content/bg_10.png"
|
|
alt=""
|
|
class="w-[100vw] absolute top-[-90px]"
|
|
/>
|
|
<img
|
|
src="@/assets/image/content/bg_11.png"
|
|
alt=""
|
|
class="w-[100vw] h-[320PX] absolute bottom-0 lef-0 right-0 z-1"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="company-overview">
|
|
<!-- 公司概况 -->
|
|
<section
|
|
class="company-overview"
|
|
style="max-width: 586px; margin: 120px auto"
|
|
>
|
|
<h1 class="">
|
|
{{ $t("COMPANYOVERVIEW.TITLETWO.TITLE") }}
|
|
</h1>
|
|
<div class="content-block">
|
|
<div style="font-size: 16px; color: #455363">
|
|
{{ $t("COMPANYOVERVIEW.TITLETWO.CONTENT") }}
|
|
</div>
|
|
<!-- <p>{{ $t("COMPANYOVERVIEW.TITLETWO.CONTENTTWO") }}</p>
|
|
<p>{{ $t("COMPANYOVERVIEW.TITLETWO.CONTENTTHREE") }}</p> -->
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 使命愿景卡片 -->
|
|
<section class="mission-section">
|
|
<!-- <h1 class="section-title">
|
|
{{ $t("COMPANYOVERVIEW.TITLETHREE.TITLE") }}
|
|
</h1> -->
|
|
<div class="mission-cards">
|
|
<n-card hoverable class="mission-card" v-motion-pop>
|
|
<div>
|
|
<h1 class="mt-0">
|
|
{{ $t("COMPANYOVERVIEW.TITLETHREE.TITLE") }}
|
|
</h1>
|
|
</div>
|
|
<n-p style="font-size: 16px; color: #455363" class="card-content">{{
|
|
$t("COMPANYOVERVIEW.TITLETHREE.CONTENTTWO")
|
|
}}</n-p>
|
|
</n-card>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 里程碑时间轴 -->
|
|
<!-- 里程碑时间轴 -->
|
|
<section class="section timeline-section mt-[120PX]">
|
|
<h1 class="section-title">
|
|
{{ $t("COMPANYOVERVIEW.TITLEFOUR.TITLE") }}
|
|
</h1>
|
|
<div class="timeline">
|
|
<!-- 1977-2015 -->
|
|
<div class="timeline-item" v-motion-slide-visible-once-bottom>
|
|
<div class="timeline-dot"></div>
|
|
<div class="timeline-content">
|
|
<div class="text-[#FF7BAC] text-[16PX]">
|
|
{{ $t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADING").split(":")[0] }}
|
|
</div>
|
|
<n-h3 class="timeline-year">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADING").split(":")[1]
|
|
}}</n-h3>
|
|
<br />
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraph.ONE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraph.TWO")
|
|
}}</n-p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 2020 -->
|
|
<div class="timeline-item" v-motion-slide-visible-once-bottom>
|
|
<div class="timeline-dot"></div>
|
|
<div class="timeline-content">
|
|
<div class="text-[#FF7BAC] text-[16PX]">
|
|
{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTWO").split(":")[0]
|
|
}}
|
|
</div>
|
|
<n-h3 class="timeline-year">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTWO").split(":")[1]
|
|
}}</n-h3>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTwo.ONE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTwo.TWO")
|
|
}}</n-p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 2021 -->
|
|
<div class="timeline-item" v-motion-slide-visible-once-bottom>
|
|
<div class="timeline-dot"></div>
|
|
<div class="timeline-content">
|
|
<div class="text-[#FF7BAC] text-[16PX]">
|
|
{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTHREE").split(":")[0]
|
|
}}
|
|
</div>
|
|
<n-h3 class="timeline-year">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTHREE").split(":")[1]
|
|
}}</n-h3>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTHREE.ONE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTHREE.TWO")
|
|
}}</n-p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 2023-2024 -->
|
|
<div class="timeline-item" v-motion-slide-visible-once-bottom>
|
|
<div class="timeline-dot"></div>
|
|
<div class="timeline-content">
|
|
<div class="text-[#FF7BAC] text-[16PX]">
|
|
{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFOREFF").split(":")[0]
|
|
}}
|
|
</div>
|
|
<n-h3 class="timeline-year">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFOREFF").split(":")[1]
|
|
}}</n-h3>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFOUR.ONE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFOUR.TWO")
|
|
}}</n-p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 2025 -->
|
|
<div class="timeline-item" v-motion-slide-visible-once-bottom>
|
|
<div class="timeline-dot"></div>
|
|
<div class="timeline-content">
|
|
<div class="text-[#FF7BAC] text-[16PX]">
|
|
{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFIVE").split(":")[0]
|
|
}}
|
|
</div>
|
|
<n-h3 class="timeline-year">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFIVE").split(":")[1]
|
|
}}</n-h3>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.ONE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.TWO")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.THREE")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.FOUR")
|
|
}}</n-p>
|
|
<br />
|
|
|
|
<n-p style="font-size: 18px" class="timeline-desc">{{
|
|
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.FIVE")
|
|
}}</n-p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<!-- 成就部分 -->
|
|
|
|
<section
|
|
class="mission-section overflow-hidden relative z-99"
|
|
style="
|
|
width: 100vw;
|
|
/* padding: 0 40px; */
|
|
/* margin-top: 40px; */
|
|
background: linear-gradient(180deg, #e5ffff 0%, #fff8fb 100%);
|
|
"
|
|
>
|
|
<div
|
|
style="height: 190px; width: 500px"
|
|
class="m-[auto] my-[64px] flex flex-col items-center text-center"
|
|
>
|
|
<h1 class="">
|
|
{{ $t("COMPANYOVERVIEW.TITLEFIVE.TITLE") }}
|
|
</h1>
|
|
<!-- <div class="mission-cards">
|
|
<n-card hoverable class="mission-card" v-motion-pop>
|
|
<n-p style="font-size: 18px" class="card-content">{{
|
|
$t("COMPANYOVERVIEW.TITLEFIVE.CONTENT")
|
|
}}</n-p>
|
|
</n-card>
|
|
</div> -->
|
|
<div class="w-100% flex items-center justify-between">
|
|
<!-- <div class="flex items-center">
|
|
<div
|
|
class="bg-[#ffffff] rounded-[50%] flex justify-center items-center mr-[8px]"
|
|
>
|
|
<img
|
|
src="@/assets/image/content/left.png"
|
|
alt=""
|
|
class="w-[94PX] h-[94PX]"
|
|
/>
|
|
</div>
|
|
<img
|
|
src="@/assets/image/content/arrowhead_left.png"
|
|
alt=""
|
|
class="w-[95px]"
|
|
/>
|
|
</div> -->
|
|
<p style="font-size: 14px;" class="my-0 text-[#455363]">
|
|
{{ $t("COMPANYOVERVIEW.TITLEFIVE.CONTENT").replace("•", "") }}
|
|
</p>
|
|
<!-- <div class="flex items-center">
|
|
<img
|
|
src="@/assets/image/content/arrowhead_right.png"
|
|
alt=""
|
|
class="w-[95px]"
|
|
/>
|
|
<div
|
|
class="bg-[#ffffff] rounded-[50%] flex justify-center items-center ml-[8px]"
|
|
>
|
|
<img
|
|
src="@/assets/image/content/right.png"
|
|
alt=""
|
|
class="w-[94PX] h-[94PX]"
|
|
/>
|
|
</div>
|
|
</div> -->
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref } from "vue";
|
|
import { useI18n } from "vue-i18n";
|
|
const { t: $t } = useI18n();
|
|
|
|
const stats = ref([
|
|
{ number: "48+", labelKey: "COMPANYOVERVIEW.STATS.YEARS_IN_BUSINESS" },
|
|
{ number: "100+", labelKey: "COMPANYOVERVIEW.STATS.PATENTS" },
|
|
{ number: "Global", labelKey: "COMPANYOVERVIEW.STATS.FOOTPRINT" },
|
|
{ number: "NASDAQ", labelKey: "COMPANYOVERVIEW.STATS.LISTED_SINCE" },
|
|
]);
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.home-page {
|
|
background-size: 100% 100%;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
.company-overview {
|
|
width: 586PX;
|
|
margin: 0 auto;
|
|
padding: 0 10px;
|
|
z-index: 99;
|
|
position: relative;
|
|
/* padding: 0 20px; */
|
|
}
|
|
|
|
/* 顶部大图区域 */
|
|
.hero-section {
|
|
background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);
|
|
background-size: 400% 400%;
|
|
animation: gradientBG 15s ease infinite;
|
|
color: white;
|
|
padding: 120px 0;
|
|
text-align: center;
|
|
margin-bottom: 60px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.hero-title {
|
|
font-size: 40px;
|
|
margin-bottom: 20px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.hero-subtitle {
|
|
font-size: 1.5rem;
|
|
opacity: 0.9;
|
|
}
|
|
|
|
/* 通用部分样式 */
|
|
.section {
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 2.5rem;
|
|
margin-bottom: 30px;
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.section-title::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: -10px;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 60px;
|
|
height: 4px;
|
|
// background: linear-gradient(to right, #00ffff, #ff7bac);
|
|
background-color: #ff7bac;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.section-content {
|
|
font-size: 1.1rem;
|
|
line-height: 1.8;
|
|
margin-bottom: 20px;
|
|
color: var(--text-color-secondary);
|
|
}
|
|
|
|
/* 使命愿景卡片 */
|
|
.mission-section {
|
|
// margin: 80px 0;
|
|
// margin-top: 160px;
|
|
}
|
|
|
|
.mission-cards {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
gap: 30px;
|
|
}
|
|
|
|
.mission-card {
|
|
background: white;
|
|
padding: 40px 30px;
|
|
border-radius: 12px;
|
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
}
|
|
|
|
.mission-card:hover {
|
|
transform: translateY(-5px);
|
|
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
.card-title {
|
|
font-size: 1.5rem;
|
|
margin-bottom: 20px;
|
|
color: #895bff;
|
|
}
|
|
|
|
.card-content {
|
|
font-size: 1.05rem;
|
|
line-height: 1.7;
|
|
}
|
|
|
|
/* 时间轴样式 */
|
|
.timeline {
|
|
position: relative;
|
|
padding-left: 50px;
|
|
margin-top: 50px;
|
|
transform: translateX(-20px);
|
|
}
|
|
|
|
.timeline:before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 2%;
|
|
left: 10px;
|
|
height: 100%;
|
|
width: 2px;
|
|
/* background: linear-gradient(to bottom, #00ffff, #ff7bac); */
|
|
background: #ff7bac;
|
|
}
|
|
|
|
.timeline-item {
|
|
position: relative;
|
|
margin-bottom: 50px;
|
|
}
|
|
|
|
.timeline-item {
|
|
&:last-child:before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 2%;
|
|
left: -40px;
|
|
height: 110%;
|
|
width: 2px;
|
|
/* background: linear-gradient(to bottom, #00ffff, #ff7bac); */
|
|
background: #E6EAEE;
|
|
}
|
|
}
|
|
|
|
.timeline-dot {
|
|
position: absolute;
|
|
left: -50px;
|
|
top: 5px;
|
|
width: 22px;
|
|
height: 22px;
|
|
border-radius: 50%;
|
|
background: #ff7bac;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: white;
|
|
font-weight: bold;
|
|
box-shadow: 0 0 0 7px rgba(255, 123, 172, 0.2);
|
|
}
|
|
|
|
.timeline-year {
|
|
font-size: 1.4rem;
|
|
margin-bottom: 15px;
|
|
color: #000;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.timeline-desc {
|
|
font-size: 16PX !important;
|
|
line-height: 1.7;
|
|
color: #455363;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
/* 成就部分 */
|
|
.achievement-section {
|
|
background: #f9fafc;
|
|
padding: 60px;
|
|
border-radius: 12px;
|
|
margin: 80px 0;
|
|
}
|
|
|
|
.achievement-stats {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: 30px;
|
|
margin-top: 50px;
|
|
}
|
|
|
|
.stat-item {
|
|
text-align: center;
|
|
padding: 30px 20px;
|
|
background: white;
|
|
border-radius: 8px;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.stat-item:hover {
|
|
transform: translateY(-5px);
|
|
}
|
|
|
|
.stat-number {
|
|
font-size: 2.5rem;
|
|
color: #1a2a6c;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 1.1rem;
|
|
color: var(--text-color-secondary);
|
|
}
|
|
|
|
/* 动画 */
|
|
@keyframes gradientBG {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
/* 响应式设计 */
|
|
@media (max-width: 768px) {
|
|
// .hero-title {
|
|
// font-size: 2.5rem;
|
|
// }
|
|
|
|
// .hero-subtitle {
|
|
// font-size: 1.2rem;
|
|
// }
|
|
|
|
// .section-title {
|
|
// font-size: 1.8rem;
|
|
// }
|
|
|
|
// .timeline {
|
|
// padding-left: 30px;
|
|
// }
|
|
|
|
// .timeline-dot {
|
|
// left: -30px;
|
|
// // width: 30px;
|
|
// // height: 30px;
|
|
// }
|
|
|
|
// .achievement-section {
|
|
// padding: 40px 20px;
|
|
// }
|
|
}
|
|
</style>
|