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

230 lines
4.5 KiB
Vue
Raw Normal View History

2025-05-23 04:03:48 +00:00
<template>
<div class="home-page">
2025-05-23 05:29:23 +00:00
<div class="management-page">
<!-- 标题区 -->
<section class="leadership-header">
<div class="container">
<h1 class="page-title">Executive Leadership</h1>
<p class="page-subtitle">
Driving Innovation and Operational Excellence
</p>
</div>
</section>
<!-- 管理团队列表 -->
<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>
2025-05-23 04:03:48 +00:00
</div>
</div>
</template>
<script setup>
import { useI18n } from "vue-i18n";
2025-05-23 05:29:23 +00:00
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("");
};
2025-05-23 04:03:48 +00:00
</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 05:29:23 +00:00
/* 基础样式 */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 标题区 */
.leadership-header {
background: linear-gradient(135deg, #f9fbfe 0%, #e8f2ff 100%);
padding: 6rem 0 4rem;
2025-05-23 04:03:48 +00:00
text-align: center;
}
2025-05-23 05:29:23 +00:00
.page-title {
font-size: 2.5rem;
color: #2c3e50;
margin-bottom: 1rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.page-subtitle {
color: #6b7c93;
2025-05-23 04:03:48 +00:00
font-size: 1.1rem;
}
2025-05-23 05:29:23 +00:00
/* 管理团队网格 */
.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;
2025-05-23 04:03:48 +00:00
color: #895bff;
}
2025-05-23 05:29:23 +00:00
.profile-info {
color: white;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.leader-name {
font-size: 1.6rem;
margin-bottom: 0.5rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.leader-position {
font-size: 1rem;
opacity: 0.9;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 内容区 */
.card-content {
padding: 2rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.content-section {
margin-bottom: 1.5rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.content-section p {
color: #5a6d80;
line-height: 1.7;
font-size: 0.95rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 动画 */
@keyframes cardEnter {
to {
opacity: 1;
transform: translateY(0);
}
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 响应式 */
@media (max-width: 768px) {
.leadership-grid {
grid-template-columns: 1fr;
}
.leader-card {
margin: 0 1rem;
}
2025-05-23 04:03:48 +00:00
}
</style>