feat: update routing to use localePath for navigation across various components and pages
This commit is contained in:
parent
0cfdf1604f
commit
e59c69c9ca
@ -171,7 +171,7 @@ node .output/server/index.mjs 服务器运行
|
|||||||
|
|
||||||
## 必应搜索
|
## 必应搜索
|
||||||
|
|
||||||
<https://www.bing.com/indexnow?url=https://www.fiee.com/product.html&key=45b9e7ac255b4e0bbd7e49d8d10a043b>
|
<https://www.bing.com/indexnow?url=https://www.fiee.com/&key=45b9e7ac255b4e0bbd7e49d8d10a043b>
|
||||||
|
|
||||||
## 📝 License
|
## 📝 License
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { showToast } from "vant";
|
|||||||
|
|
||||||
export const useAuth = createGlobalState(() => {
|
export const useAuth = createGlobalState(() => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
|
|
||||||
// Use Nuxt useCookie for SSR compatibility
|
// Use Nuxt useCookie for SSR compatibility
|
||||||
const token = useCookie("token", { default: () => "" });
|
const token = useCookie("token", { default: () => "" });
|
||||||
@ -52,10 +53,12 @@ export const useAuth = createGlobalState(() => {
|
|||||||
const res = await voteAPI({ workUid: workUid.value });
|
const res = await voteAPI({ workUid: workUid.value });
|
||||||
if (res.status === 0) {
|
if (res.status === 0) {
|
||||||
showToast("投票成功");
|
showToast("投票成功");
|
||||||
router.push({
|
router.push(
|
||||||
path: "/result",
|
localePath({
|
||||||
query: { type: "hasVoted" },
|
path: "/result",
|
||||||
});
|
query: { type: "hasVoted" },
|
||||||
|
})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -145,10 +148,12 @@ export const useAuth = createGlobalState(() => {
|
|||||||
const res = await competitionApply(formData.value);
|
const res = await competitionApply(formData.value);
|
||||||
if (res.status === 0) {
|
if (res.status === 0) {
|
||||||
showToast("报名成功");
|
showToast("报名成功");
|
||||||
router.push({
|
router.push(
|
||||||
path: "/result",
|
localePath({
|
||||||
query: { type: "success" },
|
path: "/result",
|
||||||
});
|
query: { type: "success" },
|
||||||
|
})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -163,10 +168,10 @@ export const useAuth = createGlobalState(() => {
|
|||||||
if (res.data.status === 1) {
|
if (res.data.status === 1) {
|
||||||
showToast("您已经报名");
|
showToast("您已经报名");
|
||||||
await getDetail();
|
await getDetail();
|
||||||
router.push("/details");
|
router.push(localePath("/details"));
|
||||||
} else {
|
} else {
|
||||||
showToast("登录成功");
|
showToast("登录成功");
|
||||||
router.push("/signup");
|
router.push(localePath("/signup"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -15,17 +15,11 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
|
|
||||||
//点击跳转到对应的链接页面
|
//点击跳转到对应的链接页面
|
||||||
const handleLink = (link) => {
|
const handleLink = (link) => {
|
||||||
// if (link === "privacyPolicy") {
|
router.push(localePath(link));
|
||||||
// window.open(privacyPolicy, "_blank");
|
|
||||||
// } else if (link === "termsOfUse") {
|
|
||||||
// window.open(termsOfUse, "_blank");
|
|
||||||
// } else if (link === "siteMap") {
|
|
||||||
// window.open(siteMap, "_blank");
|
|
||||||
// }
|
|
||||||
router.push(link);
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,12 @@
|
|||||||
<div class="custom-footer">
|
<div class="custom-footer">
|
||||||
<div class="custom-footer-box">
|
<div class="custom-footer-box">
|
||||||
<div class="footer-links">
|
<div class="footer-links">
|
||||||
<span @click="handleLink('privacyPolicy')">{{ $t("footer.privacy_policy") }}</span>
|
<span @click="handleLink('privacyPolicy')">{{
|
||||||
<span @click="handleLink('termsOfUse')">{{ $t("footer.terms_of_use") }}</span>
|
$t("footer.privacy_policy")
|
||||||
|
}}</span>
|
||||||
|
<span @click="handleLink('termsOfUse')">{{
|
||||||
|
$t("footer.terms_of_use")
|
||||||
|
}}</span>
|
||||||
<span @click="handleLink('siteMap')">{{ $t("footer.site_map") }}</span>
|
<span @click="handleLink('siteMap')">{{ $t("footer.site_map") }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span>© 2025 FiEE(HK)Limited. All Rights Reserved.</span>
|
<span>© 2025 FiEE(HK)Limited. All Rights Reserved.</span>
|
||||||
@ -14,18 +18,12 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
const localePath = useLocalePath();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
//点击跳转到对应的链接页面
|
//点击跳转到对应的链接页面
|
||||||
const handleLink = (link) => {
|
const handleLink = (link) => {
|
||||||
// if (link === "privacyPolicy") {
|
router.push(localePath(link));
|
||||||
// window.open(privacyPolicy, "_blank");
|
|
||||||
// } else if (link === "termsOfUse") {
|
|
||||||
// window.open(termsOfUse, "_blank");
|
|
||||||
// } else if (link === "siteMap") {
|
|
||||||
// window.open(siteMap, "_blank");
|
|
||||||
// }
|
|
||||||
router.push(link);
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -17,17 +17,11 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
|
|
||||||
//点击跳转到对应的链接页面
|
//点击跳转到对应的链接页面
|
||||||
const handleLink = (link) => {
|
const handleLink = (link) => {
|
||||||
// if (link === "privacyPolicy") {
|
router.push(localePath(link));
|
||||||
// window.open(privacyPolicy, "_blank");
|
|
||||||
// } else if (link === "termsOfUse") {
|
|
||||||
// window.open(termsOfUse, "_blank");
|
|
||||||
// } else if (link === "siteMap") {
|
|
||||||
// window.open(siteMap, "_blank");
|
|
||||||
// }
|
|
||||||
router.push(link);
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -13,17 +13,11 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
|
|
||||||
//点击跳转到对应的链接页面
|
//点击跳转到对应的链接页面
|
||||||
const handleLink = (link) => {
|
const handleLink = (link) => {
|
||||||
// if (link === "privacyPolicy") {
|
router.push(localePath(link));
|
||||||
// window.open(privacyPolicy, "_blank");
|
|
||||||
// } else if (link === "termsOfUse") {
|
|
||||||
// window.open(termsOfUse, "_blank");
|
|
||||||
// } else if (link === "siteMap") {
|
|
||||||
// window.open(siteMap, "_blank");
|
|
||||||
// }
|
|
||||||
router.push(link);
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -119,7 +119,7 @@ const closeLanguagePicker = () => {
|
|||||||
const handleSelectLanguage = (lang) => {
|
const handleSelectLanguage = (lang) => {
|
||||||
setLocale(lang);
|
setLocale(lang);
|
||||||
closeLanguagePicker();
|
closeLanguagePicker();
|
||||||
selectedLanguage.value = lang;
|
// selectedLanguage.value = lang; // 移除这行,因为 setLocale 会处理状态
|
||||||
};
|
};
|
||||||
|
|
||||||
// 递归查找菜单项
|
// 递归查找菜单项
|
||||||
|
|||||||
@ -41,10 +41,8 @@ export function useLanguage() {
|
|||||||
// 切换语言的方法
|
// 切换语言的方法
|
||||||
const changeLanguage = (lang) => {
|
const changeLanguage = (lang) => {
|
||||||
if (process.client) {
|
if (process.client) {
|
||||||
locale.value = lang;
|
const { setLocale } = useI18n();
|
||||||
currentLanguage.value = lang;
|
setLocale(lang);
|
||||||
localStorage.setItem('language', lang);
|
|
||||||
window.location.reload();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -129,6 +129,7 @@ import dayjs from "dayjs";
|
|||||||
|
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
||||||
import wordFile from "@/assets/image/icon/icon-word.png";
|
import wordFile from "@/assets/image/icon/icon-word.png";
|
||||||
@ -337,12 +338,14 @@ const columns = [
|
|||||||
},
|
},
|
||||||
onClick: (e) => {
|
onClick: (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
router.push({
|
router.push(
|
||||||
path: "/secfilingsdetail",
|
localePath({
|
||||||
query: {
|
path: "/secfilingsdetail",
|
||||||
filingKey: row.filingKey,
|
query: {
|
||||||
},
|
filingKey: row.filingKey,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
onMouseover: (e) => {
|
onMouseover: (e) => {
|
||||||
e.target.style.textDecoration = "underline";
|
e.target.style.textDecoration = "underline";
|
||||||
|
|||||||
@ -129,6 +129,7 @@ import dayjs from "dayjs";
|
|||||||
|
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
||||||
import wordFile from "@/assets/image/icon/icon-word.png";
|
import wordFile from "@/assets/image/icon/icon-word.png";
|
||||||
@ -337,12 +338,14 @@ const columns = [
|
|||||||
},
|
},
|
||||||
onClick: (e) => {
|
onClick: (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
router.push({
|
router.push(
|
||||||
path: "/secfilingsdetail",
|
localePath({
|
||||||
query: {
|
path: "/secfilingsdetail",
|
||||||
filingKey: row.filingKey,
|
query: {
|
||||||
},
|
filingKey: row.filingKey,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
onMouseover: (e) => {
|
onMouseover: (e) => {
|
||||||
e.target.style.textDecoration = "underline";
|
e.target.style.textDecoration = "underline";
|
||||||
|
|||||||
@ -130,6 +130,7 @@ import dayjs from "dayjs";
|
|||||||
|
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
||||||
import wordFile from "@/assets/image/icon/icon-word.png";
|
import wordFile from "@/assets/image/icon/icon-word.png";
|
||||||
@ -338,12 +339,14 @@ const columns = [
|
|||||||
},
|
},
|
||||||
onClick: (e) => {
|
onClick: (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
router.push({
|
router.push(
|
||||||
path: "/secfilingsdetail",
|
localePath({
|
||||||
query: {
|
path: "/secfilingsdetail",
|
||||||
filingKey: row.filingKey,
|
query: {
|
||||||
},
|
filingKey: row.filingKey,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
onMouseover: (e) => {
|
onMouseover: (e) => {
|
||||||
e.target.style.textDecoration = "underline";
|
e.target.style.textDecoration = "underline";
|
||||||
|
|||||||
@ -129,6 +129,7 @@ import dayjs from "dayjs";
|
|||||||
|
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
import pdfFile from "@/assets/image/icon/icon-pdf.png";
|
||||||
import wordFile from "@/assets/image/icon/icon-word.png";
|
import wordFile from "@/assets/image/icon/icon-word.png";
|
||||||
@ -337,12 +338,14 @@ const columns = [
|
|||||||
},
|
},
|
||||||
onClick: (e) => {
|
onClick: (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
router.push({
|
router.push(
|
||||||
path: "/secfilingsdetail",
|
localePath({
|
||||||
query: {
|
path: "/secfilingsdetail",
|
||||||
filingKey: row.filingKey,
|
query: {
|
||||||
},
|
filingKey: row.filingKey,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
onMouseover: (e) => {
|
onMouseover: (e) => {
|
||||||
e.target.style.textDecoration = "underline";
|
e.target.style.textDecoration = "underline";
|
||||||
|
|||||||
@ -19,22 +19,22 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/companyoverview')">
|
<li @click="router.push(localePath('/companyoverview'))">
|
||||||
{{ t("site_map.sections.corporate.links.company_overview") }}
|
{{ t("site_map.sections.corporate.links.company_overview") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/businessservices')">
|
<li @click="router.push(localePath('/businessservices'))">
|
||||||
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/manage')">
|
<li @click="router.push(localePath('/manage'))">
|
||||||
{{ t("site_map.sections.corporate.links.management") }}
|
{{ t("site_map.sections.corporate.links.management") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/boarddirectors')">
|
<li @click="router.push(localePath('/boarddirectors'))">
|
||||||
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/committeeappointment')">
|
<li @click="router.push(localePath('/committeeappointment'))">
|
||||||
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/govern')">
|
<li @click="router.push(localePath('/govern'))">
|
||||||
{{ t("site_map.sections.corporate.links.governance") }}
|
{{ t("site_map.sections.corporate.links.governance") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -50,13 +50,13 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/secfilings')">
|
<li @click="router.push(localePath('/secfilings'))">
|
||||||
{{ t("site_map.sections.financial.links.sec_filings") }}
|
{{ t("site_map.sections.financial.links.sec_filings") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/annualreports')">
|
<li @click="router.push(localePath('/annualreports'))">
|
||||||
{{ t("site_map.sections.financial.links.annual_reports") }}
|
{{ t("site_map.sections.financial.links.annual_reports") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/quarterlyreports')">
|
<li @click="router.push(localePath('/quarterlyreports'))">
|
||||||
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -70,10 +70,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/stock-quote')">
|
<li @click="router.push(localePath('/stock-quote'))">
|
||||||
{{ t("site_map.sections.stock.links.stock_quote") }}
|
{{ t("site_map.sections.stock.links.stock_quote") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/historic-stock')">
|
<li @click="router.push(localePath('/historic-stock'))">
|
||||||
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -87,10 +87,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/press-releases')">
|
<li @click="router.push(localePath('/press-releases'))">
|
||||||
{{ t("site_map.sections.news.links.press_releases") }}
|
{{ t("site_map.sections.news.links.press_releases") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/events-calendar')">
|
<li @click="router.push(localePath('/events-calendar'))">
|
||||||
{{ t("site_map.sections.news.links.events_calendar") }}
|
{{ t("site_map.sections.news.links.events_calendar") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -104,10 +104,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/contacts')">
|
<li @click="router.push(localePath('/contacts'))">
|
||||||
{{ t("site_map.sections.investor.links.contacts") }}
|
{{ t("site_map.sections.investor.links.contacts") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/email-alerts')">
|
<li @click="router.push(localePath('/email-alerts'))">
|
||||||
{{ t("site_map.sections.investor.links.email_alerts") }}
|
{{ t("site_map.sections.investor.links.email_alerts") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -121,6 +121,7 @@ import { onMounted, ref, onUnmounted } from "vue";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { onUnmounted, ref, watch, onMounted, computed } from "vue";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -28,22 +29,22 @@ const { t, locale } = useI18n();
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/companyoverview')">
|
<li @click="router.push(localePath('/companyoverview'))">
|
||||||
{{ t("site_map.sections.corporate.links.company_overview") }}
|
{{ t("site_map.sections.corporate.links.company_overview") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/businessservices')">
|
<li @click="router.push(localePath('/businessservices'))">
|
||||||
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/manage')">
|
<li @click="router.push(localePath('/manage'))">
|
||||||
{{ t("site_map.sections.corporate.links.management") }}
|
{{ t("site_map.sections.corporate.links.management") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/boarddirectors')">
|
<li @click="router.push(localePath('/boarddirectors'))">
|
||||||
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/committeeappointment')">
|
<li @click="router.push(localePath('/committeeappointment'))">
|
||||||
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/govern')">
|
<li @click="router.push(localePath('/govern'))">
|
||||||
{{ t("site_map.sections.corporate.links.governance") }}
|
{{ t("site_map.sections.corporate.links.governance") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -59,13 +60,13 @@ const { t, locale } = useI18n();
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/secfilings')">
|
<li @click="router.push(localePath('/secfilings'))">
|
||||||
{{ t("site_map.sections.financial.links.sec_filings") }}
|
{{ t("site_map.sections.financial.links.sec_filings") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/annualreports')">
|
<li @click="router.push(localePath('/annualreports'))">
|
||||||
{{ t("site_map.sections.financial.links.annual_reports") }}
|
{{ t("site_map.sections.financial.links.annual_reports") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/quarterlyreports')">
|
<li @click="router.push(localePath('/quarterlyreports'))">
|
||||||
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -79,10 +80,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/stock-quote')">
|
<li @click="router.push(localePath('/stock-quote'))">
|
||||||
{{ t("site_map.sections.stock.links.stock_quote") }}
|
{{ t("site_map.sections.stock.links.stock_quote") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/historic-stock')">
|
<li @click="router.push(localePath('/historic-stock'))">
|
||||||
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -96,10 +97,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/press-releases')">
|
<li @click="router.push(localePath('/press-releases'))">
|
||||||
{{ t("site_map.sections.news.links.press_releases") }}
|
{{ t("site_map.sections.news.links.press_releases") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/events-calendar')">
|
<li @click="router.push(localePath('/events-calendar'))">
|
||||||
{{ t("site_map.sections.news.links.events_calendar") }}
|
{{ t("site_map.sections.news.links.events_calendar") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -113,10 +114,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/contacts')">
|
<li @click="router.push(localePath('/contacts'))">
|
||||||
{{ t("site_map.sections.investor.links.contacts") }}
|
{{ t("site_map.sections.investor.links.contacts") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/email-alerts')">
|
<li @click="router.push(localePath('/email-alerts'))">
|
||||||
{{ t("site_map.sections.investor.links.email_alerts") }}
|
{{ t("site_map.sections.investor.links.email_alerts") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { onUnmounted, ref, watch, onMounted, computed } from "vue";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -30,22 +31,22 @@ const { t, locale } = useI18n();
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/companyoverview')">
|
<li @click="router.push(localePath('/companyoverview'))">
|
||||||
{{ t("site_map.sections.corporate.links.company_overview") }}
|
{{ t("site_map.sections.corporate.links.company_overview") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/businessservices')">
|
<li @click="router.push(localePath('/businessservices'))">
|
||||||
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/manage')">
|
<li @click="router.push(localePath('/manage'))">
|
||||||
{{ t("site_map.sections.corporate.links.management") }}
|
{{ t("site_map.sections.corporate.links.management") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/boarddirectors')">
|
<li @click="router.push(localePath('/boarddirectors'))">
|
||||||
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/committeeappointment')">
|
<li @click="router.push(localePath('/committeeappointment'))">
|
||||||
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/govern')">
|
<li @click="router.push(localePath('/govern'))">
|
||||||
{{ t("site_map.sections.corporate.links.governance") }}
|
{{ t("site_map.sections.corporate.links.governance") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -61,13 +62,13 @@ const { t, locale } = useI18n();
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/secfilings')">
|
<li @click="router.push(localePath('/secfilings'))">
|
||||||
{{ t("site_map.sections.financial.links.sec_filings") }}
|
{{ t("site_map.sections.financial.links.sec_filings") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/annualreports')">
|
<li @click="router.push(localePath('/annualreports'))">
|
||||||
{{ t("site_map.sections.financial.links.annual_reports") }}
|
{{ t("site_map.sections.financial.links.annual_reports") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/quarterlyreports')">
|
<li @click="router.push(localePath('/quarterlyreports'))">
|
||||||
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -81,10 +82,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/stock-quote')">
|
<li @click="router.push(localePath('/stock-quote'))">
|
||||||
{{ t("site_map.sections.stock.links.stock_quote") }}
|
{{ t("site_map.sections.stock.links.stock_quote") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/historic-stock')">
|
<li @click="router.push(localePath('/historic-stock'))">
|
||||||
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -98,10 +99,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/press-releases')">
|
<li @click="router.push(localePath('/press-releases'))">
|
||||||
{{ t("site_map.sections.news.links.press_releases") }}
|
{{ t("site_map.sections.news.links.press_releases") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/events-calendar')">
|
<li @click="router.push(localePath('/events-calendar'))">
|
||||||
{{ t("site_map.sections.news.links.events_calendar") }}
|
{{ t("site_map.sections.news.links.events_calendar") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -115,10 +116,10 @@ const { t, locale } = useI18n();
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/contacts')">
|
<li @click="router.push(localePath('/contacts'))">
|
||||||
{{ t("site_map.sections.investor.links.contacts") }}
|
{{ t("site_map.sections.investor.links.contacts") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/email-alerts')">
|
<li @click="router.push(localePath('/email-alerts'))">
|
||||||
{{ t("site_map.sections.investor.links.email_alerts") }}
|
{{ t("site_map.sections.investor.links.email_alerts") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -19,22 +19,22 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/companyoverview')">
|
<li @click="router.push(localePath('/companyoverview'))">
|
||||||
{{ t("site_map.sections.corporate.links.company_overview") }}
|
{{ t("site_map.sections.corporate.links.company_overview") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/businessservices')">
|
<li @click="router.push(localePath('/businessservices'))">
|
||||||
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
{{ t("site_map.sections.corporate.links.business_introduction") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/manage')">
|
<li @click="router.push(localePath('/manage'))">
|
||||||
{{ t("site_map.sections.corporate.links.management") }}
|
{{ t("site_map.sections.corporate.links.management") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/boarddirectors')">
|
<li @click="router.push(localePath('/boarddirectors'))">
|
||||||
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
{{ t("site_map.sections.corporate.links.board_of_directors") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/committeeappointment')">
|
<li @click="router.push(localePath('/committeeappointment'))">
|
||||||
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
{{ t("site_map.sections.corporate.links.committee_appointments") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/govern')">
|
<li @click="router.push(localePath('/govern'))">
|
||||||
{{ t("site_map.sections.corporate.links.governance") }}
|
{{ t("site_map.sections.corporate.links.governance") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -50,13 +50,13 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/secfilings')">
|
<li @click="router.push(localePath('/secfilings'))">
|
||||||
{{ t("site_map.sections.financial.links.sec_filings") }}
|
{{ t("site_map.sections.financial.links.sec_filings") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/annualreports')">
|
<li @click="router.push(localePath('/annualreports'))">
|
||||||
{{ t("site_map.sections.financial.links.annual_reports") }}
|
{{ t("site_map.sections.financial.links.annual_reports") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/quarterlyreports')">
|
<li @click="router.push(localePath('/quarterlyreports'))">
|
||||||
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
{{ t("site_map.sections.financial.links.quarterly_reports") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -70,10 +70,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.stock.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/stock-quote')">
|
<li @click="router.push(localePath('/stock-quote'))">
|
||||||
{{ t("site_map.sections.stock.links.stock_quote") }}
|
{{ t("site_map.sections.stock.links.stock_quote") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/historic-stock')">
|
<li @click="router.push(localePath('/historic-stock'))">
|
||||||
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
{{ t("site_map.sections.stock.links.historic_stock_price") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -87,10 +87,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.news.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/press-releases')">
|
<li @click="router.push(localePath('/press-releases'))">
|
||||||
{{ t("site_map.sections.news.links.press_releases") }}
|
{{ t("site_map.sections.news.links.press_releases") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/events-calendar')">
|
<li @click="router.push(localePath('/events-calendar'))">
|
||||||
{{ t("site_map.sections.news.links.events_calendar") }}
|
{{ t("site_map.sections.news.links.events_calendar") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -104,10 +104,10 @@
|
|||||||
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
<h3 class="section-title">{{ t("site_map.sections.investor.title") }}</h3>
|
||||||
<div class="content-block">
|
<div class="content-block">
|
||||||
<ul class="link-list">
|
<ul class="link-list">
|
||||||
<li @click="router.push('/contacts')">
|
<li @click="router.push(localePath('/contacts'))">
|
||||||
{{ t("site_map.sections.investor.links.contacts") }}
|
{{ t("site_map.sections.investor.links.contacts") }}
|
||||||
</li>
|
</li>
|
||||||
<li @click="router.push('/email-alerts')">
|
<li @click="router.push(localePath('/email-alerts'))">
|
||||||
{{ t("site_map.sections.investor.links.email_alerts") }}
|
{{ t("site_map.sections.investor.links.email_alerts") }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -121,6 +121,7 @@ import { onMounted, ref, onUnmounted } from "vue";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -532,6 +532,7 @@
|
|||||||
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
||||||
import { NTooltip } from "naive-ui";
|
import { NTooltip } from "naive-ui";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
const localePath = useLocalePath();
|
||||||
import { useStockQuote } from "~/composables/useStockQuote.js";
|
import { useStockQuote } from "~/composables/useStockQuote.js";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@ -706,12 +707,14 @@ onUnmounted(() => {
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const handleLink = (item) => {
|
const handleLink = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -705,13 +705,16 @@ onUnmounted(() => {
|
|||||||
});
|
});
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const handleLink = (item) => {
|
const handleLink = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -313,6 +313,7 @@
|
|||||||
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
||||||
import { NTooltip } from "naive-ui";
|
import { NTooltip } from "naive-ui";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
const localePath = useLocalePath();
|
||||||
import { useStockQuote } from "~/composables/useStockQuote.js";
|
import { useStockQuote } from "~/composables/useStockQuote.js";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@ -490,12 +491,14 @@ onUnmounted(() => {
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const handleLink = (item) => {
|
const handleLink = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -490,6 +490,7 @@
|
|||||||
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
import { onMounted, ref, onUnmounted, computed, nextTick, watch } from "vue";
|
||||||
import { NTooltip } from "naive-ui";
|
import { NTooltip } from "naive-ui";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
const localePath = useLocalePath();
|
||||||
import { useStockQuote } from "~/composables/useStockQuote.js";
|
import { useStockQuote } from "~/composables/useStockQuote.js";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@ -663,12 +664,14 @@ onUnmounted(() => {
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const handleLink = (item) => {
|
const handleLink = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -158,6 +158,7 @@ import dayjs from "dayjs";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@ -301,12 +302,14 @@ const handleSearch = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleNewClick = (item) => {
|
const handleNewClick = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -166,6 +166,7 @@ import dayjs from "dayjs";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@ -310,12 +311,14 @@ const handleSearch = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleNewClick = (item) => {
|
const handleNewClick = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -217,6 +217,7 @@ import axios from "axios";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@ -247,7 +248,7 @@ const titleRefs = ref([]);
|
|||||||
|
|
||||||
const selectedYearLabel = computed(() => {
|
const selectedYearLabel = computed(() => {
|
||||||
const option = state.selectOptions.find(
|
const option = state.selectOptions.find(
|
||||||
(opt) => opt.value === state.selectedValue
|
(opt) => opt.value === state.selectedValue,
|
||||||
);
|
);
|
||||||
return option ? option.label : "";
|
return option ? option.label : "";
|
||||||
});
|
});
|
||||||
@ -301,9 +302,16 @@ watch(
|
|||||||
checkAllTitleOverflow();
|
checkAllTitleOverflow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const map = {
|
||||||
|
en: "enUS",
|
||||||
|
ja: "jaJP",
|
||||||
|
zh: "zhCN",
|
||||||
|
"zh-TW": "zhTW",
|
||||||
|
};
|
||||||
|
|
||||||
// 获取新闻列表
|
// 获取新闻列表
|
||||||
const getPressReleasesDisplay = () => {
|
const getPressReleasesDisplay = () => {
|
||||||
// 只在客户端执行
|
// 只在客户端执行
|
||||||
@ -320,6 +328,7 @@ const getPressReleasesDisplay = () => {
|
|||||||
? null
|
? null
|
||||||
: new Date(state.selectedValue).getTime()
|
: new Date(state.selectedValue).getTime()
|
||||||
: null,
|
: null,
|
||||||
|
langType: map[locale.value],
|
||||||
};
|
};
|
||||||
axios
|
axios
|
||||||
.post(url, params)
|
.post(url, params)
|
||||||
@ -346,13 +355,19 @@ const getPressReleasesDisplay = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
watch(locale, (newLocale, oldLocale) => {
|
||||||
|
// 页码重置为第一页
|
||||||
|
state.currentPage = 1;
|
||||||
|
getPressReleasesDisplay();
|
||||||
|
});
|
||||||
|
|
||||||
// 添加 watcher 来实现自动筛选
|
// 添加 watcher 来实现自动筛选
|
||||||
watch(
|
watch(
|
||||||
() => [state.selectedValue, state.inputValue],
|
() => [state.selectedValue, state.inputValue],
|
||||||
() => {
|
() => {
|
||||||
state.currentPage = 1;
|
state.currentPage = 1;
|
||||||
getPressReleasesDisplay();
|
getPressReleasesDisplay();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -360,7 +375,7 @@ watch(
|
|||||||
() => {
|
() => {
|
||||||
state.currentPage = 1;
|
state.currentPage = 1;
|
||||||
getPressReleasesDisplay();
|
getPressReleasesDisplay();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -368,7 +383,7 @@ watch(
|
|||||||
(newPage) => {
|
(newPage) => {
|
||||||
state.gotoPage = newPage;
|
state.gotoPage = newPage;
|
||||||
getPressReleasesDisplay();
|
getPressReleasesDisplay();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleSearch = () => {
|
const handleSearch = () => {
|
||||||
@ -377,12 +392,14 @@ const handleSearch = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleNewClick = (item) => {
|
const handleNewClick = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.id,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
}),
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const totalPages = computed(() => {
|
const totalPages = computed(() => {
|
||||||
|
|||||||
@ -158,6 +158,7 @@ import dayjs from "dayjs";
|
|||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
|
const localePath = useLocalePath();
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@ -323,12 +324,14 @@ const handleSearch = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleNewClick = (item) => {
|
const handleNewClick = (item) => {
|
||||||
router.push({
|
router.push(
|
||||||
path: "/news",
|
localePath({
|
||||||
query: {
|
path: "/news",
|
||||||
id: item.uuid,
|
query: {
|
||||||
},
|
id: item.uuid,
|
||||||
});
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user