2025-02-21 02:09:59 +00:00
|
|
|
|
<template>
|
|
|
|
|
<div class="page-container">
|
2025-02-22 11:07:59 +00:00
|
|
|
|
<n-divider class="divider1" vertical />
|
|
|
|
|
<n-divider class="divider5" vertical />
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<header className="header flex items-center justify-between">
|
|
|
|
|
<div class="logo">
|
|
|
|
|
<img src="@/assets/image/logo.png" alt="logo" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tabs">
|
|
|
|
|
<div
|
|
|
|
|
class="tab-item"
|
|
|
|
|
:class="{ active: currentTab === 'home' }"
|
|
|
|
|
@click="handleTabClick('home')"
|
|
|
|
|
>
|
2025-02-26 09:15:36 +00:00
|
|
|
|
{{ t("home.nav.home") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="tab-item"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
:class="{ active: currentTab === 'companyprofil' }"
|
|
|
|
|
@click="handleTabClick('companyprofil')"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-26 09:15:36 +00:00
|
|
|
|
{{ t("home.nav.company") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
class="tab-item"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
:class="{ active: currentTab === 'businessintroduction' }"
|
|
|
|
|
@click="handleTabClick('businessintroduction')"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-26 09:15:36 +00:00
|
|
|
|
{{ t("home.nav.businessintroduction") }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tab-item" @click="handleLanguageChange">
|
|
|
|
|
{{ currentLanguageLabel }}
|
|
|
|
|
<img
|
|
|
|
|
src="@/assets/image/home/768/icon-language.png"
|
|
|
|
|
alt="language"
|
|
|
|
|
class="w-[18px] ml-[13px]"
|
|
|
|
|
/>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</header>
|
2025-02-26 09:15:36 +00:00
|
|
|
|
<!-- 语言选择模态框 - 使用纯div实现 -->
|
|
|
|
|
<div
|
|
|
|
|
v-if="showLanguageModal"
|
|
|
|
|
class="language-modal"
|
|
|
|
|
@touchmove.prevent.stop
|
|
|
|
|
>
|
|
|
|
|
<div class="language-modal-backdrop" @click="closeLanguageModal"></div>
|
|
|
|
|
<div class="language-modal-content">
|
|
|
|
|
<div class="modal-header font-semibold flex items-center">
|
|
|
|
|
{{ t("home.nav.please_select") }}
|
|
|
|
|
<img
|
|
|
|
|
src="@/assets/image/home/375/icon-close.png"
|
|
|
|
|
alt="close"
|
|
|
|
|
class="close-btn w-[51px]"
|
|
|
|
|
@click="closeLanguageModal"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="language-modal-body" @wheel.stop @touchmove.stop>
|
|
|
|
|
<div
|
|
|
|
|
v-for="option in languageOptions"
|
|
|
|
|
:key="option.value"
|
|
|
|
|
class="language-option"
|
|
|
|
|
:class="{ active: selectedLanguage === option.value }"
|
|
|
|
|
@click="selectedLanguage = option.value"
|
|
|
|
|
>
|
|
|
|
|
{{ option.label }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="language-modal-footer">
|
|
|
|
|
<button class="confirm-btn" @click="confirmLanguageChange">
|
|
|
|
|
{{ t("home.nav.confirm_select") }}
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-02-21 03:12:53 +00:00
|
|
|
|
<main>
|
|
|
|
|
<section
|
|
|
|
|
className="section-first"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
v-if="state.pageTitleNo === '1'"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
style="background: #fff"
|
|
|
|
|
>
|
|
|
|
|
<div class="flex flex-wrap justify-center">
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full title mt-[298px] px-[180px] text-center">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article1.title") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full text-center mt-[28px] text-[#455363] text-[40px]">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article1.date") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="mt-[63px] overflow-hidden">
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<img
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-[1625px] h-[1003px]"
|
2025-02-21 12:47:40 +00:00
|
|
|
|
src="@/assets/image/companyprofil/768/carouselShow-1.png"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-full px-[188px] text-[#455363] text-[40px] div-indent mt-[118px] mb-[275px]"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-22 14:03:20 +00:00
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[0]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[1]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[2]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[3]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[4]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[5]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[6]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[7]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[8]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article1.content[9]") }}</div>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
2025-02-21 03:12:53 +00:00
|
|
|
|
<section
|
|
|
|
|
className="section-sec"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
v-if="state.pageTitleNo === '2'"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
style="background: #fff"
|
|
|
|
|
>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<div class="flex flex-wrap justify-center">
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full title mt-[298px] px-[180px] text-center">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article2.title") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full text-center mt-[28px] text-[#455363] text-[40px]">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article2.date") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="mt-[63px] overflow-hidden">
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<img
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-[1625px] h-[1003px]"
|
2025-02-21 12:47:40 +00:00
|
|
|
|
src="@/assets/image/companyprofil/768/carouselShow-2.png"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
/>
|
|
|
|
|
</div>
|
2025-02-21 03:12:53 +00:00
|
|
|
|
<div
|
|
|
|
|
class="w-full px-[188px] text-[#455363] text-[40px] div-indent mt-[118px] mb-[275px]"
|
|
|
|
|
>
|
2025-02-22 14:03:20 +00:00
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[0]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[1]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[2]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[3]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[4]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[5]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[6]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article2.content[7]") }}</div>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
2025-02-21 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
<section
|
|
|
|
|
className="section-third"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
v-if="state.pageTitleNo === '3'"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
style="background: #fff"
|
|
|
|
|
>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<div class="flex flex-wrap justify-center">
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full title mt-[298px] px-[180px] text-center">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article3.title") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full text-center mt-[28px] text-[#455363] text-[40px]">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article3.date") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="mt-[63px] overflow-hidden">
|
2025-02-21 03:12:53 +00:00
|
|
|
|
<img
|
|
|
|
|
class="w-[1625px] h-[1003px]"
|
2025-02-21 12:47:40 +00:00
|
|
|
|
src="@/assets/image/companyprofil/768/carouselShow-3.png"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
/>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-full px-[188px] text-[#455363] text-[40px] div-indent mt-[118px] mb-[275px]"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-22 14:03:20 +00:00
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[0]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[1]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[2]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[3]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[4]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[5]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[6]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[7]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article3.content[8]") }}</div>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 03:12:53 +00:00
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<section
|
|
|
|
|
className="section-four"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
v-if="state.pageTitleNo === '4'"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
style="background: #fff"
|
|
|
|
|
>
|
|
|
|
|
<div class="flex flex-wrap justify-center">
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full title mt-[298px] px-[180px] text-center">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article4.title") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full text-center mt-[28px] text-[#455363] text-[40px]">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article4.date") }}
|
2025-02-21 03:12:53 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="mt-[63px] overflow-hidden">
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<img
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-[1625px] h-[1003px]"
|
2025-02-21 12:47:40 +00:00
|
|
|
|
src="@/assets/image/companyprofil/768/carouselShow-4.png"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-full px-[188px] text-[#455363] text-[40px] div-indent mt-[118px] mb-[275px]"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-22 14:03:20 +00:00
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[0]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[1]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[2]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[3]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[4]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[5]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[6]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[7]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article4.content[8]") }}</div>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
2025-02-21 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
<section
|
|
|
|
|
className="section-five"
|
2025-02-22 09:37:27 +00:00
|
|
|
|
v-if="state.pageTitleNo === '5'"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
style="background: #fff"
|
|
|
|
|
>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
<div class="flex flex-wrap justify-center">
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full title mt-[298px] px-[180px] text-center">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article5.title") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="w-full text-center mt-[28px] text-[#455363] text-[40px]">
|
2025-02-22 14:03:20 +00:00
|
|
|
|
{{ $t("companyprofildetail.article5.date") }}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
2025-02-21 12:47:40 +00:00
|
|
|
|
<div class="mt-[63px] overflow-hidden">
|
2025-02-21 03:12:53 +00:00
|
|
|
|
<img
|
|
|
|
|
class="w-[1625px] h-[1003px]"
|
2025-02-21 12:47:40 +00:00
|
|
|
|
src="@/assets/image/companyprofil/768/carouselShow-5.png"
|
2025-02-21 03:12:53 +00:00
|
|
|
|
/>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div
|
2025-02-21 03:12:53 +00:00
|
|
|
|
class="w-full px-[188px] text-[#455363] text-[40px] div-indent mt-[118px] mb-[275px]"
|
2025-02-21 02:09:59 +00:00
|
|
|
|
>
|
2025-02-22 14:03:20 +00:00
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[0]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[1]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[2]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[3]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[4]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[5]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[6]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[7]") }}</div>
|
|
|
|
|
<div>{{ $t("companyprofildetail.article5.content[8]") }}</div>
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<section
|
|
|
|
|
style="background: #fff"
|
|
|
|
|
className="flex flex-wrap justify-center"
|
|
|
|
|
>
|
|
|
|
|
<img
|
|
|
|
|
class="w-[580px] h-[55px] my-[85px]"
|
|
|
|
|
src="@/assets/image/image-footer.png"
|
|
|
|
|
alt="logo"
|
|
|
|
|
/>
|
|
|
|
|
</section>
|
|
|
|
|
</main>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2025-02-22 11:07:59 +00:00
|
|
|
|
import { NDivider } from "naive-ui";
|
2025-02-21 03:12:53 +00:00
|
|
|
|
import {
|
|
|
|
|
onUnmounted,
|
|
|
|
|
ref,
|
|
|
|
|
onMounted,
|
|
|
|
|
reactive,
|
|
|
|
|
nextTick,
|
2025-02-26 09:15:36 +00:00
|
|
|
|
watch,
|
2025-02-21 03:12:53 +00:00
|
|
|
|
onBeforeMount,
|
|
|
|
|
} from "vue";
|
2025-02-21 02:09:59 +00:00
|
|
|
|
import { useHome } from "@/store/home/index.js";
|
|
|
|
|
const state = reactive({
|
2025-02-22 09:37:27 +00:00
|
|
|
|
pageTitleNo: "",
|
2025-02-21 02:09:59 +00:00
|
|
|
|
});
|
2025-02-22 10:30:42 +00:00
|
|
|
|
import { useRoute, useRouter } from "vue-router";
|
2025-02-26 09:15:36 +00:00
|
|
|
|
import { useI18n } from "vue-i18n";
|
|
|
|
|
const { t } = useI18n();
|
2025-02-22 10:30:42 +00:00
|
|
|
|
const router = useRouter();
|
2025-02-21 03:12:53 +00:00
|
|
|
|
const route = useRoute();
|
2025-02-22 10:30:42 +00:00
|
|
|
|
const { currentTab } = useHome();
|
2025-02-26 09:15:36 +00:00
|
|
|
|
import { useLanguage } from "@/utils/changeLanguage.js";
|
|
|
|
|
const {
|
|
|
|
|
languageOptions,
|
|
|
|
|
currentLanguageLabel,
|
|
|
|
|
changeLanguage,
|
|
|
|
|
initLanguage,
|
|
|
|
|
currentLang,
|
|
|
|
|
} = useLanguage();
|
|
|
|
|
|
2025-02-21 03:12:53 +00:00
|
|
|
|
onBeforeMount(() => {
|
2025-02-22 09:37:27 +00:00
|
|
|
|
state.pageTitleNo = route.query.titleNo;
|
2025-02-21 02:09:59 +00:00
|
|
|
|
});
|
2025-02-21 03:12:53 +00:00
|
|
|
|
onMounted(() => {});
|
|
|
|
|
onUnmounted(() => {});
|
2025-02-22 10:30:42 +00:00
|
|
|
|
const handleTabClick = (tab) => {
|
|
|
|
|
currentTab.value = tab;
|
|
|
|
|
router.push("/" + tab);
|
|
|
|
|
};
|
2025-02-26 09:15:36 +00:00
|
|
|
|
|
|
|
|
|
// 语言选择模态框相关变量
|
|
|
|
|
const showLanguageModal = ref(false);
|
|
|
|
|
// 默认选中的语言,从localStorage获取,如果没有则默认为简体中文
|
|
|
|
|
const selectedLanguage = ref(localStorage.getItem("language") || "zh");
|
|
|
|
|
|
|
|
|
|
// 打开语言选择模态框
|
|
|
|
|
const handleLanguageChange = () => {
|
|
|
|
|
showLanguageModal.value = true;
|
|
|
|
|
// 打开时设置当前选中的语言
|
|
|
|
|
selectedLanguage.value = localStorage.getItem("language") || "zh";
|
|
|
|
|
// 禁止背景滚动
|
|
|
|
|
document.body.style.overflow = "hidden";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const currentLanguage = ref(localStorage.getItem("language") || "zh");
|
|
|
|
|
|
|
|
|
|
// 添加语言变化的监听
|
|
|
|
|
watch(
|
|
|
|
|
() => localStorage.getItem("language"),
|
|
|
|
|
(newLang) => {
|
|
|
|
|
if (newLang) {
|
|
|
|
|
currentLanguage.value = newLang;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{ immediate: true }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// 确认语言选择
|
|
|
|
|
const confirmLanguageChange = () => {
|
|
|
|
|
changeLanguage(selectedLanguage.value);
|
|
|
|
|
// 更新轮播图
|
|
|
|
|
currentLanguage.value = selectedLanguage.value;
|
|
|
|
|
// 关闭模态框
|
|
|
|
|
showLanguageModal.value = false;
|
|
|
|
|
// 恢复背景滚动
|
|
|
|
|
document.body.style.overflow = "";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 关闭语言选择模态框
|
|
|
|
|
const closeLanguageModal = () => {
|
|
|
|
|
showLanguageModal.value = false;
|
|
|
|
|
// 恢复背景滚动
|
|
|
|
|
document.body.style.overflow = "";
|
|
|
|
|
};
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.page-container {
|
|
|
|
|
width: 100%;
|
|
|
|
|
overflow-x: hidden;
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 155px;
|
|
|
|
|
position: fixed;
|
|
|
|
|
z-index: 10;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
2025-02-22 14:03:20 +00:00
|
|
|
|
padding: 0 200px 0 188px;
|
2025-02-24 01:10:16 +00:00
|
|
|
|
background-color: #fff;
|
2025-02-21 02:09:59 +00:00
|
|
|
|
}
|
|
|
|
|
.logo {
|
|
|
|
|
img {
|
|
|
|
|
width: 270px;
|
|
|
|
|
height: 83px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.tabs {
|
|
|
|
|
display: flex;
|
|
|
|
|
gap: 32px;
|
|
|
|
|
margin-right: 32px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tab-item {
|
|
|
|
|
font-size: 30px;
|
|
|
|
|
color: #000000;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: color 0.3s ease;
|
|
|
|
|
padding: 4px 8px;
|
|
|
|
|
|
|
|
|
|
&.active {
|
|
|
|
|
color: #8b59fa;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: #8b59fa;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
font-size: 85px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-21 03:12:53 +00:00
|
|
|
|
.div-indent {
|
2025-02-22 14:03:20 +00:00
|
|
|
|
text-indent: 2em;
|
2025-02-21 03:12:53 +00:00
|
|
|
|
line-height: 75px;
|
2025-02-21 02:09:59 +00:00
|
|
|
|
}
|
|
|
|
|
.title {
|
2025-02-21 03:12:53 +00:00
|
|
|
|
line-height: 110px;
|
|
|
|
|
color: #10253e;
|
2025-02-21 02:09:59 +00:00
|
|
|
|
}
|
2025-02-22 11:07:59 +00:00
|
|
|
|
.divider1 {
|
|
|
|
|
position: absolute;
|
|
|
|
|
z-index: 3;
|
2025-02-22 12:42:33 +00:00
|
|
|
|
background-color: rgba(230, 234, 238, 0.5) !important;
|
2025-02-22 11:07:59 +00:00
|
|
|
|
left: 116px;
|
|
|
|
|
width: 1px;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.divider5 {
|
|
|
|
|
position: absolute;
|
|
|
|
|
z-index: 3;
|
2025-02-22 12:42:33 +00:00
|
|
|
|
background-color: rgba(230, 234, 238, 0.5) !important;
|
2025-02-22 11:07:59 +00:00
|
|
|
|
right: 116px;
|
|
|
|
|
width: 1px;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
2025-02-26 09:15:36 +00:00
|
|
|
|
/* 语言选择模态框样式 */
|
|
|
|
|
.language-modal {
|
|
|
|
|
position: fixed;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
z-index: 1000;
|
|
|
|
|
touch-action: none; /* 防止触摸事件影响背景 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-modal-backdrop {
|
|
|
|
|
position: fixed;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
|
|
|
z-index: 1001;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-modal-content {
|
|
|
|
|
position: fixed;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-height: 90vh; /* 最大高度为视口高度的90% */
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
z-index: 1002;
|
|
|
|
|
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
overflow: hidden; /* 内容溢出隐藏 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.modal-header {
|
|
|
|
|
padding: 33px 38px 55px 38px;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-size: 40px;
|
|
|
|
|
color: #000000;
|
|
|
|
|
position: relative;
|
|
|
|
|
flex-shrink: 0; /* 不允许头部收缩 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.close-btn {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-modal-body {
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
overflow-y: auto; /* 只有内容区域可滚动 */
|
|
|
|
|
-webkit-overflow-scrolling: touch; /* 为iOS设备提供平滑滚动 */
|
|
|
|
|
flex: 1; /* 内容区域填充剩余空间 */
|
|
|
|
|
overscroll-behavior: contain; /* 阻止滚动穿透 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-option {
|
|
|
|
|
padding: 30px 0;
|
|
|
|
|
font-size: 40px;
|
|
|
|
|
color: #333;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: background-color 0.3s;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-option:hover,
|
|
|
|
|
.language-option.active {
|
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
|
color: #8b59f7;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.language-modal-footer {
|
|
|
|
|
padding: 40px 38px;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
flex-shrink: 0; /* 不允许底部收缩 */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.confirm-btn {
|
|
|
|
|
background-color: #8b59f7;
|
|
|
|
|
color: white;
|
|
|
|
|
border: none;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
padding: 23px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
font-size: 40px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.confirm-btn:hover {
|
|
|
|
|
background-color: #7a48e6;
|
|
|
|
|
}
|
2025-02-21 02:09:59 +00:00
|
|
|
|
</style>
|