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

272 lines
5.2 KiB
Vue
Raw Normal View History

2025-05-23 04:03:48 +00:00
<template>
<div class="home-page">
2025-05-23 12:02:35 +00:00
<div class="">
2025-05-23 04:03:48 +00:00
<!-- 标题区 -->
2025-05-23 12:02:35 +00:00
<div class="company-overview">
<div class="hero-section">
<transition name="fade-up" appear>
<n-h1 class="hero-title"
>FiEE, Inc. has a team of capable senior management with extensive
professional experience</n-h1
>
</transition>
2025-05-23 04:03:48 +00:00
</div>
2025-05-23 12:02:35 +00:00
</div>
2025-05-23 04:03:48 +00:00
<!-- 管理团队列表 -->
<main class="container">
<div class="leadership-grid">
<!-- 每个高管卡片 -->
<div
v-for="(leader, index) in leadershipTeam"
:key="index"
class="leader-card"
:style="{ '--delay': index * 0.2 + 's' }"
>
<!-- 卡片上半部 -->
<div class="card-profile">
<div class="avatar-wrapper">
<div class="decorative-dot"></div>
<div class="initials">{{ getInitials(leader.name) }}</div>
</div>
<div class="profile-info">
<h2 class="leader-name">{{ leader.name }}</h2>
<p class="leader-position">{{ leader.position }}</p>
</div>
</div>
<!-- 卡片下半部 -->
<div class="card-content">
<div
class="content-section"
v-for="(content, cIndex) in leader.content"
:key="cIndex"
>
<p>{{ content }}</p>
</div>
</div>
</div>
</div>
</main>
</div>
</div>
</template>
<script setup>
import { useI18n } from "vue-i18n";
import { computed } from "vue";
const { t } = useI18n();
const leadershipTeam = computed(() => [
{
name: t("MANAGEMENT.ONE.TITLE"),
position: t("MANAGEMENT.ONE.TITLETWO"),
content: [
t("MANAGEMENT.ONE.CONTENT"),
t("MANAGEMENT.ONE.CONTENTTWO"),
t("MANAGEMENT.ONE.CONTENTTHREE"),
],
},
{
name: t("MANAGEMENT.TWO.TITLE"),
position: t("MANAGEMENT.TWO.TITLETWO"),
content: [t("MANAGEMENT.TWO.CONTENTONE"), t("MANAGEMENT.TWO.CONTENTTWO")],
},
]);
const getInitials = (name) => {
return name
.split(" ")
.map((n) => n[0])
.join("");
};
</script>
<style scoped>
.home-page {
background-image: url("@/assets/image/bg.png");
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
}
2025-05-23 12:02:35 +00:00
.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;
}
/* 动画 */
@keyframes gradientBG {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.hero-title {
font-size: 40px;
margin-bottom: 20px;
font-weight: 700;
}
.hero-subtitle {
font-size: 1.5rem;
opacity: 0.9;
}
2025-05-23 04:03:48 +00:00
/* 基础样式 */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
}
/* 标题区 */
.leadership-header {
background: linear-gradient(135deg, #f9fbfe 0%, #e8f2ff 100%);
padding: 6rem 0 4rem;
text-align: center;
}
.page-title {
font-size: 2.5rem;
color: #2c3e50;
margin-bottom: 1rem;
}
.page-subtitle {
color: #6b7c93;
font-size: 1.1rem;
}
/* 管理团队网格 */
.leadership-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
padding: 4rem 0;
}
/* 高管卡片 */
.leader-card {
background: white;
border-radius: 20px;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
overflow: hidden;
transform: translateY(20px);
opacity: 0;
animation: cardEnter 0.6s ease forwards;
animation-delay: var(--delay);
transition: transform 0.3s ease;
}
.leader-card:hover {
transform: translateY(-5px);
}
/* 个人资料区 */
.card-profile {
padding: 2rem;
background: linear-gradient(
135deg,
#7a4dff 0%,
#895bff 100%
); /* 主色调接近 #895bff */
position: relative;
}
.avatar-wrapper {
position: relative;
width: 80px;
height: 80px;
margin-bottom: 1.5rem;
}
.decorative-dot {
position: absolute;
width: 20px;
height: 20px;
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
top: -10px;
right: -10px;
}
.initials {
width: 100%;
height: 100%;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.8rem;
font-weight: bold;
color: #895bff;
}
.profile-info {
color: white;
}
.leader-name {
font-size: 1.6rem;
margin-bottom: 0.5rem;
}
.leader-position {
font-size: 1rem;
opacity: 0.9;
}
/* 内容区 */
.card-content {
padding: 2rem;
}
.content-section {
margin-bottom: 1.5rem;
}
.content-section p {
color: #5a6d80;
line-height: 1.7;
font-size: 0.95rem;
}
/* 动画 */
@keyframes cardEnter {
to {
opacity: 1;
transform: translateY(0);
}
}
/* 响应式 */
@media (max-width: 768px) {
.leadership-grid {
grid-template-columns: 1fr;
}
.leader-card {
margin: 0 1rem;
}
}
</style>