fiee-official-website/src/views/financialinformation/secfilingsdetail/size768/index.vue

202 lines
4.5 KiB
Vue
Raw Normal View History

2025-05-30 07:33:35 +00:00
<template>
<div class="page-container">
2025-05-30 08:18:53 +00:00
<div class="sec-filing-detail-container">
2025-05-30 07:33:35 +00:00
<!-- 标题 -->
2025-05-30 08:18:53 +00:00
<div class="page-title">SEC Filing Details</div>
<!-- Document Details 部分 -->
<div class="section">
<h2 class="section-title">Document Details</h2>
<div class="details-grid">
<div class="detail-item">
<span class="detail-label">Form:</span>
<a :href="filingData.htmlLink" class="detail-value link">{{
filingData.form
}}</a>
</div>
<div class="detail-item">
<span class="detail-label">Filing Date:</span>
<span class="detail-value">{{ filingData.filingDate }}</span>
</div>
<div class="detail-item">
<span class="detail-label">Form Description:</span>
<span class="detail-value">{{ filingData.formDescription }}</span>
</div>
<div class="detail-item">
<span class="detail-label">Company:</span>
<span class="detail-value">{{ filingData.company }}</span>
</div>
<div class="detail-item">
<span class="detail-label">Issuer:</span>
<span class="detail-value">{{ filingData.issuer }}</span>
</div>
2025-05-30 07:33:35 +00:00
</div>
2025-05-30 08:18:53 +00:00
</div>
2025-05-30 07:33:35 +00:00
2025-05-30 08:18:53 +00:00
<!-- Filing Formats 部分 -->
<div class="section">
<h2 class="section-title">Filing Formats</h2>
<div class="formats-list">
<div class="format-item">
<img :src="iconLink" alt="link" class="format-icon" />
<a :href="filingData.htmlLink" class="format-link" target="_blank"
>View HTML</a
>
2025-05-30 07:33:35 +00:00
</div>
2025-05-30 08:18:53 +00:00
</div>
</div>
2025-05-30 07:33:35 +00:00
2025-05-30 08:18:53 +00:00
<!-- XBRL 部分 -->
<div
v-if="
Array.isArray(filingData.dataFiles) && filingData.dataFiles.length > 0
"
class="section"
>
<h2 class="section-title">XBRL</h2>
<div class="formats-list">
<div
class="format-item"
v-for="(item, idx) in filingData.dataFiles"
:key="idx"
>
<img :src="iconLink" alt="link" class="format-icon" />
<a :href="item.fileUrl" class="format-link" target="_blank">{{
item.description
}}</a>
2025-05-30 07:33:35 +00:00
</div>
</div>
2025-05-30 08:18:53 +00:00
</div>
2025-05-30 07:33:35 +00:00
</div>
</div>
</template>
<script setup>
2025-05-30 08:18:53 +00:00
import { ref, onMounted } from "vue";
import iconLink from "@/assets/image/icon/icon-link.png";
import { fileList } from "@/dict/secFiles.js";
import { useRoute } from "vue-router";
// 这里可以根据路由参数或props获取具体的文件详情
const filingData = ref({
form: "",
filingDate: "",
formDescription: "",
company: "",
issuer: "",
htmlLink: "#",
});
const route = useRoute();
onMounted(() => {
const { filingDate } = route.query;
const file = fileList.find((item) => item.filingDate === filingDate);
if (file) {
filingData.value = {
form: file.form,
filingDate: file.filingDate,
formDescription: file.formDescription,
htmlLink: file.fileLink || "#",
dataFiles: file.dataFiles || [],
company: "PDD Holdings",
issuer: "PDD HOLDINGS INC.",
};
}
console.log(filingData.value);
});
2025-05-30 07:33:35 +00:00
</script>
<style scoped lang="scss">
.page-container {
background-image: url("@/assets/image/bg.png");
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
2025-05-30 08:18:53 +00:00
min-height: 100vh;
padding: 20px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.sec-filing-detail-container {
2025-05-30 07:33:35 +00:00
max-width: calc(100% - 300px);
margin: 0 auto;
padding: 20px;
}
2025-05-30 08:18:53 +00:00
.page-title {
2025-05-30 07:33:35 +00:00
font-size: 85px;
2025-05-30 08:18:53 +00:00
font-weight: bold;
2025-05-30 07:33:35 +00:00
color: #333;
2025-05-30 08:18:53 +00:00
margin-bottom: 40px;
2025-05-30 07:33:35 +00:00
}
.section {
2025-05-30 08:18:53 +00:00
margin-bottom: 40px;
2025-05-30 07:33:35 +00:00
}
.section-title {
font-size: 50px;
2025-05-30 08:18:53 +00:00
font-weight: bold;
2025-05-30 07:33:35 +00:00
color: #333;
2025-05-30 08:18:53 +00:00
margin-bottom: 20px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.details-grid {
display: grid;
gap: 25px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.detail-item {
2025-05-30 07:33:35 +00:00
display: flex;
2025-05-30 08:18:53 +00:00
align-items: flex-start;
gap: 20px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.detail-label {
2025-05-30 07:33:35 +00:00
font-weight: bold;
2025-05-30 08:18:53 +00:00
color: #333;
min-width: 150px;
flex-shrink: 0;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.detail-value {
color: #333;
line-height: 1.5;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.link {
color: #0078d7;
text-decoration: underline;
cursor: pointer;
&:hover {
text-decoration: none;
}
}
.formats-list {
2025-05-30 07:33:35 +00:00
display: flex;
2025-05-30 08:18:53 +00:00
flex-direction: column;
gap: 20px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.format-item {
2025-05-30 07:33:35 +00:00
display: flex;
align-items: center;
2025-05-30 08:18:53 +00:00
gap: 16px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.format-icon {
width: 68px;
height: 68px;
2025-05-30 07:33:35 +00:00
}
2025-05-30 08:18:53 +00:00
.format-link {
2025-05-30 07:33:35 +00:00
color: #0078d7;
2025-05-30 08:18:53 +00:00
text-decoration: underline;
2025-05-30 07:33:35 +00:00
font-size: 40px;
&:hover {
2025-05-30 08:18:53 +00:00
text-decoration: none;
2025-05-30 07:33:35 +00:00
}
}
</style>