fiee-official-website/src/views/companyoverview/size1920/index.vue

427 lines
10 KiB
Vue
Raw Normal View History

2025-05-23 04:03:48 +00:00
<template>
<div class="home-page">
<div class="company-overview">
<!-- 顶部大图区域 -->
<div class="hero-section">
<transition name="fade-up" appear>
<n-h1 class="hero-title">{{
$t("COMPANYOVERVIEW.TITLETWO.TITLE")
}}</n-h1>
</transition>
<transition name="fade-up" appear>
<n-p class="hero-subtitle">
{{ $t("COMPANYOVERVIEW.HERO_SUBTITLE") }}
</n-p>
</transition>
</div>
<!-- 公司简介部分 -->
<section class="section intro-section">
<n-h2 class="section-title">{{
$t("COMPANYOVERVIEW.INTRO_TITLE")
}}</n-h2>
<n-p class="section-content">{{
$t("COMPANYOVERVIEW.TITLETWO.CONTENT")
}}</n-p>
<n-p class="section-content">{{
$t("COMPANYOVERVIEW.TITLETWO.CONTENTTWO")
}}</n-p>
<n-p class="section-content">{{
$t("COMPANYOVERVIEW.TITLETWO.CONTENTTHREE")
}}</n-p>
</section>
<!-- 使命愿景卡片 -->
<section class="mission-section">
<div class="mission-cards">
<n-card hoverable class="mission-card" v-motion-pop>
<n-h3 class="card-title">{{
$t("COMPANYOVERVIEW.MISSION_TITLE")
}}</n-h3>
<n-p class="card-content">{{
$t("COMPANYOVERVIEW.TITLETHREE.CONTENT")
}}</n-p>
</n-card>
<n-card hoverable class="mission-card" v-motion-pop>
<n-h3 class="card-title">{{
$t("COMPANYOVERVIEW.VISION_TITLE")
}}</n-h3>
<n-p class="card-content">{{
$t("COMPANYOVERVIEW.TITLETHREE.CONTENTTWO")
}}</n-p>
</n-card>
</div>
</section>
<!-- 里程碑时间轴 -->
<!-- 里程碑时间轴 -->
<section class="section timeline-section">
<n-h2 class="section-title">{{
$t("COMPANYOVERVIEW.TITLEFOUR.TITLE")
}}</n-h2>
<div class="timeline">
<!-- 1977-2015 -->
<div class="timeline-item" v-motion-slide-visible-once-bottom>
<div class="timeline-dot"></div>
<div class="timeline-content">
<n-h3 class="timeline-year">{{
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADING")
}}</n-h3>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraph.ONE")
}}</n-p>
<n-p 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">
<n-h3 class="timeline-year">{{
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTWO")
}}</n-h3>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTwo.ONE")
}}</n-p>
<n-p 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">
<n-h3 class="timeline-year">{{
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGTHREE")
}}</n-h3>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphTHREE.ONE")
}}</n-p>
<n-p 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">
<n-h3 class="timeline-year">{{
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFOREFF")
}}</n-h3>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFOUR.ONE")
}}</n-p>
<n-p 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">
<n-h3 class="timeline-year">{{
$t("COMPANYOVERVIEW.TITLEFOUR.SUBHEADINGFIVE")
}}</n-h3>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.ONE")
}}</n-p>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.TWO")
}}</n-p>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.THREE")
}}</n-p>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.FOUR")
}}</n-p>
<n-p class="timeline-desc">{{
$t("COMPANYOVERVIEW.TITLEFOUR.paragraphFIVE.FIVE")
}}</n-p>
</div>
</div>
</div>
</section>
<!-- 成就部分 -->
<section class="achievement-section" v-motion-fade>
<n-h2 class="section-title">{{
$t("COMPANYOVERVIEW.TITLEFIVE.TITLE")
}}</n-h2>
<n-p class="section-content">{{
$t("COMPANYOVERVIEW.TITLEFIVE.CONTENT")
}}</n-p>
<div class="achievement-stats">
<n-statistic
v-for="(stat, index) in stats"
:key="index"
class="stat-item"
v-motion-slide-visible-once-bottom
:style="{ '--delay': index * 0.1 + 's' }"
>
<template #label>{{ $t(stat.labelKey) }}</template>
{{ stat.number }}
</n-statistic>
</div>
</section>
</div>
</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>
.home-page {
background-image: url("@/assets/image/bg.png");
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
}
.company-overview {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
color: var(--text-color);
}
/* 顶部大图区域 */
.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: 3.5rem;
margin-bottom: 20px;
font-weight: 700;
}
.hero-subtitle {
font-size: 1.5rem;
opacity: 0.9;
}
/* 通用部分样式 */
.section {
margin-bottom: 80px;
}
.section-title {
font-size: 2.2rem;
margin-bottom: 30px;
position: relative;
display: inline-block;
}
.section-title:after {
content: "";
position: absolute;
bottom: -10px;
left: 0;
width: 60px;
height: 4px;
background: linear-gradient(to right, #1a2a6c, #fdbb2d);
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;
}
.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;
}
.timeline:before {
content: "";
position: absolute;
top: 0;
left: 20px;
height: 100%;
width: 4px;
background: linear-gradient(to bottom, #895bff, #fdbb2d);
}
.timeline-item {
position: relative;
margin-bottom: 50px;
}
.timeline-dot {
position: absolute;
left: -50px;
top: 5px;
width: 40px;
height: 40px;
border-radius: 50%;
background: #895bff;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: bold;
box-shadow: 0 0 0 6px rgba(26, 42, 108, 0.2);
}
.timeline-year {
font-size: 1.4rem;
margin-bottom: 15px;
color: #1a2a6c;
}
.timeline-desc {
font-size: 1.05rem;
line-height: 1.7;
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>