修改 股票数据
This commit is contained in:
parent
af91764f94
commit
614ae9fce4
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
<div class="title mb-[50px] text-center">
|
<div class="title mb-[50px] text-center">
|
||||||
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
||||||
<div class="w-24 h-1 bg-[#895bff] mx-auto"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 委员会表格 -->
|
<!-- 委员会表格 -->
|
||||||
@ -136,6 +135,26 @@ const getCommitteeRole = (name, committee) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.title h1 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: -14px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 80px;
|
||||||
|
height: 3px;
|
||||||
|
background: #895bff;
|
||||||
|
border-radius: 3px;
|
||||||
|
transition: width 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::after {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
/* 紫色主题变量 */
|
/* 紫色主题变量 */
|
||||||
:root {
|
:root {
|
||||||
--primary: #895bff;
|
--primary: #895bff;
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
<div class="title mb-[50px] text-center">
|
<div class="title mb-[50px] text-center">
|
||||||
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
||||||
<div class="w-24 h-1 bg-[#895bff] mx-auto"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 委员会表格 -->
|
<!-- 委员会表格 -->
|
||||||
@ -151,7 +150,26 @@ const getCommitteeRole = (name, committee) => {
|
|||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
}
|
}
|
||||||
|
.title h1 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: -14px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 80px;
|
||||||
|
height: 3px;
|
||||||
|
background: #895bff;
|
||||||
|
border-radius: 3px;
|
||||||
|
transition: width 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::after {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
/* 标题区设计 */
|
/* 标题区设计 */
|
||||||
.hero-section {
|
.hero-section {
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<!-- 页面头部 -->
|
<!-- 页面头部 -->
|
||||||
<div class="title mb-[50px] text-center">
|
<div class="title mb-[50px] text-center">
|
||||||
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
||||||
<div class="w-24 h-1 bg-[#895bff] mx-auto"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 移动端视图 -->
|
<!-- 移动端视图 -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -126,6 +125,26 @@ const getInitials = (name) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.title h1 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: -14px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 80px;
|
||||||
|
height: 3px;
|
||||||
|
background: #895bff;
|
||||||
|
border-radius: 3px;
|
||||||
|
transition: width 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::after {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
/* 基础变量 */
|
/* 基础变量 */
|
||||||
:root {
|
:root {
|
||||||
--primary: #895bff;
|
--primary: #895bff;
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<!-- 页面头部 -->
|
<!-- 页面头部 -->
|
||||||
<div class="title mb-[50px] text-center">
|
<div class="title mb-[50px] text-center">
|
||||||
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
|
||||||
<div class="w-24 h-1 bg-[#895bff] mx-auto"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 移动端视图 -->
|
<!-- 移动端视图 -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -126,6 +125,26 @@ const getInitials = (name) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.title h1 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: -14px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 80px;
|
||||||
|
height: 3px;
|
||||||
|
background: #895bff;
|
||||||
|
border-radius: 3px;
|
||||||
|
transition: width 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::after {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
/* 基础变量 */
|
/* 基础变量 */
|
||||||
:root {
|
:root {
|
||||||
--primary: #895bff;
|
--primary: #895bff;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="title mb-[50px] text-center">
|
<div class="title mb-[50px] text-center">
|
||||||
<h1 style="font-size: 40px; margin-top: 60px">Corporate Governance</h1>
|
<h1 style="font-size: 40px; margin-top: 60px">Governance</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@ -116,7 +116,6 @@ const state = reactive({
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
/* 标题样式 */
|
/* 标题样式 */
|
||||||
.title h1 {
|
.title h1 {
|
||||||
font-family: "Georgia", serif;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
|
@ -200,6 +200,7 @@ const { getStockQuate, stockQuote, formatted } = useStockQuote();
|
|||||||
getStockQuate();
|
getStockQuate();
|
||||||
|
|
||||||
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
||||||
|
// 尝试解析日期
|
||||||
const date = new Date(dateString);
|
const date = new Date(dateString);
|
||||||
|
|
||||||
// 验证日期有效性
|
// 验证日期有效性
|
||||||
@ -207,26 +208,25 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
return "Invalid Date";
|
return "Invalid Date";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保留原始小时数用于AM/PM判断
|
// 从原始字符串提取 AM/PM
|
||||||
const originalHours = date.getHours();
|
const periodMatch = dateString.match(/(AM|PM)/i);
|
||||||
|
const period = periodMatch ? periodMatch[0] : "AM"; // 默认 AM(如果没有匹配到)
|
||||||
|
|
||||||
// 转换为12小时制
|
// 提取小时和分钟(基于 Date 对象,避免时区影响)
|
||||||
let displayHours = originalHours % 12;
|
let hours = date.getHours();
|
||||||
displayHours = displayHours ? displayHours : 12; // 0应显示为12
|
|
||||||
|
|
||||||
// 格式化分钟
|
|
||||||
const minutes = date.getMinutes().toString().padStart(2, "0");
|
const minutes = date.getMinutes().toString().padStart(2, "0");
|
||||||
|
|
||||||
// 判断AM/PM
|
// 转换为 12 小时制
|
||||||
const period = originalHours >= 12 ? "PM" : "AM";
|
let displayHours = hours % 12;
|
||||||
|
displayHours = displayHours || 12; // 0 显示为 12
|
||||||
|
|
||||||
// 时间部分 (8:10PM)
|
// 时间部分(如 2:44AM)
|
||||||
const timePart = `${displayHours}:${minutes}${period}`;
|
const timePart = `${displayHours}:${minutes}${period}`;
|
||||||
|
|
||||||
// 日期部分 (EDT23/15/25)
|
// 日期部分(如 EDT 26/05/25)
|
||||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
||||||
const day = date.getDate().toString().padStart(2, "0");
|
const day = date.getDate().toString().padStart(2, "0");
|
||||||
const year = date.getFullYear().toString().slice(2); // 取后两位
|
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||||
|
const year = date.getFullYear().toString(); // 取后两位
|
||||||
|
|
||||||
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 示例数据
|
// 示例数据
|
||||||
const sampleDate = ref("May 26, 2025, 2:44 AM EDT");
|
const sampleDate = ref(formatted);
|
||||||
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
||||||
|
|
||||||
const { t: $t } = useI18n();
|
const { t: $t } = useI18n();
|
||||||
|
@ -189,6 +189,7 @@ const { getStockQuate, stockQuote, formatted } = useStockQuote();
|
|||||||
getStockQuate();
|
getStockQuate();
|
||||||
|
|
||||||
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
||||||
|
// 尝试解析日期
|
||||||
const date = new Date(dateString);
|
const date = new Date(dateString);
|
||||||
|
|
||||||
// 验证日期有效性
|
// 验证日期有效性
|
||||||
@ -196,26 +197,25 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
return "Invalid Date";
|
return "Invalid Date";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保留原始小时数用于AM/PM判断
|
// 从原始字符串提取 AM/PM
|
||||||
const originalHours = date.getHours();
|
const periodMatch = dateString.match(/(AM|PM)/i);
|
||||||
|
const period = periodMatch ? periodMatch[0] : "AM"; // 默认 AM(如果没有匹配到)
|
||||||
|
|
||||||
// 转换为12小时制
|
// 提取小时和分钟(基于 Date 对象,避免时区影响)
|
||||||
let displayHours = originalHours % 12;
|
let hours = date.getHours();
|
||||||
displayHours = displayHours ? displayHours : 12; // 0应显示为12
|
|
||||||
|
|
||||||
// 格式化分钟
|
|
||||||
const minutes = date.getMinutes().toString().padStart(2, "0");
|
const minutes = date.getMinutes().toString().padStart(2, "0");
|
||||||
|
|
||||||
// 判断AM/PM
|
// 转换为 12 小时制
|
||||||
const period = originalHours >= 12 ? "PM" : "AM";
|
let displayHours = hours % 12;
|
||||||
|
displayHours = displayHours || 12; // 0 显示为 12
|
||||||
|
|
||||||
// 时间部分 (8:10PM)
|
// 时间部分(如 2:44AM)
|
||||||
const timePart = `${displayHours}:${minutes}${period}`;
|
const timePart = `${displayHours}:${minutes}${period}`;
|
||||||
|
|
||||||
// 日期部分 (EDT23/15/25)
|
// 日期部分(如 EDT 26/05/25)
|
||||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
||||||
const day = date.getDate().toString().padStart(2, "0");
|
const day = date.getDate().toString().padStart(2, "0");
|
||||||
const year = date.getFullYear().toString().slice(2); // 取后两位
|
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||||
|
const year = date.getFullYear().toString(); // 取后两位
|
||||||
|
|
||||||
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
||||||
|
|
||||||
@ -224,8 +224,9 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 示例数据
|
// 示例数据
|
||||||
const sampleDate = ref("May 26, 2025, 2:44 AM EDT");
|
const sampleDate = ref(formatted);
|
||||||
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
||||||
|
|
||||||
const { t: $t } = useI18n();
|
const { t: $t } = useI18n();
|
||||||
const contentRef = ref(null);
|
const contentRef = ref(null);
|
||||||
const isInView = ref(false);
|
const isInView = ref(false);
|
||||||
|
@ -199,6 +199,7 @@ const { getStockQuate, stockQuote, formatted } = useStockQuote();
|
|||||||
getStockQuate();
|
getStockQuate();
|
||||||
|
|
||||||
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
||||||
|
// 尝试解析日期
|
||||||
const date = new Date(dateString);
|
const date = new Date(dateString);
|
||||||
|
|
||||||
// 验证日期有效性
|
// 验证日期有效性
|
||||||
@ -206,26 +207,25 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
return "Invalid Date";
|
return "Invalid Date";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保留原始小时数用于AM/PM判断
|
// 从原始字符串提取 AM/PM
|
||||||
const originalHours = date.getHours();
|
const periodMatch = dateString.match(/(AM|PM)/i);
|
||||||
|
const period = periodMatch ? periodMatch[0] : "AM"; // 默认 AM(如果没有匹配到)
|
||||||
|
|
||||||
// 转换为12小时制
|
// 提取小时和分钟(基于 Date 对象,避免时区影响)
|
||||||
let displayHours = originalHours % 12;
|
let hours = date.getHours();
|
||||||
displayHours = displayHours ? displayHours : 12; // 0应显示为12
|
|
||||||
|
|
||||||
// 格式化分钟
|
|
||||||
const minutes = date.getMinutes().toString().padStart(2, "0");
|
const minutes = date.getMinutes().toString().padStart(2, "0");
|
||||||
|
|
||||||
// 判断AM/PM
|
// 转换为 12 小时制
|
||||||
const period = originalHours >= 12 ? "PM" : "AM";
|
let displayHours = hours % 12;
|
||||||
|
displayHours = displayHours || 12; // 0 显示为 12
|
||||||
|
|
||||||
// 时间部分 (8:10PM)
|
// 时间部分(如 2:44AM)
|
||||||
const timePart = `${displayHours}:${minutes}${period}`;
|
const timePart = `${displayHours}:${minutes}${period}`;
|
||||||
|
|
||||||
// 日期部分 (EDT23/15/25)
|
// 日期部分(如 EDT 26/05/25)
|
||||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
||||||
const day = date.getDate().toString().padStart(2, "0");
|
const day = date.getDate().toString().padStart(2, "0");
|
||||||
const year = date.getFullYear().toString().slice(2); // 取后两位
|
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||||
|
const year = date.getFullYear().toString(); // 取后两位
|
||||||
|
|
||||||
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 示例数据
|
// 示例数据
|
||||||
const sampleDate = ref("May 26, 2025, 2:44 AM EDT");
|
const sampleDate = ref(formatted);
|
||||||
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
||||||
|
|
||||||
const { t: $t } = useI18n();
|
const { t: $t } = useI18n();
|
||||||
|
@ -201,6 +201,7 @@ const { getStockQuate, stockQuote, formatted } = useStockQuote();
|
|||||||
getStockQuate();
|
getStockQuate();
|
||||||
|
|
||||||
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
const formatCustomDate = (dateString, timeZone = "EDT") => {
|
||||||
|
// 尝试解析日期
|
||||||
const date = new Date(dateString);
|
const date = new Date(dateString);
|
||||||
|
|
||||||
// 验证日期有效性
|
// 验证日期有效性
|
||||||
@ -208,26 +209,25 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
return "Invalid Date";
|
return "Invalid Date";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保留原始小时数用于AM/PM判断
|
// 从原始字符串提取 AM/PM
|
||||||
const originalHours = date.getHours();
|
const periodMatch = dateString.match(/(AM|PM)/i);
|
||||||
|
const period = periodMatch ? periodMatch[0] : "AM"; // 默认 AM(如果没有匹配到)
|
||||||
|
|
||||||
// 转换为12小时制
|
// 提取小时和分钟(基于 Date 对象,避免时区影响)
|
||||||
let displayHours = originalHours % 12;
|
let hours = date.getHours();
|
||||||
displayHours = displayHours ? displayHours : 12; // 0应显示为12
|
|
||||||
|
|
||||||
// 格式化分钟
|
|
||||||
const minutes = date.getMinutes().toString().padStart(2, "0");
|
const minutes = date.getMinutes().toString().padStart(2, "0");
|
||||||
|
|
||||||
// 判断AM/PM
|
// 转换为 12 小时制
|
||||||
const period = originalHours >= 12 ? "PM" : "AM";
|
let displayHours = hours % 12;
|
||||||
|
displayHours = displayHours || 12; // 0 显示为 12
|
||||||
|
|
||||||
// 时间部分 (8:10PM)
|
// 时间部分(如 2:44AM)
|
||||||
const timePart = `${displayHours}:${minutes}${period}`;
|
const timePart = `${displayHours}:${minutes}${period}`;
|
||||||
|
|
||||||
// 日期部分 (EDT23/15/25)
|
// 日期部分(如 EDT 26/05/25)
|
||||||
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
||||||
const day = date.getDate().toString().padStart(2, "0");
|
const day = date.getDate().toString().padStart(2, "0");
|
||||||
const year = date.getFullYear().toString().slice(2); // 取后两位
|
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
||||||
|
const year = date.getFullYear().toString(); // 取后两位
|
||||||
|
|
||||||
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
const datePart = `${timeZone} ${day}/${month}/${year}`;
|
||||||
|
|
||||||
@ -236,7 +236,7 @@ const formatCustomDate = (dateString, timeZone = "EDT") => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 示例数据
|
// 示例数据
|
||||||
const sampleDate = ref("May 26, 2025, 2:44 AM EDT");
|
const sampleDate = ref(formatted);
|
||||||
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
const formattedDate = computed(() => formatCustomDate(sampleDate.value));
|
||||||
|
|
||||||
const { t: $t } = useI18n();
|
const { t: $t } = useI18n();
|
||||||
|
Loading…
Reference in New Issue
Block a user