修改 股票数据

This commit is contained in:
liwenhao 2025-05-26 16:38:51 +08:00
parent af91764f94
commit 614ae9fce4
9 changed files with 137 additions and 62 deletions

View File

@ -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;

View File

@ -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(

View File

@ -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;

View File

@ -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;

View File

@ -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 {

View File

@ -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; // 012
//
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();

View File

@ -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; // 012
//
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);

View File

@ -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; // 012
//
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();

View File

@ -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; // 012
//
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();