|
|
@ -8,51 +8,52 @@ |
|
|
<meta name="keywords" content="{$current_cate.seo_keywords}"> |
|
|
<meta name="keywords" content="{$current_cate.seo_keywords}"> |
|
|
<meta name="description" content="{$current_cate.seo_description}"> |
|
|
<meta name="description" content="{$current_cate.seo_description}"> |
|
|
<!-- 公共CSS 自动被打包进页面 --> |
|
|
<!-- 公共CSS 自动被打包进页面 --> |
|
|
<link rel="icon" href="./favicon.ico" type="image/x-icon"> |
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
|
<link rel="icon" href="./favicon.ico" type="image/x-icon"> |
|
|
|
|
|
<script> |
|
|
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动 |
|
|
// 设计稿 1920px 宽度下 1rem = 16Px;放在 head 里避免刷新时 rem 闪动 |
|
|
(function () { |
|
|
(function () { |
|
|
var h = document.documentElement |
|
|
|
|
|
// 设计稿宽度 |
|
|
|
|
|
var DESIGN_WIDTH = 1920 |
|
|
|
|
|
// 设计稿1rem = 16Px |
|
|
|
|
|
var REM_AT_DESIGN = 16 |
|
|
|
|
|
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制 |
|
|
|
|
|
var MIN_ROOT_FONT_SIZE = 14 |
|
|
|
|
|
function setRootFontSize() { |
|
|
|
|
|
// 当前屏幕可视宽度(每次计算都取最新值) |
|
|
|
|
|
var W = h.getBoundingClientRect().width |
|
|
|
|
|
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN |
|
|
|
|
|
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE |
|
|
|
|
|
h.style.fontSize = size + 'px' |
|
|
|
|
|
} |
|
|
|
|
|
setRootFontSize() |
|
|
|
|
|
var resizeRaf = 0 |
|
|
|
|
|
window.addEventListener('resize', function () { |
|
|
|
|
|
if (resizeRaf) return |
|
|
|
|
|
resizeRaf = requestAnimationFrame(function () { |
|
|
|
|
|
resizeRaf = 0 |
|
|
|
|
|
setRootFontSize() |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
var h = document.documentElement |
|
|
|
|
|
// 设计稿宽度 |
|
|
|
|
|
var DESIGN_WIDTH = 1920 |
|
|
|
|
|
// 设计稿1rem = 16Px |
|
|
|
|
|
var REM_AT_DESIGN = 16 |
|
|
|
|
|
// 最小字体大小-限制, 同时注意所有的box的大小也有了最小限制 |
|
|
|
|
|
var MIN_ROOT_FONT_SIZE = 14 |
|
|
|
|
|
function setRootFontSize() { |
|
|
|
|
|
// 当前屏幕可视宽度(每次计算都取最新值) |
|
|
|
|
|
var W = h.getBoundingClientRect().width |
|
|
|
|
|
var size = (W / DESIGN_WIDTH) * REM_AT_DESIGN |
|
|
|
|
|
if (size < MIN_ROOT_FONT_SIZE) size = MIN_ROOT_FONT_SIZE |
|
|
|
|
|
h.style.fontSize = size + 'px' |
|
|
|
|
|
} |
|
|
|
|
|
setRootFontSize() |
|
|
|
|
|
var resizeRaf = 0 |
|
|
|
|
|
window.addEventListener('resize', function () { |
|
|
|
|
|
if (resizeRaf) return |
|
|
|
|
|
resizeRaf = requestAnimationFrame(function () { |
|
|
|
|
|
resizeRaf = 0 |
|
|
|
|
|
setRootFontSize() |
|
|
}) |
|
|
}) |
|
|
|
|
|
}) |
|
|
})() |
|
|
})() |
|
|
</script> |
|
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css"> |
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css"> |
|
|
|
|
|
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" |
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css"> |
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net.cn/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css"> |
|
|
|
|
|
<link href="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" |
|
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> |
|
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> |
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css"> |
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"> |
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.css"> |
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"> |
|
|
<script type="module" crossorigin src="/themes/dist_static/static/js/about.js"></script> |
|
|
<script type="module" crossorigin src="/themes/dist_static/static/js/about.js"></script> |
|
|
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js"> |
|
|
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/common.js"> |
|
|
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/earth.js"> |
|
|
<link rel="modulepreload" crossorigin href="/themes/dist_static/static/js/earth.js"> |
|
|
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css"> |
|
|
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/common.css"> |
|
|
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/about.css"> |
|
|
<link rel="stylesheet" crossorigin href="/themes/dist_static/static/css/about.css"> |
|
|
</head> |
|
|
</head> |
|
|
|
|
|
|
|
|
<body> |
|
|
<body> |
|
|
<!-- 引入公共头部 --> |
|
|
|
|
|
<!-- header --> |
|
|
|
|
|
{include file="components/header"} |
|
|
|
|
|
|
|
|
<!-- 引入公共头部 --> |
|
|
|
|
|
<!-- header --> |
|
|
|
|
|
{include file="components/header"} |
|
|
|
|
|
|
|
|
<main class="main-about" data-nav="{$current_cate.title}"> |
|
|
<main class="main-about" data-nav="{$current_cate.title}"> |
|
|
<section class="ab-hero"> |
|
|
<section class="ab-hero"> |
|
|
@ -76,7 +77,7 @@ |
|
|
$ui_download_csr = uiId('download_csr'); |
|
|
$ui_download_csr = uiId('download_csr'); |
|
|
$csr_report_href = getMuiLangUrl('/download.html'); |
|
|
$csr_report_href = getMuiLangUrl('/download.html'); |
|
|
if ($ui_download_csr > 0) { |
|
|
if ($ui_download_csr > 0) { |
|
|
$csr_report_href .= '?cid=' . $ui_download_csr; |
|
|
|
|
|
|
|
|
$csr_report_href .= '?cid=' . $ui_download_csr; |
|
|
} |
|
|
} |
|
|
{/php} |
|
|
{/php} |
|
|
{hcTaglib:category id="$ui_about_intro" item="vo" field="*"} |
|
|
{hcTaglib:category id="$ui_about_intro" item="vo" field="*"} |
|
|
@ -90,16 +91,17 @@ |
|
|
$stats_raw = explode(',', $vo['desc']); |
|
|
$stats_raw = explode(',', $vo['desc']); |
|
|
$stats_list = []; |
|
|
$stats_list = []; |
|
|
foreach ($stats_raw as $item) { |
|
|
foreach ($stats_raw as $item) { |
|
|
$parts = explode(';', $item); |
|
|
|
|
|
if (count($parts) === 3) { |
|
|
|
|
|
$stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$parts = explode(';', $item); |
|
|
|
|
|
if (count($parts) === 3) { |
|
|
|
|
|
$stats_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'text' => $parts[2]]; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
{/php} |
|
|
{/php} |
|
|
<ul class="ab-intro__stats"> |
|
|
<ul class="ab-intro__stats"> |
|
|
{volist name="stats_list" id="stat"} |
|
|
{volist name="stats_list" id="stat"} |
|
|
<li> |
|
|
<li> |
|
|
<strong><span class="counter">{$stat.num}</span><span class="ab-intro__stats-unit">{$stat.unit}</span></strong> |
|
|
|
|
|
|
|
|
<strong><span class="counter">{$stat.num}</span><span |
|
|
|
|
|
class="ab-intro__stats-unit">{$stat.unit}</span></strong> |
|
|
<span>{$stat.text}</span> |
|
|
<span>{$stat.text}</span> |
|
|
</li> |
|
|
</li> |
|
|
{/volist} |
|
|
{/volist} |
|
|
@ -115,30 +117,42 @@ |
|
|
<h2 class="ab-history__title">{$vo.title}</h2> |
|
|
<h2 class="ab-history__title">{$vo.title}</h2> |
|
|
<div class="s-arrows"> |
|
|
<div class="s-arrows"> |
|
|
<button type="button" class="s-arrows__prev" aria-label="Previous"> |
|
|
<button type="button" class="s-arrows__prev" aria-label="Previous"> |
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000"> |
|
|
|
|
|
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" |
|
|
|
|
|
customFrame="#000000"> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" |
|
|
|
|
|
fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
</button> |
|
|
</button> |
|
|
<button type="button" class="s-arrows__next" aria-label="Next"> |
|
|
<button type="button" class="s-arrows__next" aria-label="Next"> |
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000"> |
|
|
|
|
|
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" |
|
|
|
|
|
customFrame="#000000"> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" |
|
|
|
|
|
fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
</button> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="ab-history__swiper swiper section__wrap"> |
|
|
<div class="ab-history__swiper swiper section__wrap"> |
|
|
<div class="swiper-wrapper"> |
|
|
<div class="swiper-wrapper"> |
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="9999" mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"} |
|
|
|
|
|
|
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="9999" |
|
|
|
|
|
mainField="id,title,sub_title,content,thumbnail" sort="sort desc" subField="" onlyData="2"} |
|
|
<article class="swiper-slide ab-history__slide"> |
|
|
<article class="swiper-slide ab-history__slide"> |
|
|
<time class="ab-history__year" datetime="2025">{$case_top.sub_title}</time> |
|
|
<time class="ab-history__year" datetime="2025">{$case_top.sub_title}</time> |
|
|
<div class="ab-history__dot" aria-hidden="true"></div> |
|
|
<div class="ab-history__dot" aria-hidden="true"></div> |
|
|
<h3 class="ab-history__slide-title">{$case_top.title}</h3> |
|
|
<h3 class="ab-history__slide-title">{$case_top.title}</h3> |
|
|
<a class="ab-history__more" href="{:getMuiLangUrl('/about-history.html')}#year-{$case_top.sub_title}"> |
|
|
<a class="ab-history__more" href="{:getMuiLangUrl('/about-history.html')}#year-{$case_top.sub_title}"> |
|
|
<span>Learn more</span> |
|
|
<span>Learn more</span> |
|
|
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.502" height="6.661" fill="none" aria-hidden="true"> |
|
|
|
|
|
<path d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" fill="currentColor" fill-rule="nonzero" /> |
|
|
|
|
|
|
|
|
<svg viewBox="0 0 16.502 6.66113" xmlns="http://www.w3.org/2000/svg" width="16.502" height="6.661" |
|
|
|
|
|
fill="none" aria-hidden="true"> |
|
|
|
|
|
<path |
|
|
|
|
|
d="M0 2.83057L16 2.83057L16 3.83057L0 3.83057L0 2.83057ZM15.2929 3.33057L12.818 0.855693C12.62 0.657703 12.62 0.346575 12.818 0.148586C13.016 -0.0494041 13.3271 -0.0494046 13.5251 0.148585L16.3536 2.97701C16.5515 3.175 16.5515 3.48613 16.3536 3.68412L13.5251 6.51255C13.3271 6.71054 13.016 6.71054 12.818 6.51255C12.62 6.31456 12.62 6.00343 12.818 5.80544L15.2929 3.33057Z" |
|
|
|
|
|
fill="currentColor" fill-rule="nonzero" /> |
|
|
</svg> |
|
|
</svg> |
|
|
</a> |
|
|
</a> |
|
|
<div class="ab-history__media"> |
|
|
<div class="ab-history__media"> |
|
|
@ -151,15 +165,23 @@ |
|
|
<div class="ab-history__arrows-mobile"> |
|
|
<div class="ab-history__arrows-mobile"> |
|
|
<div class="s-arrows"> |
|
|
<div class="s-arrows"> |
|
|
<button type="button" class="s-arrows__prev" aria-label="Previous"> |
|
|
<button type="button" class="s-arrows__prev" aria-label="Previous"> |
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000"> |
|
|
|
|
|
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" |
|
|
|
|
|
customFrame="#000000"> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" |
|
|
|
|
|
fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
</button> |
|
|
</button> |
|
|
<button type="button" class="s-arrows__next" aria-label="Next"> |
|
|
<button type="button" class="s-arrows__next" aria-label="Next"> |
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" customFrame="#000000"> |
|
|
|
|
|
<path id="合并" d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<svg viewBox="0 0 12.2529 11.314" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="12.252930" height="11.313965" fill="none" |
|
|
|
|
|
customFrame="#000000"> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M5.18202 1.41422L6.59622 0L12.2531 5.65686L12.2529 5.65702L10.8389 7.07108L6.59608 11.3139L5.18186 9.89966L8.4245 6.65702L-0 6.65702L0 4.657L8.42482 4.65702L5.18202 1.41422Z" |
|
|
|
|
|
fill="rgb(239,67,53)" fill-rule="evenodd" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
</button> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
@ -177,10 +199,10 @@ |
|
|
$culture_raw = explode('#', $vo['description']); |
|
|
$culture_raw = explode('#', $vo['description']); |
|
|
$culture_list = []; |
|
|
$culture_list = []; |
|
|
foreach ($culture_raw as $item) { |
|
|
foreach ($culture_raw as $item) { |
|
|
$parts = explode(';', $item); |
|
|
|
|
|
if (count($parts) === 3) { |
|
|
|
|
|
$culture_list[] = ['zh' => $parts[0], 'en' => $parts[1], 'text' => $parts[2]]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$parts = explode(';', $item); |
|
|
|
|
|
if (count($parts) === 3) { |
|
|
|
|
|
$culture_list[] = ['zh' => $parts[0], 'en' => $parts[1], 'text' => $parts[2]]; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
{/php} |
|
|
{/php} |
|
|
<div class="ab-culture__list"> |
|
|
<div class="ab-culture__list"> |
|
|
@ -205,11 +227,11 @@ |
|
|
$global_raw = explode(',', $vo['description']); |
|
|
$global_raw = explode(',', $vo['description']); |
|
|
$global_list = []; |
|
|
$global_list = []; |
|
|
foreach ($global_raw as $item) { |
|
|
foreach ($global_raw as $item) { |
|
|
$parts = explode(';', $item, 3); |
|
|
|
|
|
if (count($parts) >= 2) { |
|
|
|
|
|
$desc = isset($parts[2]) ? str_replace(';', '<br>', $parts[2]) : ''; |
|
|
|
|
|
$global_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'desc' => $desc]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$parts = explode(';', $item, 3); |
|
|
|
|
|
if (count($parts) >= 2) { |
|
|
|
|
|
$desc = isset($parts[2]) ? str_replace(';', '<br>', $parts[2]) : ''; |
|
|
|
|
|
$global_list[] = ['num' => $parts[0], 'unit' => $parts[1], 'desc' => $desc]; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
$global_left = array_slice($global_list, 0, 3); |
|
|
$global_left = array_slice($global_list, 0, 3); |
|
|
$global_right = array_slice($global_list, 3); |
|
|
$global_right = array_slice($global_list, 3); |
|
|
@ -249,8 +271,10 @@ |
|
|
<div class="ab-members__panels-swiper swiper"> |
|
|
<div class="ab-members__panels-swiper swiper"> |
|
|
<div class="ab-members__panels swiper-wrapper"> |
|
|
<div class="ab-members__panels swiper-wrapper"> |
|
|
{php}$member_idx = 0;{/php} |
|
|
{php}$member_idx = 0;{/php} |
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="50" mainField="id,url,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
|
|
|
<div class="ab-members__panel swiper-slide" id="ab-member-panel-{$case_top.id}" data-index="{$member_idx}"> |
|
|
|
|
|
|
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="50" |
|
|
|
|
|
mainField="id,url,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
|
|
|
<div class="ab-members__panel swiper-slide" id="ab-member-panel-{$case_top.id}" |
|
|
|
|
|
data-index="{$member_idx}"> |
|
|
<div class="ab-members__content"> |
|
|
<div class="ab-members__content"> |
|
|
<div> |
|
|
<div> |
|
|
<h3 class="ab-members__name">{$case_top.title}</h3> |
|
|
<h3 class="ab-members__name">{$case_top.title}</h3> |
|
|
@ -258,24 +282,66 @@ |
|
|
{$case_top.content|strip_tags} |
|
|
{$case_top.content|strip_tags} |
|
|
</p> |
|
|
</p> |
|
|
</div> |
|
|
</div> |
|
|
<a target="_blank" class="s-btn s-btn--outline s-btn--pill ab-members__more" href="{$case_top.url ?? '#'}">Explore more</a> |
|
|
|
|
|
|
|
|
<a target="_blank" class="s-btn s-btn--outline s-btn--pill ab-members__more" |
|
|
|
|
|
href="{$case_top.url ?? '#'}">Explore more</a> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
{php}$member_idx++;{/php} |
|
|
{php}$member_idx++;{/php} |
|
|
{/hcTaglib:content} |
|
|
{/hcTaglib:content} |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="ab-members__logos" role="tablist" aria-label="Group members"> |
|
|
|
|
|
{php}$member_idx = 0;{/php} |
|
|
|
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="50" mainField="id,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
|
|
|
<button type="button" class="ab-members__logo{if $member_idx == 0} is-active{/if}" id="ab-member-tab-{$case_top.id}" |
|
|
|
|
|
data-index="{$member_idx}" |
|
|
|
|
|
role="tab" aria-controls="ab-member-panel-{$case_top.id}" aria-selected="{if $member_idx == 0}true{else}false{/if}"> |
|
|
|
|
|
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" /> |
|
|
|
|
|
</button> |
|
|
|
|
|
{php}$member_idx++;{/php} |
|
|
|
|
|
{/hcTaglib:content} |
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
<div class="ab-members__logos" role="tablist" aria-label="Group members"> |
|
|
|
|
|
{php}$member_idx = 0;{/php} |
|
|
|
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="50" |
|
|
|
|
|
mainField="id,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
|
|
|
<button type="button" class="ab-members__logo{if $member_idx == 0} is-active{/if}" |
|
|
|
|
|
id="ab-member-tab-{$case_top.id}" data-index="{$member_idx}" role="tab" |
|
|
|
|
|
aria-controls="ab-member-panel-{$case_top.id}" |
|
|
|
|
|
aria-selected="{if $member_idx == 0}true{else}false{/if}"> |
|
|
|
|
|
<img src="{$case_top.thumbnail.url ?? ''}" alt="{$case_top.title}" width="160" height="60" /> |
|
|
|
|
|
</button> |
|
|
|
|
|
{php}$member_idx++;{/php} |
|
|
|
|
|
{/hcTaglib:content} |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="panels-swiper-navigation"> |
|
|
|
|
|
<svg class="swiper-prev" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="40.000000" height="40.000000" fill="none" |
|
|
|
|
|
clip-path="url(#clipPath_1)" customFrame="url(#clipPath_1)"> |
|
|
|
|
|
<defs> |
|
|
|
|
|
<clipPath id="clipPath_1"> |
|
|
|
|
|
<rect width="39.000000" height="39.000000" x="0.500000" y="0.500000" rx="15.500000" |
|
|
|
|
|
fill="rgb(255,255,255)" transform="matrix(-1,0,0,1,40,0)" /> |
|
|
|
|
|
</clipPath> |
|
|
|
|
|
</defs> |
|
|
|
|
|
<path id="合并" /> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M12.171 1.41422L13.5852 0L20.656 7.07082L20.6561 7.07072L22.0703 8.48494L22.0702 8.48504L22.0705 8.48528L20.6562 9.8995L20.656 9.89926L13.585 16.9702L12.1708 15.556L18.2429 9.48396L0 9.48396L0 7.48396L18.2407 7.48396L12.171 1.41422Z" |
|
|
|
|
|
fill="rgb(255,255,255)" fill-rule="evenodd" transform="matrix(-1,0,0,1,31.0703,12)" /> |
|
|
|
|
|
<rect id="容器 246" width="39.000000" height="39.000000" x="0.500000" y="0.500000" rx="15.500000" |
|
|
|
|
|
stroke="rgb(255,255,255)" stroke-opacity="0" stroke-width="1.000000" |
|
|
|
|
|
transform="matrix(-1,0,0,1,40,0)" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
|
|
|
<svg class="swiper-next" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" |
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="40.000000" height="40.000000" fill="none" |
|
|
|
|
|
clip-path="url(#clipPath_0)" customFrame="url(#clipPath_0)"> |
|
|
|
|
|
<defs> |
|
|
|
|
|
<clipPath id="clipPath_0"> |
|
|
|
|
|
<rect width="39.000000" height="39.000000" x="0.500000" y="0.500000" rx="15.500000" |
|
|
|
|
|
fill="rgb(255,255,255)" /> |
|
|
|
|
|
</clipPath> |
|
|
|
|
|
</defs> |
|
|
|
|
|
<path id="合并" transform="matrix(-1,0,0,1,47,21.5557)" /> |
|
|
|
|
|
<path id="合并" |
|
|
|
|
|
d="M21.171 13.4142L22.5852 12L29.656 19.0708L29.6561 19.0707L31.0703 20.4849L31.0702 20.485L31.0705 20.4853L29.6562 21.8995L29.656 21.8993L22.585 28.9702L21.1708 27.556L27.2429 21.484L9 21.484L9 19.484L27.2407 19.484L21.171 13.4142Z" |
|
|
|
|
|
fill="rgb(255,255,255)" fill-rule="evenodd" /> |
|
|
|
|
|
<rect id="容器 245" width="39.000000" height="39.000000" x="0.500000" y="0.500000" rx="15.500000" |
|
|
|
|
|
stroke="rgb(255,255,255)" stroke-opacity="0" stroke-width="1.000000" /> |
|
|
|
|
|
</svg> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
@ -289,28 +355,40 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div class="ab-honors__body"> |
|
|
<div class="ab-honors__body"> |
|
|
<ul class="ab-honors__list"> |
|
|
<ul class="ab-honors__list"> |
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="999" mainField="id,url,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
|
|
|
|
|
|
{hcTaglib:content cid="$vo.id" moduleId="1" name="contentList" item="case_top" limit="999" |
|
|
|
|
|
mainField="id,url,title,sub_title,content,thumbnail" sort="sort asc" subField="" onlyData="2"} |
|
|
<li class="ab-honors__item"> |
|
|
<li class="ab-honors__item"> |
|
|
<span class="ab-honors__name">{$case_top.title}</span> |
|
|
|
|
|
<a class="ab-honors__view" href="javascript:;"> |
|
|
|
|
|
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"> |
|
|
|
|
|
<g id="eye"> |
|
|
|
|
|
<path d="M12.0019 15.5799C10.0219 15.5799 8.42188 13.9799 8.42188 11.9999C8.42188 10.0199 10.0219 8.41992 12.0019 8.41992C13.9819 8.41992 15.5819 10.0199 15.5819 11.9999C15.5819 13.9799 13.9819 15.5799 12.0019 15.5799Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" /> |
|
|
|
|
|
<path d="M21.1098 14.5907C22.0098 13.1807 22.0098 10.8107 21.1098 9.4007C18.8198 5.8007 15.5298 3.7207 11.9998 3.7207C8.46984 3.7207 5.17984 5.8007 2.88984 9.4007C1.98984 10.8107 1.98984 13.1807 2.88984 14.5907C5.17984 18.1907 8.46984 20.2707 11.9998 20.2707C15.5298 20.2707 18.8198 18.1907 21.1098 14.5907Z" fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" /> |
|
|
|
|
|
</g> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<div class="flex-between hover"> |
|
|
|
|
|
<span class="ab-honors__name">{$case_top.title}</span> |
|
|
|
|
|
<span class="ab-honors__view" href="javascript:;"> |
|
|
|
|
|
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"> |
|
|
|
|
|
<g id="eye"> |
|
|
|
|
|
<path |
|
|
|
|
|
d="M12.0019 15.5799C10.0219 15.5799 8.42188 13.9799 8.42188 11.9999C8.42188 10.0199 10.0219 8.41992 12.0019 8.41992C13.9819 8.41992 15.5819 10.0199 15.5819 11.9999C15.5819 13.9799 13.9819 15.5799 12.0019 15.5799Z" |
|
|
|
|
|
fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" |
|
|
|
|
|
stroke-width="1.5" /> |
|
|
|
|
|
<path |
|
|
|
|
|
d="M21.1098 14.5907C22.0098 13.1807 22.0098 10.8107 21.1098 9.4007C18.8198 5.8007 15.5298 3.7207 11.9998 3.7207C8.46984 3.7207 5.17984 5.8007 2.88984 9.4007C1.98984 10.8107 1.98984 13.1807 2.88984 14.5907C5.17984 18.1907 8.46984 20.2707 11.9998 20.2707C15.5298 20.2707 18.8198 18.1907 21.1098 14.5907Z" |
|
|
|
|
|
fill-rule="nonzero" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" |
|
|
|
|
|
stroke-width="1.5" /> |
|
|
|
|
|
</g> |
|
|
|
|
|
</svg> |
|
|
|
|
|
|
|
|
<span>View certificate</span> |
|
|
|
|
|
<span class="ab-honors__pop" aria-hidden="true"> |
|
|
|
|
|
<img class="ab-honors__cert-img" src="{$case_top.thumbnail.url ?? ''}" alt="Honor certificate" /> |
|
|
|
|
|
|
|
|
<span>View certificate</span> |
|
|
|
|
|
<span class="ab-honors__pop" aria-hidden="true"> |
|
|
|
|
|
<img class="ab-honors__cert-img" src="{$case_top.thumbnail.url ?? ''}" alt="Honor certificate" /> |
|
|
|
|
|
</span> |
|
|
</span> |
|
|
</span> |
|
|
</a> |
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
</li> |
|
|
</li> |
|
|
{/hcTaglib:content} |
|
|
{/hcTaglib:content} |
|
|
</ul> |
|
|
</ul> |
|
|
<button type="button" class="ab-honors__more"> |
|
|
<button type="button" class="ab-honors__more"> |
|
|
<span>Show more</span> |
|
|
<span>Show more</span> |
|
|
<img src="data:image/svg+xml,%3csvg%20viewBox='0%200%2011.2728%206.90918'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11.272827'%20height='6.909180'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='矢量%202'%20d='M0.636353%200.636272L5.63635%205.63627L10.6364%200.63623'%20stroke='rgb(102,102,102)'%20stroke-width='1.800000'%20/%3e%3c/svg%3e" alt="" width="12" height="6" /> |
|
|
|
|
|
|
|
|
<img |
|
|
|
|
|
src="data:image/svg+xml,%3csvg%20viewBox='0%200%2011.2728%206.90918'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11.272827'%20height='6.909180'%20fill='none'%20customFrame='%23000000'%3e%3cpath%20id='矢量%202'%20d='M0.636353%200.636272L5.63635%205.63627L10.6364%200.63623'%20stroke='rgb(102,102,102)'%20stroke-width='1.800000'%20/%3e%3c/svg%3e" |
|
|
|
|
|
alt="" width="12" height="6" /> |
|
|
</button> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
@ -336,17 +414,19 @@ |
|
|
|
|
|
|
|
|
{include file="components/mask"} |
|
|
{include file="components/mask"} |
|
|
|
|
|
|
|
|
{include file="components/footer"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{include file="components/footer"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script> |
|
|
|
|
|
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script> |
|
|
|
|
|
|
|
|
<script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net.cn/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" |
|
|
|
|
|
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" |
|
|
|
|
|
crossorigin="anonymous"></script> |
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.min.js"></script> |
|
|
|
|
|
<script src="https://unpkg.com/counterup2@2.0.2/dist/index.js"></script> |
|
|
<script src="/themes/dist_static/js/lib/three-r128.min.js"></script> |
|
|
<script src="/themes/dist_static/js/lib/three-r128.min.js"></script> |
|
|
<script src="/themes/dist_static/js/lib/three-128-orbitControls.js"></script> |
|
|
<script src="/themes/dist_static/js/lib/three-128-orbitControls.js"></script> |
|
|
</body> |
|
|
</body> |
|
|
|