提交 edf3cf24 authored 作者: yanpeng's avatar yanpeng

exportControl

上级 e2249b4f
<template>
<div class="message-bubble">
<div class="avatar-container">
<img :src="avatar" :alt="name" class="avatar" />
</div>
<div class="bubble-container">
<div class="bubble">
<div class="bubble-header">
<span class="name">{{ name }}</span>
<span class="meta">{{ time }} · {{ source }}</span>
</div>
<div class="bubble-content">
{{ content }}
</div>
<div class="triangle"></div>
</div>
</div>
</div>
</template>
<script setup>
defineProps({
avatar: {
type: String,
default: "https://via.placeholder.com/40x40/4A90E2/FFFFFF?text=T"
},
name: {
type: String,
default: "唐纳德·特朗普"
},
time: {
type: String,
default: "15:23"
},
source: {
type: String,
default: "发布于真实社交"
},
content: {
type: String,
default:
"埃隆·马斯克在强力支持我竞选总统之前,早就知道我强烈反对‘电动汽车强制令’。这太荒谬了,这一直是我竞选活动的主要部分。电动汽车没问题,但不应该强迫每个人都拥有一辆。埃隆获得的补贴可能远远超过历史上任何一个人。如果没有补贴,埃隆可能不得不关门大吉,回到南非老家。"
}
});
</script>
<style scoped>
.message-bubble {
display: flex;
max-width: 600px;
margin: 20px 0;
}
.avatar-container {
flex-shrink: 0;
margin-right: 12px;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 50%;
object-fit: cover;
}
.bubble-container {
flex: 1;
position: relative;
}
.bubble {
background-color: rgba(246, 250, 255, 1);
border-radius: 12px;
padding: 12px 16px;
position: relative;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.bubble-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
.name {
font-weight: bold;
font-size: 14px;
color: #333;
}
.meta {
font-size: 12px;
color: #999;
}
.bubble-content {
font-size: 14px;
line-height: 1.5;
color: #333;
}
.triangle {
position: absolute;
left: -8px;
top: 15px;
width: 0;
height: 0;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-right: 8px solid rgba(246, 250, 255, 1);
}
/* 响应式设计 */
@media (max-width: 768px) {
.message-bubble {
max-width: 100%;
}
.bubble-header {
flex-direction: column;
align-items: flex-start;
}
.meta {
margin-top: 4px;
}
}
</style>
<template>
<div class="info-card">
<div class="color-bar" :style="{ backgroundColor: color }"></div>
<div class="card-content">
<div class="title-section">
<div class="main-title">{{ title }}</div>
<div class="sub-title">{{ subtitle }}</div>
</div>
<div class="description">{{ description }}</div>
<div v-if="quantity > 0" class="quantity" :style="{ color: color }">{{ quantity }}</div>
</div>
</div>
</template>
<script setup>
defineProps({
title: {
type: String,
default: "标题"
},
subtitle: {
type: String,
default: "Subtitle"
},
description: {
type: String,
default: "描述信息"
},
quantity: {
type: [Number, String],
default: 0
},
color: {
type: String,
default: "#409EFF"
}
});
</script>
<style scoped>
.info-card {
max-width: 388px;
min-width: 300px;
height: 150px;
border-radius: 12px;
background-color: white;
display: flex;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
position: relative;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.info-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.color-bar {
width: 6px;
height: 120px;
flex-shrink: 0;
margin-top: 15px;
}
.card-content {
flex: 1;
padding: 20px;
display: flex;
flex-direction: column;
position: relative;
}
.title-section {
margin-bottom: 12px;
}
.main-title {
font-size: 24px;
font-weight: 700;
color: #1f2937;
line-height: 1.2;
}
.sub-title {
font-size: 16px;
font-weight: 700;
line-height: 1.2;
color: #6b7280;
margin-top: 2px;
}
.description {
font-size: 16px;
font-weight: 400;
color: rgba(95, 101, 108, 1);
line-height: 1.4;
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.quantity {
position: absolute;
top: 20px;
right: 20px;
font-size: 32px;
font-weight: 700;
}
</style>
<template>
<div :class="['clickable-card', { disabled: disabled }]" @click="handleClick">
<span class="card-text">{{ text }}</span>
<!-- <span class="arrow-icon"></span> -->
<el-icon><ArrowRight /></el-icon>
</div>
</template>
<script setup>
import { defineProps, defineEmits } from "vue";
import { ArrowRight } from "@element-plus/icons-vue";
import { useRouter } from "vue-router";
const router = useRouter();
const props = defineProps({
text: {
type: String,
default: "点击跳转"
},
link: {
type: String,
default: ""
},
target: {
type: String,
default: "_self"
},
disabled: {
type: Boolean,
default: false
}
});
const emit = defineEmits(["click"]);
const handleClick = () => {
if (props.disabled) return;
emit("click");
if (props.link) {
if (props.link.startsWith("http") || props.link.startsWith("//")) {
// 外部链接
window.open(props.link, props.target);
} else {
router.push(props.link);
console.log(`跳转到: ${props.link}`);
}
}
};
</script>
<style scoped>
.clickable-card {
width: 160px;
height: 48px;
border-radius: 32px;
border: 1px solid rgba(174, 214, 255, 1);
background-color: rgba(231, 243, 255, 1);
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
/* padding: 0 16px; */
cursor: pointer;
transition: all 0.3s ease;
color: rgba(5, 95, 194, 1);
font-size: 20px;
font-weight: 500;
box-sizing: border-box;
}
.clickable-card:hover {
background-color: rgba(231, 243, 255, 0.5);
box-shadow: 0 2px 8px rgba(5, 95, 194, 0.1);
transform: translateY(-2px);
}
.clickable-card:active {
transform: translateY(0);
box-shadow: 0 1px 4px rgba(5, 95, 194, 0.1);
}
.clickable-card.disabled {
opacity: 0.5;
cursor: not-allowed;
}
.clickable-card.disabled:hover {
background-color: white;
box-shadow: none;
transform: none;
}
.arrow-icon {
font-weight: bold;
font-size: 16px;
}
</style>
<template>
<div class="news-list">
<div v-for="(item, index) in listData" :key="index" class="news-item" @click="handleItemClick(item)">
<div class="news-image">
<img :src="item.image" :alt="item.title" />
</div>
<div class="news-content">
<div class="news-header">
<div class="news-title">{{ item.title }}</div>
<div class="news-meta">
<span class="news-time">{{ item.time }}</span> ·
<span class="news-source">{{ item.source }}</span>
</div>
</div>
<div class="news-description">{{ item.description }}</div>
</div>
</div>
</div>
</template>
<script setup>
import { defineProps, defineEmits } from "vue";
const props = defineProps({
listData: {
type: Array,
default: () => [
{
image: "https://via.placeholder.com/72x48/4A90E2/FFFFFF?text=News",
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析指出..."
}
]
}
});
const emit = defineEmits(["item-click"]);
const handleItemClick = item => {
emit("item-click", item);
};
</script>
<style scoped>
.news-list {
width: 100%;
max-width: 800px;
}
.news-item {
display: flex;
padding: 10px 0;
align-items: center;
border-bottom: 1px solid #f0f0f0;
cursor: pointer;
transition: background-color 0.3s;
}
.news-item:hover {
background-color: #f9f9f9;
}
.news-item:last-child {
border-bottom: none;
}
.news-image {
width: 72px;
height: 48px;
flex-shrink: 0;
margin-right: 16px;
border-radius: 4px;
overflow: hidden;
}
.news-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.news-content {
flex: 1;
display: flex;
flex-direction: column;
}
.news-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 8px;
}
.news-title {
font-size: 16px;
font-weight: 700;
color: rgba(59, 65, 75, 1);
line-height: 24px;
flex: 1;
margin-right: 12px;
}
.news-meta {
display: flex;
align-items: center;
height: 24px;
line-height: 24px;
flex-shrink: 0;
font-size: 14px;
color: #999;
}
.news-time {
/* margin-bottom: 2px; */
}
.news-source {
/* color: #666; */
}
.news-description {
font-size: 16px;
color: rgba(59, 65, 75, 1);
line-height: 1.5;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<template>
<div class="custom-title">
<div class="color-block block1"></div>
<div class="color-block block2"></div>
<div class="title-text">{{ title }}</div>
<div class="color-line"></div>
</div>
</template>
<script setup>
defineProps({
title: {
type: String,
default: "最新动态"
}
});
</script>
<style scoped>
.custom-title {
display: flex;
align-items: center;
width: 100%;
margin-bottom: 20px;
padding: 10px 15px;
}
.color-block {
background-color: rgba(174, 214, 255, 1);
height: 30px;
flex-shrink: 0;
}
.block1 {
width: 24px;
}
.block2 {
width: 8px;
margin-left: 10px;
}
.title-text {
font-size: 20px;
font-weight: bold;
margin-left: 20px;
white-space: nowrap;
}
.color-line {
background-color: rgba(174, 214, 255, 1);
height: 2px;
flex-grow: 1;
margin-left: 20px;
}
</style>
...@@ -41,8 +41,90 @@ ...@@ -41,8 +41,90 @@
<div class="item-footer">胜诉/和解率</div> <div class="item-footer">胜诉/和解率</div>
</div> </div>
</div> </div>
<div class="home-main-header-footer-link">
<ClickableCard text="最新动态" link="/billHome" target="_blank" />
<ClickableCard text="资讯要闻" link="/billHome" target="_blank" />
<ClickableCard text="数据总览" link="/billHome" target="_blank" />
<ClickableCard text="资源库" link="/billHome" target="_blank" />
</div>
<div class="home-main-header-footer-info">
<InfoCard
v-for="item in infoList"
:key="item.title"
:title="item.title"
:subtitle="item.subTitle"
:description="item.des"
:quantity="item.num"
:color="item.color"
/>
</div>
</div> </div>
<el-row :gutter="20">
<CustomTitle title="资讯要闻" />
<el-col :span="12">
<custom-container title="新闻资讯" :titleIcon="newsIcon" height="450px">
<template #header-right>
<el-button type="primary" link @click="handleClick">
{{ "更多 +" }}
</el-button>
</template>
<template #default>
<div class="news-list">
<NewsList :list-data="customNewsData" />
</div>
</template>
</custom-container>
</el-col>
<el-col :span="12">
<custom-container title="社交媒体" :titleIcon="dialogIcon" height="450px">
<template #header-right>
<el-button type="primary" link>
{{ "更多 +" }}
</el-button>
</template>
<template #default>
<div class="dialog-list">
<!-- <MessageBubble
:avatar="customMessage.avatar"
:name="customMessage.name"
:time="customMessage.time"
:source="customMessage.source"
:content="customMessage.content"
/> -->
<MessageBubble
:avatar="trumpAvatar"
name="唐纳德·特朗普"
time="16:02"
source="发布于真实社交"
content="埃隆·马斯克在强力支持我竞选总统之前,早就知道我强烈反对‘电动汽车强制令’。这太荒谬了,这一直是我竞选活动的主要部分。电动汽车没问题,但不应该强迫每个人都拥有一辆。埃隆获得的补贴可能远远超过历史上任何一个人。如果没有补贴,埃隆可能不得不关门大吉,回到南非老家。"
/>
<MessageBubble
:avatar="elongAvatar"
name="埃隆·马斯克"
time="16:02"
source="发布于真实社交"
content="如果这个疯狂的支出法案获得通过,‘美国党’将在第二天成立。"
/>
<MessageBubble
:avatar="elongAvatar"
name="埃隆·马斯克"
time="16:02"
source="发布于真实社交"
content="提出特朗普政府的AI政策强调技术开放与快速应用,但可能以牺牲安全防范为代价,开启了“潘多拉魔盒”。"
/>
</div>
</template>
</custom-container>
</el-col>
</el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<CustomTitle title="最新动态" />
<el-col :span="16"> <el-col :span="16">
<custom-container titleType="primary" title="最新出口管制政策" :titleIcon="houseIcon" height="450px"> <custom-container titleType="primary" title="最新出口管制政策" :titleIcon="houseIcon" height="450px">
<template #header-right> <template #header-right>
...@@ -168,6 +250,7 @@ ...@@ -168,6 +250,7 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<CustomTitle title="数据总览" />
<el-col :span="24"> <el-col :span="24">
<custom-container title="发布频度" :titleIcon="box3Icon" height="450px"> <custom-container title="发布频度" :titleIcon="box3Icon" height="450px">
<template #default> <template #default>
...@@ -304,6 +387,7 @@ ...@@ -304,6 +387,7 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<CustomTitle title="最新动态" />
<el-col :span="8"> <el-col :span="8">
<custom-container title="历次制裁过程" :titleIcon="listIcon" height="845px"> <custom-container title="历次制裁过程" :titleIcon="listIcon" height="845px">
<template #default> <template #default>
...@@ -529,6 +613,16 @@ import { useRouter } from "vue-router"; ...@@ -529,6 +613,16 @@ import { useRouter } from "vue-router";
const router = useRouter(); const router = useRouter();
import CustomContainer from "@/components/Container/index.vue"; import CustomContainer from "@/components/Container/index.vue";
import ClickableCard from "./components/link.vue";
import InfoCard from "./components/info.vue";
import CustomTitle from "./components/title.vue";
import NewsList from "./components/news.vue";
import MessageBubble from "./components/dialog.vue";
import trumpAvatar from "@/assets/images/icon-trump.png";
import elongAvatar from "@/assets/images/icon-elong.png";
import newsIcon from "@/assets/images/icon-news.png";
import dialogIcon from "@/assets/images/icon-duihua.png";
import houseIcon from "@/assets/images/icon-house.png"; import houseIcon from "@/assets/images/icon-house.png";
import dangerIcon from "./assets/images/box2-header-icon.png"; import dangerIcon from "./assets/images/box2-header-icon.png";
import box1Image from "./assets/images/box1-image.png"; import box1Image from "./assets/images/box1-image.png";
...@@ -539,6 +633,8 @@ import listIcon from "./assets/images/icon-list.png"; ...@@ -539,6 +633,8 @@ import listIcon from "./assets/images/icon-list.png";
import dotIcon from "./assets/images/info2-icon.png"; import dotIcon from "./assets/images/info2-icon.png";
import entityIcon from "./assets/images/icon-entity.png"; import entityIcon from "./assets/images/icon-entity.png";
import newsImg from "@/assets/images/news-img.png";
import { getHotBills, getBillsByType, getHylyList } from "@/api/home"; import { getHotBills, getBillsByType, getHylyList } from "@/api/home";
import headerIcon1 from "./assets/icons/header-icon1.png"; import headerIcon1 from "./assets/icons/header-icon1.png";
...@@ -576,6 +672,37 @@ const curBillListIndex = ref(0); ...@@ -576,6 +672,37 @@ const curBillListIndex = ref(0);
const searchKey = ref(""); const searchKey = ref("");
const infoList = ref([
{
title: "实体清单",
subTitle: "Entity List",
des: "美国商务部工业与安全局依据《出口管理条例》建立的出口管制机制",
num: 956,
color: "rgba(206, 79, 81, 1)"
},
{
title: "商业管制清单 ",
subTitle: "CCL",
des: "美国《出口管制条例》中列明受管制军民两用物项的清单",
num: 253,
color: "rgba(114, 46, 209, 1)"
},
{
title: "关键与新兴技术清单",
subTitle: "CETs",
des: "美国为维护其技术领导地位与国家安全而制定的18项优先发展技术清单",
num: 52,
color: "rgba(250, 140, 22, 1)"
},
{
title: "军事最终用户清单 ",
subTitle: "MEU",
des: "美国商务部制定的限制特定外国实体获取可能用于军事用途的美国技术的清单",
num: 0,
color: "rgba(132, 136, 142, 1)"
}
]);
const entityList = ref([ const entityList = ref([
{ {
name: "北京复旦微电子技术有限公司", name: "北京复旦微电子技术有限公司",
...@@ -611,6 +738,44 @@ const entityList = ref([ ...@@ -611,6 +738,44 @@ const entityList = ref([
} }
]); ]);
const customNewsData = ref([
{
image: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
},
{
image: newsImg,
title: "美国智库激辩人工智能监管路径",
time: "11-4",
source: "华盛顿邮报",
description: "各方就AI监管模式展开讨论。有观点认为碎片化州级监管比全面联邦法规更灵活,也有分析..."
}
]);
const handleSwithCurBill = name => { const handleSwithCurBill = name => {
if (name === "left") { if (name === "left") {
if (curBillListIndex.value === 0) { if (curBillListIndex.value === 0) {
...@@ -1873,6 +2038,12 @@ onMounted(async () => { ...@@ -1873,6 +2038,12 @@ onMounted(async () => {
} }
} }
} }
.home-main-header-footer-link,
.home-main-header-footer-info {
display: flex;
gap: 30px;
padding: 30px 0;
}
} }
.home-main-center { .home-main-center {
margin-top: 34px; margin-top: 34px;
......
<template> <template>
<div class="home-wrapper"> <div class="home-wrapper">
<div class="home-main"> <div class="home-main">
<div class="home-main-header"> <div class="home-main-header">
<div class="home-main-header-top"> <div class="home-main-header-top">
<span>国家科技安全 </span>> <span>中美博弈概览 </span>> <span>国家科技安全 </span>> <span>中美博弈概览 </span>>
<span>市场准入限制</span> <span>市场准入限制</span>
</div> </div>
<div class="home-main-header-center"> <div class="home-main-header-center">
<el-input <el-input v-model="input" style="width: 838px; height: 100%" placeholder="搜索市场准入限制调查" />
v-model="input" <div class="search">
style="width: 838px; height: 100%" <div class="search-icon">
placeholder="搜索市场准入限制调查" <img src="./assets/images/search-icon.png" alt="" />
/> </div>
<div class="search"> <div class="search-text">搜索</div>
<div class="search-icon"> </div>
<img src="./assets/images/search-icon.png" alt="" /> </div>
</div> <div class="home-main-header-footer">
<div class="search-text">搜索</div> <div class="home-main-header-footer-item">
</div> <div class="item-top">142</div>
</div> <div class="item-footer">总调查案件数</div>
<div class="home-main-header-footer"> </div>
<div class="home-main-header-footer-item"> <div class="home-main-header-footer-item">
<div class="item-top">142</div> <div class="item-top">28</div>
<div class="item-footer">总调查案件数</div> <div class="item-footer">调查中案件数</div>
</div> </div>
<div class="home-main-header-footer-item"> <div class="home-main-header-footer-item">
<div class="item-top">28</div> <div class="item-top">326</div>
<div class="item-footer">调查中案件数</div> <div class="item-footer">涉及中企</div>
</div> </div>
<div class="home-main-header-footer-item"> <div class="home-main-header-footer-item">
<div class="item-top">326</div> <div class="item-top">38%</div>
<div class="item-footer">涉及中企</div> <div class="item-footer">胜诉/和解率</div>
</div> </div>
<div class="home-main-header-footer-item"> <div class="home-main-header-footer-item">
<div class="item-top">38%</div> <div class="item-top">285</div>
<div class="item-footer">胜诉/和解率</div> <div class="item-footer">分析报告</div>
</div> </div>
<div class="home-main-header-footer-item"> </div>
<div class="item-top">285</div> </div>
<div class="item-footer">分析报告</div> <div class="home-main-center">
</div> <div class="center-top">
</div> <div class="box1">
</div> <div class="box1-left">
<div class="home-main-center"> <img src="./assets/images/box1-left.png" alt="" />
<div class="center-top"> </div>
<div class="box1"> <div class="box1-right">
<div class="box1-left"> <img src="./assets/images/box1-right.png" alt="" />
<img src="./assets/images/box1-left.png" alt="" /> </div>
</div> <div class="box1-header">
<div class="box1-right"> <div class="box1-header-left">
<img src="./assets/images/box1-right.png" alt="" /> <div class="icon">
</div> <img src="./assets/images/box1-header-icon.png" alt="" />
<div class="box1-header"> </div>
<div class="box1-header-left"> <div class="title">{{ "调查进展" }}</div>
<div class="icon"> </div>
<img src="./assets/images/box1-header-icon.png" alt="" /> <div class="box1-header-right" @click="handleClickToDetail()">
</div> {{ "查看详情 >" }}
<div class="title">{{ "调查进展" }}</div> </div>
</div> </div>
<div class="box1-header-right" @click="handleClickToDetail()"> <div class="box1-main">
{{ "查看详情 >" }} <div class="box1-main-header">
</div> <div class="header-left">
</div> {{ "美国ITC发布对外国制造的半导体器件及其下游产品和组件的337部分终裁" }}
<div class="box1-main"> </div>
<div class="box1-main-header"> <div class="header-right">
<div class="header-left"> <div class="tag1">{{ "337" }}</div>
{{ <div class="tag2">{{ "半导体" }}</div>
"美国ITC发布对外国制造的半导体器件及其下游产品和组件的337部分终裁" </div>
}} </div>
</div> <div class="info-box">
<div class="header-right"> <div class="info-header">
<div class="tag1">{{ "337" }}</div> <div class="icon"></div>
<div class="tag2">{{ "半导体" }}</div> <div class="time">{{ "2025-08-15" }}</div>
</div> <div class="title">{{ "部分终裁" }}</div>
</div> </div>
<div class="info-box"> <div class="info-content">
<div class="info-header"> {{
<div class="icon"></div> "对本案行政法官于2025年7月31日作出的初裁(No.36)不予复审,即基于申请方撤回,终止本案对美国注册专利号9,093,473第4项申诉的调查。"
<div class="time">{{ "2025-08-15" }}</div> }}
<div class="title">{{ "部分终裁" }}</div> </div>
</div> </div>
<div class="info-content"> <div class="list-box">
{{ <div class="list-item">
"对本案行政法官于2025年7月31日作出的初裁(No.36)不予复审,即基于申请方撤回,终止本案对美国注册专利号9,093,473第4项申诉的调查。" <div class="icon"></div>
}} <div class="list-left">{{ "调查案号:" }}</div>
</div> <div class="list-right">{{ "337-TA-1443" }}</div>
</div> </div>
<div class="list-box"> <div class="list-item">
<div class="list-item"> <div class="icon"></div>
<div class="icon"></div> <div class="list-left">{{ "涉及产品:" }}</div>
<div class="list-left">{{ "调查案号:" }}</div> <div class="list-right">
<div class="list-right">{{ "337-TA-1443" }}</div> {{
</div> "对美出口、在美进口及销售的特定外国制造的半导体器件及其下游产品和组件(Certain Foreign-Fabricated ..."
<div class="list-item"> }}
<div class="icon"></div> </div>
<div class="list-left">{{ "涉及产品:" }}</div> </div>
<div class="list-right"> <div class="list-item">
{{ <div class="icon"></div>
"对美出口、在美进口及销售的特定外国制造的半导体器件及其下游产品和组件(Certain Foreign-Fabricated ..." <div class="list-left">{{ "原告:" }}</div>
}} <div class="list-right">
</div> {{ "爱尔兰Longitude Licensing Ltd.、爱尔兰Marlin Semiconductor Limited" }}
</div> </div>
<div class="list-item"> </div>
<div class="icon"></div> <div class="list-item">
<div class="list-left">{{ "原告:" }}</div> <div class="icon"></div>
<div class="list-right"> <div class="list-left">{{ "被告:" }}</div>
{{ <div class="list-right">
"爱尔兰Longitude Licensing Ltd.、爱尔兰Marlin Semiconductor Limited" {{
}} "中国台湾地区Taiwan Semiconductor Manufacturing Company Limited of Taiwan、美国Apple Inc. of ...."
</div> }}
</div> </div>
<div class="list-item"> </div>
<div class="icon"></div> <div class="list-item">
<div class="list-left">{{ "被告:" }}</div> <div class="icon"></div>
<div class="list-right"> <div class="list-left">{{ "涉案专利" }}</div>
{{ <div class="list-right">
"中国台湾地区Taiwan Semiconductor Manufacturing Company Limited of Taiwan、美国Apple Inc. of ...." {{ "美国注册专利号7745847、9093473、9147747、9184292" }}
}} </div>
</div> </div>
</div> </div>
<div class="list-item"> </div>
<div class="icon"></div> </div>
<div class="list-left">{{ "涉案专利" }}</div> <div class="box2">
<div class="list-right"> <div class="box2-header">
{{ "美国注册专利号7745847、9093473、9147747、9184292" }} <div class="icon">
</div> <img src="./assets/images/box2-header-icon.png" alt="" />
</div> </div>
</div> <div class="title">
</div> <div class="text">{{ "风险信号" }}</div>
</div> <div class="num">{{ warningList.length }}</div>
<div class="box2"> </div>
<div class="box2-header"> <div class="more">{{ "更多 >" }}</div>
<div class="icon"> </div>
<img src="./assets/images/box2-header-icon.png" alt="" /> <div class="box2-main">
</div> <div class="box2-main-item" v-for="(item, index) in warningList" :key="index">
<div class="title"> <div
<div class="text">{{ "风险信号" }}</div> class="item-left"
<div class="num">{{ warningList.length }}</div> :class="{
</div> itemLeftStatus1: item.status === '一般风险',
<div class="more">{{ "更多 >" }}</div> itemLeftStatus2: item.status === '重大风险'
</div> }"
<div class="box2-main"> >
<div {{ item.status }}
class="box2-main-item" </div>
v-for="(item, index) in warningList" <div class="item-right">
:key="index" <div class="text">
> {{ item.title }}
<div </div>
class="item-left" <div class="time">{{ item.time }}</div>
:class="{ </div>
itemLeftStatus1: item.status === '一般风险', </div>
itemLeftStatus2: item.status === '重大风险', </div>
}" <div class="box2-footer">
> <div class="icon">
{{ item.status }} <img src="./assets/images/box2-footer-icon.png" alt="" />
</div> </div>
<div class="item-right"> <div class="text">{{ "风险处理" }}</div>
<div class="text"> </div>
{{ item.title }} </div>
</div> </div>
<div class="time">{{ item.time }}</div> <div class="center-center">
</div> <div class="center-center-box1">
</div> <div class="header">
</div> <div class="header-left">{{ "301调查" }}</div>
<div class="box2-footer"> <div class="header-right">{{ "52项" }}</div>
<div class="icon"> </div>
<img src="./assets/images/box2-footer-icon.png" alt="" /> <div class="content-box">
</div> <div class="item">{{ "可能措施: 加征关税、限制进口" }}</div>
<div class="text">{{ "风险处理" }}</div> <div class="item">
</div> {{ '依据《1974年贸易法》第301条针对"不合理或不公正贸易做法"' }}
</div> </div>
</div> </div>
<div class="center-center"> </div>
<div class="center-center-box1"> <div class="center-center-box2">
<div class="header"> <div class="header">
<div class="header-left">{{ "301调查" }}</div> <div class="header-left">{{ "232调查" }}</div>
<div class="header-right">{{ "52项" }}</div> <div class="header-right">{{ "3项" }}</div>
</div> </div>
<div class="content-box"> <div class="content-box">
<div class="item">{{ "可能措施: 加征关税、限制进口" }}</div> <div class="item">{{ "可能措施: 加征关税、限制进口" }}</div>
<div class="item"> <div class="item">
{{ '依据《1974年贸易法》第301条针对"不合理或不公正贸易做法"' }} {{ "依据《1962年贸易扩展法》第232条评估进口产品对国家安全影响" }}
</div> </div>
</div> </div>
</div> </div>
<div class="center-center-box2"> <div class="center-center-box3">
<div class="header"> <div class="header">
<div class="header-left">{{ "232调查" }}</div> <div class="header-left">{{ "337调查" }}</div>
<div class="header-right">{{ "3项" }}</div> <div class="header-right">{{ "87项" }}</div>
</div> </div>
<div class="content-box"> <div class="content-box">
<div class="item">{{ "可能措施: 加征关税、限制进口" }}</div> <div class="item">{{ "可能措施: 排除令、禁止令" }}</div>
<div class="item"> <div class="item">
{{ {{ "依据《1930年关税法》第337条针对知识产权侵权行为" }}
"依据《1962年贸易扩展法》第232条评估进口产品对国家安全影响" </div>
}} </div>
</div> </div>
</div> </div>
</div> <div class="center-footer">
<div class="center-center-box3"> <div class="box3">
<div class="header"> <div class="box3-header">
<div class="header-left">{{ "337调查" }}</div> <div class="box3-header-left">
<div class="header-right">{{ "87项" }}</div> <div class="box3-header-icon">
</div> <img src="./assets/images/box3-header-icon.png" alt="" />
<div class="content-box"> </div>
<div class="item">{{ "可能措施: 排除令、禁止令" }}</div> <div class="box3-header-title">{{ "调查数量" }}</div>
<div class="item"> </div>
{{ "依据《1930年关税法》第337条针对知识产权侵权行为" }} <div class="box3-header-right">
</div> <div class="right-box rightBoxActive">
</div> {{ "按年度" }}
</div> </div>
</div> <div class="right-box">
<div class="center-footer"> {{ "按月度" }}
<div class="box3"> </div>
<div class="box3-header"> </div>
<div class="box3-header-left"> </div>
<div class="box3-header-icon"> <div class="box3-main" id="chart1"></div>
<img src="./assets/images/box3-header-icon.png" alt="" /> </div>
</div> <div class="box4">
<div class="box3-header-title">{{ "调查数量" }}</div> <div class="box4-header">
</div> <div class="header-icon">
<div class="box3-header-right"> <img src="./assets/images/box4-header-icon.png" alt="" />
<div class="right-box rightBoxActive"> </div>
{{ "按年度" }} <div class="header-title">{{ "涉及领域" }}</div>
</div> <div class="box4-header-right">
<div class="right-box"> <el-select v-model="curAreaYear" placeholder="选择发布时间" style="width: 120px">
{{ "按月度" }} <el-option
</div> v-for="item in areaYearList"
</div> :key="item.value"
</div> :label="item.label"
<div class="box3-main" id="chart1"></div> :value="item.value"
</div> />
<div class="box4"> </el-select>
<div class="box4-header"> </div>
<div class="header-icon"> </div>
<img src="./assets/images/box4-header-icon.png" alt="" /> <div class="box4-main" id="chart2"></div>
</div> </div>
<div class="header-title">{{ "涉及领域" }}</div> </div>
<div class="box4-header-right"> </div>
<el-select
v-model="curAreaYear"
placeholder="选择发布时间"
style="width: 120px"
>
<el-option
v-for="item in areaYearList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
<div class="box4-main" id="chart2"></div>
</div>
</div>
</div>
<div class="home-main-footer"> <div class="home-main-footer">
<div class="home-main-footer-header"> <div class="home-main-footer-header">
<div class="btn-box"> <div class="btn-box">
<div <div
class="btn" class="btn"
:class="{ btnActive: activeCate === cate }" :class="{ btnActive: activeCate === cate }"
v-for="(cate, index) in categoryList" v-for="(cate, index) in categoryList"
:key="index" :key="index"
@click="handleClickCate(cate)" @click="handleClickCate(cate)"
> >
{{ cate }} {{ cate }}
</div> </div>
</div> </div>
<div class="select-box"> <div class="select-box">
<el-select <el-select v-model="releaseTime" placeholder="选择发布时间" style="width: 120px">
v-model="releaseTime" <el-option
placeholder="选择发布时间" v-for="item in releaseTimeList"
style="width: 120px" :key="item.value"
> :label="item.label"
<el-option :value="item.value"
v-for="item in releaseTimeList" />
:key="item.value" </el-select>
:label="item.label" <!-- <el-select
:value="item.value"
/>
</el-select>
<!-- <el-select
v-model="releaseTime" v-model="releaseTime"
placeholder="选择发布时间" placeholder="选择发布时间"
style="width: 120px" style="width: 120px"
...@@ -295,95 +273,75 @@ ...@@ -295,95 +273,75 @@
:value="item.value" :value="item.value"
/> />
</el-select> --> </el-select> -->
</div> </div>
</div> </div>
<div class="home-main-footer-main"> <div class="home-main-footer-main">
<div class="left"> <div class="left">
<div class="left-box1"> <div class="left-box1">
<div class="left-box1-header"> <div class="left-box1-header">
<div class="icon"></div> <div class="icon"></div>
<div class="title">{{ "发布时间" }}</div> <div class="title">{{ "发布时间" }}</div>
</div> </div>
<div class="left-box1-main"> <div class="left-box1-main">
<div <div class="time-label" v-for="(item, index) in surveyYearList" :key="index">
class="time-label" <el-checkbox v-model="item.selected" :label="item.name" size="large" />
v-for="(item, index) in surveyYearList" </div>
:key="index" </div>
> </div>
<el-checkbox <div class="left-box2">
v-model="item.selected" <div class="left-box2-header">
:label="item.name" <div class="icon"></div>
size="large" <div class="title">{{ "涉及领域" }}</div>
/> </div>
</div> <div class="left-box2-main">
</div> <div class="area-label" v-for="(item, index) in surveyAreaList" :key="index">
</div> <el-checkbox v-model="item.selected" :label="item.name" size="large" />
<div class="left-box2"> </div>
<div class="left-box2-header"> </div>
<div class="icon"></div> </div>
<div class="title">{{ "涉及领域" }}</div> </div>
</div> <div class="right">
<div class="left-box2-main"> <div class="right-header">
<div <div class="header-item1">{{ "调查名称" }}</div>
class="area-label" <div class="header-item2">{{ "调查案号" }}</div>
v-for="(item, index) in surveyAreaList" <div class="header-item3">{{ "涉及领域" }}</div>
:key="index" <div class="header-item4">{{ "案件状态" }}</div>
> <div class="header-item5">{{ "发布日期" }}</div>
<el-checkbox </div>
v-model="item.selected" <div class="right-main">
:label="item.name" <div class="item" v-for="(val, idx) in surveyInfoList" :key="idx">
size="large" <div class="item-box1">
/> <div
</div> class="name"
</div> :class="{
</div> name1: val.name === '301',
</div> name2: val.name === '337',
<div class="right"> name3: val.name === '232'
<div class="right-header"> }"
<div class="header-item1">{{ "调查名称" }}</div> >
<div class="header-item2">{{ "调查案号" }}</div> {{ val.name }}
<div class="header-item3">{{ "涉及领域" }}</div> </div>
<div class="header-item4">{{ "案件状态" }}</div> <div class="title">{{ val.title }}</div>
<div class="header-item5">{{ "发布日期" }}</div> </div>
</div> <div class="item-box2">{{ val.num }}</div>
<div class="right-main"> <div class="item-box3">{{ val.area }}</div>
<div class="item" v-for="(val, idx) in surveyInfoList" :key="idx"> <div class="item-box4">{{ val.status }}</div>
<div class="item-box1"> <div class="item-box5">{{ val.releaseDate }}</div>
<div </div>
class="name" </div>
:class="{ <div class="right-footer">
name1: val.name === '301', <div class="footer-left">
name2: val.name === '337', {{ "共105项调查" }}
name3: val.name === '232', </div>
}" <div class="footer-right">
> <el-pagination background layout="prev, pager, next" :total="105" />
{{ val.name }} </div>
</div> </div>
<div class="title">{{ val.title }}</div> </div>
</div> </div>
<div class="item-box2">{{ val.num }}</div> </div>
<div class="item-box3">{{ val.area }}</div> </div>
<div class="item-box4">{{ val.status }}</div> </div>
<div class="item-box5">{{ val.releaseDate }}</div>
</div>
</div>
<div class="right-footer">
<div class="footer-left">
{{ "共105项调查" }}
</div>
<div class="footer-right">
<el-pagination
background
layout="prev, pager, next"
:total="105"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template> </template>
<script setup> <script setup>
...@@ -395,61 +353,61 @@ import getMultiLineChart from "./utils/multiLineChart"; ...@@ -395,61 +353,61 @@ import getMultiLineChart from "./utils/multiLineChart";
import getPieChart from "./utils/piechart"; import getPieChart from "./utils/piechart";
const handleClickToDetail = () => { const handleClickToDetail = () => {
router.push("/marketAccessLayout"); router.push("/marketAccessLayout");
}; };
// 风险信号 // 风险信号
const warningList = ref([ const warningList = ref([
{ {
title: "关于对中华人民共和国合成阿片类药物供应链...", title: "关于对中华人民共和国合成阿片类药物供应链...",
time: "一天前", time: "一天前",
status: "特别重大", status: "特别重大"
}, },
{ {
title: "关于调整汽车及汽车零部件进口的公告", title: "关于调整汽车及汽车零部件进口的公告",
time: "一天前", time: "一天前",
status: "特别重大", status: "特别重大"
}, },
{ {
title: "关于调整钢铁进口的公告", title: "关于调整钢铁进口的公告",
time: "一天前", time: "一天前",
status: "重大风险", status: "重大风险"
}, },
{ {
title: "关于使用互惠关税规范进口以纠正导致大规模...", title: "关于使用互惠关税规范进口以纠正导致大规模...",
time: "一天前", time: "一天前",
status: "重大风险", status: "重大风险"
}, },
{ {
title: "关于修订对中华人民共和国低价值进口商品适...", title: "关于修订对中华人民共和国低价值进口商品适...",
time: "一天前", time: "一天前",
status: "一般风险", status: "一般风险"
}, }
]); ]);
const releaseTime = ref("近一年发布"); const releaseTime = ref("近一年发布");
const releaseTimeList = ref([ const releaseTimeList = ref([
{ {
label: "近半年发布", label: "近半年发布",
value: "近半年发布", value: "近半年发布"
}, },
{ {
label: "近一年发布", label: "近一年发布",
value: "近一年发布", value: "近一年发布"
}, },
{ {
label: "近两年发布", label: "近两年发布",
value: "近两年发布", value: "近两年发布"
}, },
{ {
label: "近三年发布", label: "近三年发布",
value: "近三年发布", value: "近三年发布"
}, },
{ {
label: "近五年发布", label: "近五年发布",
value: "近五年发布", value: "近五年发布"
}, }
]); ]);
const categoryList = ref(["全部调查", "301调查", "232调查", "337调查"]); const categoryList = ref(["全部调查", "301调查", "232调查", "337调查"]);
...@@ -457,1337 +415,1314 @@ const categoryList = ref(["全部调查", "301调查", "232调查", "337调查"] ...@@ -457,1337 +415,1314 @@ const categoryList = ref(["全部调查", "301调查", "232调查", "337调查"]
const activeCate = ref("全部调查"); const activeCate = ref("全部调查");
const activeHylyId = ref(""); const activeHylyId = ref("");
const handleClickCate = (cate) => { const handleClickCate = cate => {
console.log(cate); console.log(cate);
activeCate.value = cate.hylymc; activeCate.value = cate.hylymc;
activeHylyId.value = cate.hylyid; activeHylyId.value = cate.hylyid;
handleGetBillsByType(); handleGetBillsByType();
}; };
// 绘制echarts图表 // 绘制echarts图表
const setChart = (option, chartId) => { const setChart = (option, chartId) => {
let chartDom = document.getElementById(chartId); let chartDom = document.getElementById(chartId);
chartDom.removeAttribute("_echarts_instance_"); chartDom.removeAttribute("_echarts_instance_");
let chart = echarts.init(chartDom); let chart = echarts.init(chartDom);
chart.setOption(option); chart.setOption(option);
return chart; return chart;
}; };
const chart1Data = ref({ const chart1Data = ref({
title: [ title: ["2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"],
"2014", data: [
"2015", {
"2016", name: "337调查",
"2017", value: [73, 32, 42, 48, 38, 49, 63, 75, 70, 86, 95, 87]
"2018", },
"2019", {
"2020", name: "301调查",
"2021", value: [8, 3, 2, 8, 9, 10, 12, 18, 16, 18, 20, 22]
"2022", },
"2023", {
"2024", name: "232调查",
"2025", value: [1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 3]
], }
data: [ ]
{
name: "337调查",
value: [73, 32, 42, 48, 38, 49, 63, 75, 70, 86, 95, 87],
},
{
name: "301调查",
value: [8, 3, 2, 8, 9, 10, 12, 18, 16, 18, 20, 22],
},
{
name: "232调查",
value: [1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 3],
},
],
}); });
// 涉及领域 // 涉及领域
const curAreaYearList = ref([ const curAreaYearList = ref([
{ {
name: "半导体", name: "半导体",
value: 50, value: 50
}, },
{ {
name: "电子设备", name: "电子设备",
value: 46, value: 46
}, },
{ {
name: "显示技术", name: "显示技术",
value: 40, value: 40
}, },
{ {
name: "新能源", name: "新能源",
value: 32, value: 32
}, },
{ {
name: "通信设备", name: "通信设备",
value: 31, value: 31
}, },
{ {
name: "汽车", name: "汽车",
value: 30, value: 30
}, },
{ {
name: "其他", name: "其他",
value: 24, value: 24
}, }
]); ]);
const chart2ColorList = ref([ const chart2ColorList = ref(["#4096FF", "#FFA39E", "#ADC6FF", "#FFC069", "#B5F5EC", "#B37FEB", "#D6E4FF"]);
"#4096FF",
"#FFA39E",
"#ADC6FF",
"#FFC069",
"#B5F5EC",
"#B37FEB",
"#D6E4FF",
]);
const areaYearList = ref([ const areaYearList = ref([
{ {
label: "2025", label: "2025",
value: "2025", value: "2025"
}, },
{ {
label: "2024", label: "2024",
value: "2024", value: "2024"
}, },
{ {
label: "2023", label: "2023",
value: "2023", value: "2023"
}, },
{ {
label: "2022", label: "2022",
value: "2022", value: "2022"
}, },
{ {
label: "2021", label: "2021",
value: "2021", value: "2021"
}, },
{ {
label: "2020", label: "2020",
value: "2020", value: "2020"
}, }
]); ]);
const curAreaYear = ref("2025"); const curAreaYear = ref("2025");
const surveyYearList = ref([ const surveyYearList = ref([
{ {
name: "全部时间", name: "全部时间",
selected: false, selected: false
}, },
{ {
name: "2025年", name: "2025年",
selected: false, selected: false
}, },
{ {
name: "2024年", name: "2024年",
selected: false, selected: false
}, },
{ {
name: "2023年", name: "2023年",
selected: false, selected: false
}, },
{ {
name: "2022年", name: "2022年",
selected: false, selected: false
}, },
{ {
name: "2021年", name: "2021年",
selected: false, selected: false
}, }
]); ]);
const surveyAreaList = ref([ const surveyAreaList = ref([
{ {
name: "人工智能", name: "人工智能",
selected: false, selected: false
}, },
{ {
name: "半导体/芯片", name: "半导体/芯片",
selected: false, selected: false
}, },
{ {
name: "电子设备", name: "电子设备",
selected: false, selected: false
}, },
{ {
name: "显示技术", name: "显示技术",
selected: false, selected: false
}, },
{ {
name: "新能源", name: "新能源",
selected: false, selected: false
}, },
{ {
name: "通信设备", name: "通信设备",
selected: false, selected: false
}, }
]); ]);
const surveyInfoList = ref([ const surveyInfoList = ref([
{ {
name: "301", name: "301",
title: "某些车辆远程信息处理、车队管理以及基于视频的安全系统、设备和组件", title: "某些车辆远程信息处理、车队管理以及基于视频的安全系统、设备和组件12",
num: "337-TA-1393", num: "337-TA-1393",
area: "半导体", area: "半导体",
status: "正在调查", status: "正在调查",
releaseDate: "2025年9月1日", releaseDate: "2025年9月1日"
}, },
{ {
name: "337", name: "337",
title: "某些蒸发器设备,其中使用的墨盒及其组件(II)", title: "某些蒸发器设备,其中使用的墨盒及其组件(II)",
num: "337-TA-1392", num: "337-TA-1392",
area: "制造业", area: "制造业",
status: "正在调查", status: "正在调查",
releaseDate: "2025年8月15日", releaseDate: "2025年8月15日"
}, },
{ {
name: "301", name: "301",
title: "某些Topcon太阳能电池,模块,面板,组件及其组件和包含相同产品", title: "某些Topcon太阳能电池,模块,面板,组件及其组件和包含相同产品",
num: "337-TA-1422和337-TA-1425(合并)", num: "337-TA-1422和337-TA-1425(合并)",
area: "半导体", area: "半导体",
status: "正在调查", status: "正在调查",
releaseDate: "2025年8月10日", releaseDate: "2025年8月10日"
}, },
{ {
name: "337", name: "337",
title: "某些光伏干线总线电缆组件及其组件", title: "某些光伏干线总线电缆组件及其组件",
num: "337-TA-1438", num: "337-TA-1438",
area: "光伏", area: "光伏",
status: "正在调查", status: "正在调查",
releaseDate: "2025年7月29日", releaseDate: "2025年7月29日"
}, },
{ {
name: "337", name: "337",
title: "某些外国制造的半导体器件、包含相同产品及其组件的组件", title: "某些外国制造的半导体器件、包含相同产品及其组件的组件",
num: "337-TA-1443", num: "337-TA-1443",
area: "半导体", area: "半导体",
status: "正在调查", status: "正在调查",
releaseDate: "2025年7月18日", releaseDate: "2025年7月18日"
}, },
{ {
name: "301", name: "301",
title: "某些车辆远程信息处理、车队管理以及基于视频的安全系统、设备及其组件", title: "某些车辆远程信息处理、车队管理以及基于视频的安全系统、设备及其组件",
num: "337-TA-1441", num: "337-TA-1441",
area: "半导体", area: "半导体",
status: "终止调查", status: "终止调查",
releaseDate: "2025年7月1日", releaseDate: "2025年7月1日"
}, },
{ {
name: "337", name: "337",
title: "某些包含相同功能的无线前端模块和设备", title: "某些包含相同功能的无线前端模块和设备",
num: "337-TA-1435", num: "337-TA-1435",
area: "半导体", area: "半导体",
status: "正在调查", status: "正在调查",
releaseDate: "2025年6月14日", releaseDate: "2025年6月14日"
}, },
{ {
name: "337", name: "337",
title: title: "用于液晶显示器的某些玻璃基板,含有相同产品的产品以及制造相同方法的玻璃基板",
"用于液晶显示器的某些玻璃基板,含有相同产品的产品以及制造相同方法的玻璃基板", num: "337-TA-1433",
num: "337-TA-1433", area: "显示技术",
area: "显示技术", status: "正在调查",
status: "正在调查", releaseDate: "2025年6月5日"
releaseDate: "2025年6月5日", },
}, {
{ name: "337",
name: "337", title: "某些Topcon太阳能电池,模块,面板,组件及其组件和包含相同产品",
title: "某些Topcon太阳能电池,模块,面板,组件及其组件和包含相同产品", num: "337-TA-1422和337-TA-1425(合并)",
num: "337-TA-1422和337-TA-1425(合并)", area: "光伏",
area: "光伏", status: "终止调查",
status: "终止调查", releaseDate: "2025年8月10日"
releaseDate: "2025年8月10日", },
}, {
{ name: "232",
name: "232", title: "某些蒸发器设备,其中使用的墨盒及其组件(II)",
title: "某些蒸发器设备,其中使用的墨盒及其组件(II)", num: "337-TA-1392",
num: "337-TA-1392", area: "制造业",
area: "制造业", status: "终止调查",
status: "终止调查", releaseDate: "2025年8月15日"
releaseDate: "2025年8月15日", }
},
]); ]);
onMounted(async () => { onMounted(async () => {
let chart1 = getMultiLineChart( let chart1 = getMultiLineChart(
chart1Data.value.title, chart1Data.value.title,
chart1Data.value.data[0].value, chart1Data.value.data[0].value,
chart1Data.value.data[1].value, chart1Data.value.data[1].value,
chart1Data.value.data[2].value chart1Data.value.data[2].value
); );
setChart(chart1, "chart1"); setChart(chart1, "chart1");
let chart2 = getPieChart(curAreaYearList.value, chart2ColorList.value); let chart2 = getPieChart(curAreaYearList.value, chart2ColorList.value);
setChart(chart2, "chart2"); setChart(chart2, "chart2");
}); });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.el-input__wrapper) { :deep(.el-input__wrapper) {
box-shadow: none; box-shadow: none;
} }
.home-wrapper { .home-wrapper {
.home-main { .home-main {
// width: 1400px; // width: 1400px;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
background: url("./assets/images/background.png"); background: url("./assets/images/background.png");
background-size: 100% 100%; background-size: 100% 100%;
.home-main-header { .home-main-header {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
// position: sticky; // position: sticky;
// left: 0; // left: 0;
// top: 0; // top: 0;
// z-index: 9999; // z-index: 9999;
.home-main-header-top { .home-main-header-top {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
height: 64px; height: 64px;
color: rgba(95, 101, 108, 1); color: rgba(95, 101, 108, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
line-height: 64px; line-height: 64px;
background: url("./assets/images/header-bg.png"); background: url("./assets/images/header-bg.png");
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 20px; font-size: 20px;
font-weight: 700; font-weight: 700;
color: #fff; color: #fff;
padding-left: 160px; padding-left: 160px;
} }
.home-main-header-center { .home-main-header-center {
margin-top: 13px; margin-top: 13px;
width: 960px; width: 960px;
height: 48px; height: 48px;
border-radius: 4px; border-radius: 4px;
box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1); box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
box-sizing: border-box; box-sizing: border-box;
padding: 1px; padding: 1px;
position: relative; position: relative;
.search { .search {
position: absolute; position: absolute;
right: 1px; right: 1px;
top: 1px; top: 1px;
width: 120px; width: 120px;
height: 42px; height: 42px;
border-radius: 4px; border-radius: 4px;
background: rgba(22, 119, 255, 1); background: rgba(22, 119, 255, 1);
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.search-icon { .search-icon {
width: 18px; width: 18px;
height: 18px; height: 18px;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.search-text { .search-text {
margin-left: 8px; margin-left: 8px;
height: 22px; height: 22px;
color: #fff; color: #fff;
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
line-height: 22px; line-height: 22px;
} }
} }
} }
.home-main-header-footer { .home-main-header-footer {
margin-top: 38px; margin-top: 38px;
width: 960px; width: 960px;
height: 64px; height: 64px;
box-sizing: border-box; box-sizing: border-box;
padding: 0 108px; padding: 0 108px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.home-main-header-footer-item { .home-main-header-footer-item {
padding: 0 10px; padding: 0 10px;
text-align: center; text-align: center;
.item-top { .item-top {
height: 22px; height: 22px;
color: rgba(20, 89, 187, 1); color: rgba(20, 89, 187, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 36px; font-size: 36px;
font-weight: 700; font-weight: 700;
line-height: 22px; line-height: 22px;
} }
.item-footer { .item-footer {
margin-top: 10px; margin-top: 10px;
height: 30px; height: 30px;
color: rgba(95, 101, 108, 1); color: rgba(95, 101, 108, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
line-height: 30px; line-height: 30px;
} }
} }
} }
} }
.home-main-center { .home-main-center {
margin-top: 34px; margin-top: 34px;
.center-top { .center-top {
height: 450px; height: 450px;
display: flex; display: flex;
justify-content: center; justify-content: center;
gap: 20px; gap: 20px;
.box1 { .box1 {
width: 1064px; width: 1064px;
height: 450px; height: 450px;
box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1); box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
background: #fff; background: #fff;
box-sizing: border-box; box-sizing: border-box;
padding-left: 31px; padding-left: 31px;
padding-right: 41px; padding-right: 41px;
position: relative; position: relative;
.box1-left { .box1-left {
position: absolute; position: absolute;
left: 0; left: 0;
top: 220px; top: 220px;
width: 24px; width: 24px;
height: 48px; height: 48px;
cursor: pointer; cursor: pointer;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.box1-right { .box1-right {
position: absolute; position: absolute;
right: 0; right: 0;
top: 220px; top: 220px;
width: 24px; width: 24px;
height: 48px; height: 48px;
cursor: pointer; cursor: pointer;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
}
} .box1-header {
.box1-header { height: 53px;
height: 53px; border-bottom: 1px solid rgba(240, 242, 244, 1);
border-bottom: 1px solid rgba(240, 242, 244, 1); display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .box1-header-left {
.box1-header-left { display: flex;
display: flex; .icon {
.icon { width: 18px;
width: 18px; height: 18px;
height: 18px; margin-top: 19px;
margin-top: 19px; img {
img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
} }
} .title {
.title { width: 152px;
width: 152px; height: 53px;
height: 53px; margin-left: 18px;
margin-left: 18px; color: #fff;
color: #fff; background: rgba(10, 87, 166, 1);
background: rgba(10, 87, 166, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 53px;
line-height: 53px; text-align: center;
text-align: center; }
} }
} .box1-header-right {
.box1-header-right { margin-top: 19px;
margin-top: 19px; height: 16px;
height: 16px; color: rgba(20, 89, 187, 1);
color: rgba(20, 89, 187, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 16px;
line-height: 16px; cursor: pointer;
cursor: pointer; }
} }
} .box1-main {
.box1-main { width: 1064px;
width: 1064px; height: 354px;
height: 354px; margin-top: 22px;
margin-top: 22px; .box1-main-header {
.box1-main-header { width: 990px;
width: 990px; height: 54px;
height: 54px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .header-left {
.header-left { padding-left: 22px;
padding-left: 22px; color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 26px;
line-height: 26px; }
} .header-right {
.header-right { display: flex;
display: flex; width: 200px;
width: 200px; justify-content: flex-end;
justify-content: flex-end; .tag1 {
.tag1 { height: 24px;
height: 24px; line-height: 24px;
line-height: 24px; padding: 0 8px;
padding: 0 8px; box-sizing: border-box;
box-sizing: border-box; color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); border: 1px solid rgba(145, 202, 255, 1);
border: 1px solid rgba(145, 202, 255, 1); border-radius: 4px;
border-radius: 4px; background: rgba(230, 244, 255, 1);
background: rgba(230, 244, 255, 1); }
} .tag2 {
.tag2 { margin-left: 8px;
margin-left: 8px; height: 24px;
height: 24px; line-height: 24px;
line-height: 24px; padding: 0 8px;
padding: 0 8px; box-sizing: border-box;
box-sizing: border-box; color: rgba(19, 168, 168, 1);
color: rgba(19, 168, 168, 1); border: 1px solid rgba(135, 232, 222, 1);
border: 1px solid rgba(135, 232, 222, 1); border-radius: 4px;
border-radius: 4px; background: rgba(230, 255, 251, 1);
background: rgba(230, 255, 251, 1); }
} }
} }
} .info-box {
.info-box { margin-left: 6px;
margin-left: 6px; width: 989px;
width: 989px; height: 108px;
height: 108px; box-sizing: border-box;
box-sizing: border-box; border: 1px solid rgba(231, 243, 255, 1);
border: 1px solid rgba(231, 243, 255, 1); border-radius: 4px;
border-radius: 4px; background: rgba(246, 250, 255, 1);
background: rgba(246, 250, 255, 1); .info-header {
.info-header { height: 38px;
height: 38px; display: flex;
display: flex; .icon {
.icon { width: 4px;
width: 4px; height: 4px;
height: 4px; border-radius: 2px;
border-radius: 2px; background: rgba(59, 65, 75, 1);
background: rgba(59, 65, 75, 1); margin-left: 24px;
margin-left: 24px; margin-top: 20px;
margin-top: 20px; }
} .time {
.time { width: 98px;
width: 98px; height: 24px;
height: 24px; margin-top: 10px;
margin-top: 10px; margin-left: 12px;
margin-left: 12px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} .title {
.title { margin-left: 11px;
margin-left: 11px; margin-top: 10px;
margin-top: 10px; height: 24px;
height: 24px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .info-content {
.info-content { width: 909px;
width: 909px; height: 60px;
height: 60px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 30px;
line-height: 30px; margin-left: 41px;
margin-left: 41px; margin-top: 4px;
margin-top: 4px; }
} }
} .list-box {
.list-box { margin-top: 18px;
margin-top: 18px; margin-left: 28px;
margin-left: 28px; width: 940px;
width: 940px; height: 185px;
height: 185px; .list-item {
.list-item { height: 37px;
height: 37px; display: flex;
display: flex; .icon {
.icon { width: 4px;
width: 4px; height: 4px;
height: 4px; border-radius: 2px;
border-radius: 2px; background: rgba(59, 65, 75, 1);
background: rgba(59, 65, 75, 1); margin-top: 16px;
margin-top: 16px; }
} .list-left {
.list-left { margin-left: 18px;
margin-left: 18px; line-height: 37px;
line-height: 37px; width: 100px;
width: 100px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; }
} .list-right {
.list-right { line-height: 37px;
line-height: 37px; margin-left: 17px;
margin-left: 17px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; }
} }
} }
} }
} }
} .box2 {
.box2 { width: 521px;
width: 521px; padding-right: 20px;
padding-right: 20px; height: 450px;
height: 450px; box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1); background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); position: relative;
position: relative; .box2-header {
.box2-header { height: 54px;
height: 54px; display: flex;
display: flex; .icon {
.icon { width: 24px;
width: 24px; height: 22px;
height: 22px; margin-left: 33px;
margin-left: 33px; margin-top: 18px;
margin-top: 18px; img {
img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
} }
} .title {
.title { display: flex;
display: flex; width: 148px;
width: 148px; background: rgba(206, 79, 81, 1);
background: rgba(206, 79, 81, 1); margin-left: 25px;
margin-left: 25px; .text {
.text { margin-left: 15px;
margin-left: 15px; margin-top: 16px;
margin-top: 16px; height: 22px;
height: 22px; color: #fff;
color: #fff; font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 22px;
line-height: 22px; }
} .num {
.num { width: 24px;
width: 24px; height: 20px;
height: 20px; line-height: 20px;
line-height: 20px; text-align: center;
text-align: center; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 12px;
font-size: 12px; margin-left: 15px;
margin-left: 15px; margin-top: 18px;
margin-top: 18px; border-radius: 100px;
border-radius: 100px; background: rgba(255, 255, 255, 0.3);
background: rgba(255, 255, 255, 0.3); }
} }
} .more {
.more { margin-top: 19px;
margin-top: 19px; margin-left: 200px;
margin-left: 200px; color: rgba(20, 89, 187, 1);
color: rgba(20, 89, 187, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 16px;
line-height: 16px; cursor: pointer;
cursor: pointer; }
} }
} .box2-main {
.box2-main { height: 282px;
height: 282px; overflow-y: auto;
overflow-y: auto; .box2-main-item {
.box2-main-item { margin-left: 23px;
margin-left: 23px; height: 47px;
height: 47px; width: 464px;
width: 464px; display: flex;
display: flex; .itemLeftStatus1 {
.itemLeftStatus1 { color: rgba(82, 196, 26, 1) !important;
color: rgba(82, 196, 26, 1) !important; background: rgba(246, 255, 237, 1) !important;
background: rgba(246, 255, 237, 1) !important; }
} .itemLeftStatus2 {
.itemLeftStatus2 { color: rgba(250, 140, 22, 1) !important;
color: rgba(250, 140, 22, 1) !important; background: rgba(255, 247, 230, 1) !important;
background: rgba(255, 247, 230, 1) !important; }
} .item-left {
.item-left { margin-top: 4px;
margin-top: 4px; margin-left: 2px;
margin-left: 2px; width: 40px;
width: 40px; height: 40px;
height: 40px; border-radius: 20px;
border-radius: 20px; background: rgba(255, 241, 240);
background: rgba(255, 241, 240); color: rgba(245, 34, 45, 1);
color: rgba(245, 34, 45, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 12px;
font-size: 12px; font-weight: 400;
font-weight: 400; line-height: 14px;
line-height: 14px; box-sizing: border-box;
box-sizing: border-box; padding: 6px 4px;
padding: 6px 4px; text-align: center;
text-align: center; }
} .item-right {
.item-right { margin-left: 13px;
margin-left: 13px; width: 408px;
width: 408px; height: 47px;
height: 47px; border-top: 1px solid rgba(240, 242, 244, 1);
border-top: 1px solid rgba(240, 242, 244, 1); border-bottom: 1px solid rgba(240, 242, 244, 1);
border-bottom: 1px solid rgba(240, 242, 244, 1); display: flex;
display: flex; .text {
.text { width: 348px;
width: 348px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 47px;
line-height: 47px; }
} .time {
.time { margin-left: 10px;
margin-left: 10px; line-height: 47px;
line-height: 47px; color: rgba(132, 136, 142, 1);
color: rgba(132, 136, 142, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 14px;
font-size: 14px; font-weight: 400;
font-weight: 400; }
} }
} }
} }
} .box2-footer {
.box2-footer { position: absolute;
position: absolute; left: 40px;
left: 40px; bottom: 20px;
bottom: 20px; width: 430px;
width: 430px; height: 42px;
height: 42px; display: flex;
display: flex; flex-direction: row;
flex-direction: row; justify-content: center;
justify-content: center; align-items: center;
align-items: center; border-radius: 6px;
border-radius: 6px; background: rgba(22, 119, 255, 1);
background: rgba(22, 119, 255, 1); cursor: pointer;
cursor: pointer; .icon {
.icon { width: 16px;
width: 16px; height: 16px;
height: 16px; img {
img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
} }
} .text {
.text { margin-left: 8px;
margin-left: 8px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 14px;
font-size: 14px; font-weight: 400;
font-weight: 400; line-height: 22px;
line-height: 22px; }
} }
} }
} }
} .center-center {
.center-center { width: 1600px;
width: 1600px; margin: 24px auto;
margin: 24px auto; height: 142px;
height: 142px; margin-top: 24px;
margin-top: 24px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .center-center-box1 {
.center-center-box1 { width: 520px;
width: 520px; height: 142px;
height: 142px; background: #fff;
background: #fff; border-radius: 4px;
border-radius: 4px; box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); position: relative;
position: relative; &::before {
&::before { content: "";
content: ""; position: absolute;
position: absolute; z-index: 99;
z-index: 99; left: 0;
left: 0; top: 15px;
top: 15px; width: 4px;
width: 4px; height: 111px;
height: 111px; background: rgba(250, 140, 22, 1);
background: rgba(250, 140, 22, 1); }
} .header {
.header { height: 56px;
height: 56px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .header-left {
.header-left { margin-left: 30px;
margin-left: 30px; margin-top: 26px;
margin-top: 26px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 26px;
line-height: 26px; }
} .header-right {
.header-right { margin-top: 28px;
margin-top: 28px; margin-right: 35px;
margin-right: 35px; height: 24px;
height: 24px; color: rgba(250, 140, 22, 1);
color: rgba(250, 140, 22, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 30px;
font-size: 30px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .content-box {
.content-box { margin-left: 30px;
margin-left: 30px; .item {
.item { height: 24px;
height: 24px; color: rgba(95, 101, 108, 1);
color: rgba(95, 101, 108, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; margin-top: 8px;
margin-top: 8px; }
} }
} }
} .center-center-box2 {
.center-center-box2 { width: 520px;
width: 520px; height: 142px;
height: 142px; background: #fff;
background: #fff; border-radius: 4px;
border-radius: 4px; box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); position: relative;
position: relative; &::before {
&::before { content: "";
content: ""; position: absolute;
position: absolute; z-index: 99;
z-index: 99; left: 0;
left: 0; top: 15px;
top: 15px; width: 4px;
width: 4px; height: 111px;
height: 111px; background: rgba(114, 46, 209, 1);
background: rgba(114, 46, 209, 1); }
} .header {
.header { height: 56px;
height: 56px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .header-left {
.header-left { margin-left: 30px;
margin-left: 30px; margin-top: 26px;
margin-top: 26px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 26px;
line-height: 26px; }
} .header-right {
.header-right { margin-top: 28px;
margin-top: 28px; margin-right: 35px;
margin-right: 35px; height: 24px;
height: 24px; color: rgba(114, 46, 209, 1);
color: rgba(114, 46, 209, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 30px;
font-size: 30px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .content-box {
.content-box { margin-left: 30px;
margin-left: 30px; .item {
.item { height: 24px;
height: 24px; color: rgba(95, 101, 108, 1);
color: rgba(95, 101, 108, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; margin-top: 8px;
margin-top: 8px; }
} }
} }
} .center-center-box3 {
.center-center-box3 { width: 520px;
width: 520px; height: 142px;
height: 142px; background: #fff;
background: #fff; border-radius: 4px;
border-radius: 4px; box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); position: relative;
position: relative; &::before {
&::before { content: "";
content: ""; position: absolute;
position: absolute; z-index: 99;
z-index: 99; left: 0;
left: 0; top: 15px;
top: 15px; width: 4px;
width: 4px; height: 111px;
height: 111px; background: rgba(10, 87, 166, 1);
background: rgba(10, 87, 166, 1); }
} .header {
.header { height: 56px;
height: 56px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .header-left {
.header-left { margin-left: 30px;
margin-left: 30px; margin-top: 26px;
margin-top: 26px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 20px;
font-size: 20px; font-weight: 700;
font-weight: 700; line-height: 26px;
line-height: 26px; }
} .header-right {
.header-right { margin-top: 28px;
margin-top: 28px; margin-right: 35px;
margin-right: 35px; height: 24px;
height: 24px; color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 30px;
font-size: 30px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .content-box {
.content-box { margin-left: 30px;
margin-left: 30px; .item {
.item { height: 24px;
height: 24px; color: rgba(95, 101, 108, 1);
color: rgba(95, 101, 108, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; margin-top: 8px;
margin-top: 8px; }
} }
} }
} }
} .center-footer {
.center-footer { margin-top: 21px;
margin-top: 21px; height: 450px;
height: 450px; display: flex;
display: flex; justify-content: center;
justify-content: center; .box3 {
.box3 { width: 1064px;
width: 1064px; height: 450px;
height: 450px; box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1); background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); .box3-header {
.box3-header { height: 53px;
height: 53px; border-bottom: 1px solid rgba(240, 242, 244, 1);
border-bottom: 1px solid rgba(240, 242, 244, 1); margin: 0 auto;
margin: 0 auto; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; padding: 0 20px;
padding: 0 20px; .box3-header-left {
.box3-header-left { display: flex;
display: flex; .box3-header-icon {
.box3-header-icon { margin-top: 15px;
margin-top: 15px; width: 13px;
width: 13px; height: 13px;
height: 13px; img {
img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
} }
} .box3-header-title {
.box3-header-title { margin-top: 16px;
margin-top: 16px; margin-left: 22px;
margin-left: 22px; height: 22px;
height: 22px; color: rgba(20, 89, 187, 1);
color: rgba(20, 89, 187, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 22px;
line-height: 22px; }
} }
} .box3-header-right {
.box3-header-right { display: flex;
display: flex; justify-content: flex-end;
justify-content: flex-end; width: 178px;
width: 178px; height: 22px;
height: 22px; margin-top: 11px;
margin-top: 11px; .right-box {
.right-box { height: 28px;
height: 28px; padding: 0 8px;
padding: 0 8px; text-align: center;
text-align: center; line-height: 28px;
line-height: 28px; box-sizing: border-box;
box-sizing: border-box; border: 1px solid rgba(230, 231, 232, 1);
border: 1px solid rgba(230, 231, 232, 1); border-radius: 4px;
border-radius: 4px; background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); margin-left: 8px;
margin-left: 8px; cursor: pointer;
cursor: pointer; }
} .rightBoxActive {
.rightBoxActive { color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); border: 1px solid rgba(10, 87, 166, 1);
border: 1px solid rgba(10, 87, 166, 1); border-radius: 4px;
border-radius: 4px; background: rgba(246, 250, 255, 1);
background: rgba(246, 250, 255, 1); }
} }
} }
} .box3-main {
.box3-main { height: 397px;
height: 397px; }
} }
} .box4 {
.box4 { margin-left: 20px;
margin-left: 20px; width: 521px;
width: 521px; height: 450px;
height: 450px; box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1); background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); .box4-header {
.box4-header { width: 452px;
width: 452px; margin: 0 auto;
margin: 0 auto; height: 53px;
height: 53px; border-bottom: 1px solid rgba(240, 242, 244, 1);
border-bottom: 1px solid rgba(240, 242, 244, 1); display: flex;
display: flex; position: relative;
position: relative; .header-icon {
.header-icon { margin-top: 18px;
margin-top: 18px; width: 18px;
width: 18px; height: 18px;
height: 18px; img {
img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
} }
} .header-title {
.header-title { margin-top: 16px;
margin-top: 16px; margin-left: 26px;
margin-left: 26px; height: 22px;
height: 22px; color: rgba(20, 89, 187, 1);
color: rgba(20, 89, 187, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 22px;
line-height: 22px; }
} .box4-header-right {
.box4-header-right { position: absolute;
position: absolute; right: 0;
right: 0; top: 10px;
top: 10px; }
} }
} .box4-main {
.box4-main { width: 452px;
width: 452px; height: 360px;
height: 360px; margin: 8px auto;
margin: 8px auto; }
} }
} }
} }
} .home-main-footer {
.home-main-footer { // width: 100%;
// width: 100%; height: 1059px;
height: 1059px; background: rgba(248, 249, 250, 1);
background: rgba(248, 249, 250, 1); .home-main-footer-header {
.home-main-footer-header { width: 1600px;
width: 1600px; height: 42px;
height: 42px; margin: 36px auto;
margin: 36px auto; // background: orange;
// background: orange; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .btn-box {
.btn-box { width: 1000px;
width: 1000px; display: flex;
display: flex; .btn {
.btn { color: rgba(95, 101, 108, 1);
color: rgba(95, 101, 108, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 42px;
line-height: 42px; padding: 0 24px;
padding: 0 24px; border-radius: 21px;
border-radius: 21px; background: rgba(20, 89, 187, 0);
background: rgba(20, 89, 187, 0); margin-right: 20px;
margin-right: 20px; cursor: pointer;
cursor: pointer; &:hover {
&:hover { background: rgba(20, 89, 187, 0.1);
background: rgba(20, 89, 187, 0.1); }
} }
} .btnActive {
.btnActive { padding: 0 24px;
padding: 0 24px; border-radius: 21px;
border-radius: 21px; background: rgba(20, 89, 187, 1);
background: rgba(20, 89, 187, 1); color: #fff;
color: #fff; &:hover {
&:hover { color: #fff;
color: #fff; background: rgba(20, 89, 187, 1);
background: rgba(20, 89, 187, 1); }
} }
} }
} .select-box {
.select-box { height: 42px;
height: 42px; box-sizing: border-box;
box-sizing: border-box; padding: 5px 0;
padding: 5px 0; }
} }
} .home-main-footer-main {
.home-main-footer-main { width: 1600px;
width: 1600px; margin-bottom: 20px;
margin-bottom: 20px; height: 985px;
height: 985px; // box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
// box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); // background: rgba(255, 255, 255, 1);
// background: rgba(255, 255, 255, 1); margin: 0 auto;
margin: 0 auto; box-sizing: border-box;
box-sizing: border-box; // padding: 20px;
// padding: 20px; display: flex;
display: flex; .left {
.left { width: 300px;
width: 300px; height: 560px;
height: 560px; border-radius: 4px;
border-radius: 4px; box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); .left-box1 {
.left-box1 { margin-top: 17px;
margin-top: 17px; height: 260px;
height: 260px; .left-box1-header {
.left-box1-header { display: flex;
display: flex; .icon {
.icon { width: 8px;
width: 8px; height: 16px;
height: 16px; margin-top: 4px;
margin-top: 4px; border-radius: 2px 2px 0 0;
border-radius: 2px 2px 0 0; background: rgba(10, 87, 166, 1);
background: rgba(10, 87, 166, 1); }
} .title {
.title { height: 2px;
height: 2px; margin-left: 17px;
margin-left: 17px; color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .left-box1-main {
.left-box1-main { margin-top: 10px;
margin-top: 10px; .time-label {
.time-label { height: 35px;
height: 35px; margin-left: 25px;
margin-left: 25px; }
} }
} }
} .left-box2 {
.left-box2 { margin-top: 17px;
margin-top: 17px; height: 260px;
height: 260px; .left-box2-header {
.left-box2-header { display: flex;
display: flex; .icon {
.icon { width: 8px;
width: 8px; height: 16px;
height: 16px; margin-top: 4px;
margin-top: 4px; border-radius: 2px 2px 0 0;
border-radius: 2px 2px 0 0; background: rgba(10, 87, 166, 1);
background: rgba(10, 87, 166, 1); }
} .title {
.title { height: 2px;
height: 2px; margin-left: 17px;
margin-left: 17px; color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; }
} }
} .left-box2-main {
.left-box2-main { margin-top: 10px;
margin-top: 10px; .area-label {
.area-label { height: 35px;
height: 35px; margin-left: 25px;
margin-left: 25px; }
} }
} }
} }
} .right {
.right { margin-left: 16px;
margin-left: 16px; width: 1284px;
width: 1284px; height: 899px;
height: 899px; border-radius: 4px;
border-radius: 4px; box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2); background: rgba(255, 255, 255, 1);
background: rgba(255, 255, 255, 1); .right-header {
.right-header { height: 54px;
height: 54px; background: rgba(59, 65, 75, 1);
background: rgba(59, 65, 75, 1); display: flex;
display: flex; .header-item1 {
.header-item1 { width: 500px;
width: 500px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 54px;
line-height: 54px; padding-left: 80px;
padding-left: 80px; box-sizing: border-box;
box-sizing: border-box; }
} .header-item2 {
.header-item2 { width: 196px;
width: 196px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 54px;
line-height: 54px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; }
} .header-item3 {
.header-item3 { width: 196px;
width: 196px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 54px;
line-height: 54px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; }
} .header-item4 {
.header-item4 { width: 196px;
width: 196px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 54px;
line-height: 54px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; }
} .header-item5 {
.header-item5 { width: 196px;
width: 196px; color: rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 54px;
line-height: 54px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; }
} }
} .right-main {
.right-main { height: 780px;
height: 780px; // background: orange;
// background: orange; .item {
.item { display: flex;
display: flex; padding: 16px 0;
padding: 16px 0; // height: 56px;
// height: 56px; &:nth-child(2n) {
&:nth-child(2n) { background: rgba(247, 248, 249, 1);
background: rgba(247, 248, 249, 1); }
} .item-box1 {
.item-box1 { width: 500px;
width: 500px; display: flex;
display: flex; .name {
.name { height: 22px;
height: 22px; padding: 0 8px;
padding: 0 8px; box-sizing: border-box;
box-sizing: border-box; border-radius: 4px;
border-radius: 4px; margin-left: 32px;
margin-left: 32px; margin-top: 10px;
margin-top: 10px; // display: flex;
// display: flex; // align-items: center;
// align-items: center; }
} .name1 {
.name1 { color: rgba(250, 140, 22, 1);
color: rgba(250, 140, 22, 1); border: 1px solid rgba(255, 213, 145, 1);
border: 1px solid rgba(255, 213, 145, 1); background: rgba(255, 247, 230, 1);
background: rgba(255, 247, 230, 1); }
} .name2 {
.name2 { color: rgba(10, 87, 166, 1);
color: rgba(10, 87, 166, 1); border: 1px solid rgba(145, 202, 255, 1);
border: 1px solid rgba(145, 202, 255, 1); background: rgba(230, 244, 255, 1);
background: rgba(230, 244, 255, 1); }
} .name3 {
.name3 { color: rgba(114, 46, 209, 1);
color: rgba(114, 46, 209, 1); border: 1px solid rgba(211, 173, 247, 1);
border: 1px solid rgba(211, 173, 247, 1); background: rgba(249, 240, 255, 1);
background: rgba(249, 240, 255, 1); }
} .title {
.title { margin-left: 12px;
margin-left: 12px; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 700;
font-weight: 700; line-height: 24px;
line-height: 24px; display: flex;
display: flex; align-items: center;
align-items: center; }
} }
} .item-box2 {
.item-box2 { width: 196px;
width: 196px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; display: flex;
display: flex; align-items: center;
align-items: center; }
} .item-box3 {
.item-box3 { width: 196px;
width: 196px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; display: flex;
display: flex; align-items: center;
align-items: center; }
} .item-box4 {
.item-box4 { width: 196px;
width: 196px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; display: flex;
display: flex; align-items: center;
align-items: center; }
} .item-box5 {
.item-box5 { width: 196px;
width: 196px; padding-left: 20px;
padding-left: 20px; box-sizing: border-box;
box-sizing: border-box; color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 16px;
font-size: 16px; font-weight: 400;
font-weight: 400; line-height: 24px;
line-height: 24px; display: flex;
display: flex; align-items: center;
align-items: center; }
} }
} }
} .right-footer {
.right-footer { display: flex;
display: flex; // height: 60px;
// height: 60px; // background: orange;
// background: orange; justify-content: space-between;
justify-content: space-between; .footer-left {
.footer-left { color: rgba(59, 65, 75, 1);
color: rgba(59, 65, 75, 1); font-family: Microsoft YaHei;
font-family: Microsoft YaHei; font-size: 14px;
font-size: 14px; font-weight: 400;
font-weight: 400; line-height: 18px;
line-height: 18px; margin-left: 24px;
margin-left: 24px; margin-top: 6px;
margin-top: 6px; }
} .footer-right {
.footer-right { margin-right: 24px;
margin-right: 24px; }
} }
} }
} }
} }
} }
}
} }
</style> </style>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论