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

319 lines
5.7 KiB
Vue
Raw Normal View History

2025-05-23 04:03:48 +00:00
<template>
<div class="home-page">
2025-05-26 02:38:31 +00:00
<div class="">
2025-05-23 05:29:23 +00:00
<!-- 标题区 -->
2025-05-26 02:38:31 +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 05:29:23 +00:00
</div>
2025-05-26 02:38:31 +00:00
</div>
2025-05-23 05:29:23 +00:00
<!-- 管理团队列表 -->
<main class="container">
<div class="leadership-grid">
<!-- 每个高管卡片 -->
<div
v-for="(leader, index) in leadershipTeam"
2025-05-26 02:38:31 +00:00
:key="index"
2025-05-23 05:29:23 +00:00
class="leader-card"
2025-05-26 02:38:31 +00:00
:style="{ '--delay': index * 0.2 + 's' }"
2025-05-23 05:29:23 +00:00
>
<!-- 卡片上半部 -->
<div class="card-profile">
<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")],
},
]);
2025-05-26 02:38:31 +00:00
const getInitials = (name) => {
return name
.split(" ")
.map((n) => n[0])
.join("");
};
2025-05-23 04:03:48 +00:00
</script>
<style scoped>
2025-05-23 07:32:12 +00:00
:root {
2025-05-26 02:38:31 +00:00
--text-color: #333;
2025-05-23 07:32:12 +00:00
--primary-color: #895bff;
2025-05-23 04:03:48 +00:00
}
2025-05-23 07:32:12 +00:00
2025-05-26 02:38:31 +00:00
.home-page {
background-image: url("@/assets/image/bg.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.company-overview {
max-width: 100%;
margin: 0 auto;
padding: 0 1rem;
color: var(--text-color);
2025-05-23 04:03:48 +00:00
}
2025-05-26 02:38:31 +00:00
/* 顶部大图区域 */
.hero-section {
background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);
background-size: 400% 400%;
animation: gradientBG 15s ease infinite;
color: white;
padding: 80px 20px;
2025-05-23 04:03:48 +00:00
text-align: center;
2025-05-26 02:38:31 +00:00
margin: 2rem 0 3rem;
border-radius: 8px;
2025-05-23 04:03:48 +00:00
}
2025-05-26 02:38:31 +00:00
/* 动画 */
@keyframes gradientBG {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.hero-title {
font-size: clamp(1.5rem, 4vw, 2.5rem);
margin-bottom: 1rem;
font-weight: 700;
2025-05-23 07:32:12 +00:00
line-height: 1.3;
2025-05-23 04:03:48 +00:00
}
2025-05-26 02:38:31 +00:00
.hero-subtitle {
font-size: clamp(1rem, 2vw, 1.5rem);
opacity: 0.9;
}
/* 基础样式 */
.container {
margin: 0 auto;
padding: 0 1rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 管理团队网格 */
.leadership-grid {
display: grid;
2025-05-23 07:32:12 +00:00
grid-template-columns: 1fr;
gap: 1.5rem;
2025-05-26 02:38:31 +00:00
padding: 2rem 0;
2025-05-23 05:29:23 +00:00
}
/* 高管卡片 */
.leader-card {
background: white;
2025-05-26 02:38:31 +00:00
border-radius: 16px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
2025-05-23 05:29:23 +00:00
overflow: hidden;
transform: translateY(20px);
opacity: 0;
2025-05-26 02:38:31 +00:00
animation: cardEnter 0.6s ease forwards;
2025-05-23 05:29:23 +00:00
animation-delay: var(--delay);
transition: transform 0.3s ease;
2025-05-26 02:38:31 +00:00
margin: 0;
2025-05-23 05:29:23 +00:00
}
.leader-card:hover {
2025-05-26 02:38:31 +00:00
transform: translateY(-5px);
2025-05-23 05:29:23 +00:00
}
/* 个人资料区 */
.card-profile {
2025-05-26 02:38:31 +00:00
padding: 1.5rem;
background: linear-gradient(135deg, #7a4dff 0%, #895bff 100%);
2025-05-23 05:29:23 +00:00
position: relative;
}
.avatar-wrapper {
position: relative;
2025-05-26 02:38:31 +00:00
width: 60px;
height: 60px;
margin-bottom: 1rem;
2025-05-23 05:29:23 +00:00
}
.decorative-dot {
position: absolute;
2025-05-23 07:32:12 +00:00
width: 16px;
height: 16px;
2025-05-23 05:29:23 +00:00
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
2025-05-26 02:38:31 +00:00
top: -8px;
2025-05-23 07:32:12 +00:00
right: -8px;
2025-05-23 05:29:23 +00:00
}
.initials {
2025-05-26 02:38:31 +00:00
width: 100%;
2025-05-23 08:52:24 +00:00
height: 100%;
2025-05-23 05:29:23 +00:00
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
2025-05-23 07:32:12 +00:00
font-size: 1.5rem;
2025-05-23 05:29:23 +00:00
font-weight: bold;
2025-05-26 02:38:31 +00:00
color: #895bff;
2025-05-23 04:03:48 +00:00
}
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 {
2025-05-26 02:38:31 +00:00
font-size: 1.3rem;
margin-bottom: 0.3rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.leader-position {
2025-05-26 02:38:31 +00:00
font-size: 0.9rem;
2025-05-23 05:29:23 +00:00
opacity: 0.9;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
/* 内容区 */
.card-content {
2025-05-23 07:32:12 +00:00
padding: 1.5rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.content-section {
2025-05-26 02:38:31 +00:00
margin-bottom: 1rem;
2025-05-23 04:03:48 +00:00
}
2025-05-23 05:29:23 +00:00
.content-section p {
2025-05-26 02:38:31 +00:00
color: #5a6d80;
line-height: 1.6;
2025-05-23 07:32:12 +00:00
font-size: 0.9rem;
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-26 02:38:31 +00:00
/* 响应式设计 - 中屏幕 */
@media (min-width: 768px) {
.company-overview {
padding: 0 2rem;
}
.hero-section {
padding: 100px 0;
margin: 3rem 0 4rem;
}
.hero-title {
font-size: 2.5rem;
}
.leadership-grid {
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 2rem;
padding: 3rem 0;
}
.leader-card {
border-radius: 20px;
}
.card-profile {
padding: 2rem;
}
.avatar-wrapper {
width: 80px;
height: 80px;
margin-bottom: 1.5rem;
}
.decorative-dot {
width: 20px;
height: 20px;
top: -10px;
right: -10px;
}
.initials {
font-size: 1.8rem;
}
.leader-name {
font-size: 1.6rem;
}
.leader-position {
font-size: 1rem;
}
.card-content {
padding: 2rem;
}
.content-section {
margin-bottom: 1.5rem;
}
.content-section p {
font-size: 0.95rem;
}
}
/* 响应式设计 - 大屏幕 */
@media (min-width: 1024px) {
.leadership-grid {
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
}
2025-05-23 04:03:48 +00:00
</style>