Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
2e8bb3b4
提交
2e8bb3b4
authored
1月 17, 2026
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
9da5a9d2
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
496 行增加
和
452 行删除
+496
-452
App.vue
src/App.vue
+8
-7
index.js
src/api/zmOverview/allElement/index.js
+77
-0
ZMOverView.js
src/router/modules/ZMOverView.js
+4
-0
overview.js
src/router/modules/overview.js
+4
-4
index.vue
...w/components/fourSuppress/components/allElement/index.vue
+218
-394
warning.png
...mprehensiveSearch/searchResults/assets/images/warning.png
+0
-0
index.vue
src/views/comprehensiveSearch/searchResults/index.vue
+170
-11
index.vue
src/views/decree/decreeHome/index.vue
+14
-35
vite.config.js
vite.config.js
+1
-1
没有找到文件。
src/App.vue
浏览文件 @
2e8bb3b4
...
@@ -116,7 +116,7 @@ import Menu11 from "@/assets/icons/overview/menu11.png";
...
@@ -116,7 +116,7 @@ import Menu11 from "@/assets/icons/overview/menu11.png";
import
Menu12
from
"@/assets/icons/overview/menu12.png"
;
import
Menu12
from
"@/assets/icons/overview/menu12.png"
;
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
()
const
route
=
useRoute
()
;
// const target = ref(null);
// const target = ref(null);
...
@@ -166,7 +166,13 @@ const handleGetPersonType = async () => {
...
@@ -166,7 +166,13 @@ const handleGetPersonType = async () => {
}
catch
(
error
)
{}
}
catch
(
error
)
{}
};
};
const
isCurrentOverview
=
ref
(
true
);
const
isCurrentOverview
=
computed
(()
=>
{
if
(
route
.
path
===
"/ZMOverView"
)
{
return
true
}
else
{
return
false
;
}
});
// 概览页标题列表
// 概览页标题列表
const
homeTitleList
=
ref
([
const
homeTitleList
=
ref
([
...
@@ -281,11 +287,6 @@ const handleSearch = () => {
...
@@ -281,11 +287,6 @@ const handleSearch = () => {
onMounted
(()
=>
{
onMounted
(()
=>
{
handleGetPersonType
();
handleGetPersonType
();
if
(
route
.
path
===
"/ZMOverView"
)
{
isCurrentOverview
.
value
=
true
;
}
else
{
isCurrentOverview
.
value
=
false
;
}
});
});
</
script
>
</
script
>
...
...
src/api/zmOverview/allElement/index.js
0 → 100644
浏览文件 @
2e8bb3b4
import
request
from
"@/api/request.js"
;
// 全要素统计
export
function
getElementCount
()
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/elementCount`
,
})
}
// 最新动态
export
function
getNewDynamics
()
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/newDynamics`
,
})
}
// 美对我要素打压情况
/**
* @param {currentPage, pageSize}
*/
export
function
getElementSuppress
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/elementSuppress`
,
params
})
}
// 关键词云-上
/**
* @param {currentPage, pageSize}
*/
export
function
getKeyWordUp
()
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/getKeyWordUp`
,
})
}
// 美自身要素发展情况
/**
* @param {currentPage, pageSize}
*/
export
function
getElementDevelop
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/elementDevelop`
,
params
})
}
// 关键词云-下
/**
* @param {currentPage, pageSize}
*/
export
function
getKeyWordDown
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/getKeyWordDown`
,
params
})
}
// 通过id获取政令详细信息
/**
* @param {id}
*/
export
function
getOrderInfo
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/element/getOrderInfo/
${
params
.
id
}
`
,
params
})
}
\ No newline at end of file
src/router/modules/ZMOverView.js
浏览文件 @
2e8bb3b4
...
@@ -2,6 +2,10 @@
...
@@ -2,6 +2,10 @@
import
ZMOverview
from
"@/views/ZMOverView/index.vue"
;
import
ZMOverview
from
"@/views/ZMOverView/index.vue"
;
const
ZMOverviewRoutes
=
[
const
ZMOverviewRoutes
=
[
{
path
:
"/"
,
redirect
:
"/ZMOverView"
},
{
{
path
:
"/ZMOverView"
,
path
:
"/ZMOverView"
,
name
:
"ZMOverView"
,
name
:
"ZMOverView"
,
...
...
src/router/modules/overview.js
浏览文件 @
2e8bb3b4
...
@@ -5,10 +5,10 @@ import gjOverView from "@/views/gjOverView/index.vue";
...
@@ -5,10 +5,10 @@ import gjOverView from "@/views/gjOverView/index.vue";
const
overViewRoutes
=
[
const
overViewRoutes
=
[
// 中美博弈概览页面路由
// 中美博弈概览页面路由
{
//
{
path
:
"/"
,
//
path: "/",
redirect
:
"/overview"
//
redirect: "/overview"
},
//
},
{
{
path
:
"/overview"
,
path
:
"/overview"
,
name
:
"overView"
,
name
:
"overView"
,
...
...
src/views/ZMOverView/components/fourSuppress/components/allElement/index.vue
浏览文件 @
2e8bb3b4
...
@@ -19,8 +19,8 @@
...
@@ -19,8 +19,8 @@
v-for="(item, index) in headerList"
v-for="(item, index) in headerList"
:key="index"
:key="index"
>
>
<div
class=
"name"
>
{{
item
.
n
ame
}}
</div>
<div
class=
"name"
>
{{
item
.
elementN
ame
}}
</div>
<div
class=
"num"
>
{{
item
.
value
}}
</div>
<div
class=
"num"
>
{{
item
.
num
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"main"
>
<div
class=
"main"
>
...
@@ -36,15 +36,15 @@
...
@@ -36,15 +36,15 @@
<div
class=
"box1-item"
v-for=
"(item, index) in box1DataList"
:key=
"index"
>
<div
class=
"box1-item"
v-for=
"(item, index) in box1DataList"
:key=
"index"
>
<div
class=
"box1-item-left"
>
{{
index
+
1
}}
</div>
<div
class=
"box1-item-left"
>
{{
index
+
1
}}
</div>
<div
class=
"box1-item-right"
>
<div
class=
"box1-item-right"
>
<div
class=
"title"
>
{{
item
.
titl
e
}}
</div>
<div
class=
"title"
>
{{
item
.
nam
e
}}
</div>
<div
class=
"content"
>
{{
item
.
content
}}
</div>
<div
class=
"content"
>
{{
item
.
describe
}}
</div>
<div
class=
"tag-box"
>
<div
class=
"tag-box"
>
<div
class=
"tag"
v-for=
"(val, idx) in item.
tag
List"
:key=
"idx"
>
{{
val
}}
</div>
<div
class=
"tag"
v-for=
"(val, idx) in item.
elemet
List"
:key=
"idx"
>
{{
val
}}
</div>
</div>
</div>
<div
class=
"box1-item-right-footer"
>
<div
class=
"box1-item-right-footer"
>
<div
class=
"time"
>
{{
item
.
tim
e
}}
</div>
<div
class=
"time"
>
{{
item
.
postDat
e
}}
</div>
<div
class=
"area-box"
>
<div
class=
"area-box"
>
<div
class=
"area"
v-for=
"(vall, idxx) in item.areaList"
:key=
"idxx"
>
{{
vall
.
name
}}
</div>
<div
class=
"area"
v-for=
"(vall, idxx) in item.areaList"
:key=
"idxx"
>
{{
vall
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
@click="handleClickBox2Item(index)"
@click="handleClickBox2Item(index)"
>
>
<div
class=
"id"
>
{{
index
+
1
}}
</div>
<div
class=
"id"
>
{{
index
+
1
}}
</div>
<div
class=
"text"
>
{{
item
.
titl
e
}}
</div>
<div
class=
"text"
>
{{
item
.
nam
e
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"left-footer"
>
<div
class=
"left-footer"
>
...
@@ -83,34 +83,26 @@
...
@@ -83,34 +83,26 @@
:page-size=
"box2PageSize"
:page-size=
"box2PageSize"
v-model:current-page=
"box2CurrentPage"
v-model:current-page=
"box2CurrentPage"
@
current-change=
"handleGetBox2DataList"
@
current-change=
"handleGetBox2DataList"
size=
"small"
:pager-count=
"6"
/>
/>
</div>
</div>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"title"
>
{{
box2D
ataList
[
box2LeftActiveIndex
].
titl
e
}}
</div>
<div
class=
"title"
>
{{
box2D
etailInfo
.
nam
e
}}
</div>
<div
class=
"tag-box"
>
<div
class=
"tag-box"
>
<div
<div
class=
"tag"
v-for=
"(item, index) in box2DetailInfo.elemetList"
:key=
"index"
>
class=
"tag"
v-for=
"(item, index) in box2DataList[box2LeftActiveIndex].tagList"
:key=
"index"
>
{{
item
}}
{{
item
}}
</div>
</div>
</div>
</div>
<div
class=
"content"
>
{{
box2D
ataList
[
box2LeftActiveIndex
].
content
}}
</div>
<div
class=
"content"
>
{{
box2D
etailInfo
.
describe
}}
</div>
<div
class=
"area-box"
>
<div
class=
"area-box"
>
<div
<div
class=
"area"
v-for=
"(item, index) in box2DetailInfo.areaList"
:key=
"index"
>
class=
"area"
{{
item
}}
v-for=
"(item, index) in box2DataList[box2LeftActiveIndex].areaList"
:key=
"index"
>
{{
item
.
name
}}
</div>
</div>
</div>
</div>
<div
class=
"footer"
>
<div
class=
"footer"
>
{{
{{
`${box2DetailInfo?.postDate
}
· ${box2DetailInfo?.orgNameList?.toString()
}
· 行政令`
}}
`${box2DataList[box2LeftActiveIndex].time
}
· ${box2DataList[box2LeftActiveIndex].org
}
· ${box2DataList[box2LeftActiveIndex].type
}
`
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -139,7 +131,7 @@
...
@@ -139,7 +131,7 @@
@
click
=
"handleClickBox3Item(index)"
@
click
=
"handleClickBox3Item(index)"
>
>
<
div
class
=
"id"
>
{{
index
+
1
}}
<
/div
>
<
div
class
=
"id"
>
{{
index
+
1
}}
<
/div
>
<
div
class
=
"text"
>
{{
item
.
titl
e
}}
<
/div
>
<
div
class
=
"text"
>
{{
item
.
nam
e
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"left-footer"
>
<
div
class
=
"left-footer"
>
...
@@ -150,34 +142,26 @@
...
@@ -150,34 +142,26 @@
:
page
-
size
=
"box3PageSize"
:
page
-
size
=
"box3PageSize"
v
-
model
:
current
-
page
=
"box3CurrentPage"
v
-
model
:
current
-
page
=
"box3CurrentPage"
@
current
-
change
=
"handleGetBox3DataList"
@
current
-
change
=
"handleGetBox3DataList"
size
=
"small"
:
pager
-
count
=
"6"
/>
/>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"right"
>
<
div
class
=
"right"
>
<
div
class
=
"title"
>
{{
box3D
ataList
[
box3LeftActiveIndex
].
titl
e
}}
<
/div
>
<
div
class
=
"title"
>
{{
box3D
etailInfo
.
nam
e
}}
<
/div
>
<
div
class
=
"tag-box"
>
<
div
class
=
"tag-box"
>
<
div
<
div
class
=
"tag"
v
-
for
=
"(item, index) in box3DetailInfo.elemetList"
:
key
=
"index"
>
class
=
"tag"
v
-
for
=
"(item, index) in box3DataList[box3LeftActiveIndex].tagList"
:
key
=
"index"
>
{{
item
}}
{{
item
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"content"
>
{{
box3D
ataList
[
box3LeftActiveIndex
].
content
}}
<
/div
>
<
div
class
=
"content"
>
{{
box3D
etailInfo
.
describe
}}
<
/div
>
<
div
class
=
"area-box"
>
<
div
class
=
"area-box"
>
<
div
<
div
class
=
"area"
v
-
for
=
"(item, index) in box3DetailInfo.areaList"
:
key
=
"index"
>
class
=
"area"
{{
item
}}
v
-
for
=
"(item, index) in box3DataList[box3LeftActiveIndex].areaList"
:
key
=
"index"
>
{{
item
.
name
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"footer"
>
<
div
class
=
"footer"
>
{{
{{
`${box3DetailInfo.postDate
}
· ${box3DetailInfo.orgNameList?.toString()
}
· 行政令`
}}
`${box3DataList[box3LeftActiveIndex].time
}
· ${box3DataList[box3LeftActiveIndex].org
}
· ${box3DataList[box3LeftActiveIndex].type
}
`
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -196,369 +180,190 @@
...
@@ -196,369 +180,190 @@
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
setChart
from
"@/utils/setChart"
;
import
setChart
from
"@/utils/setChart"
;
import
getWordCloudChart
from
"./uitls/worldCloudChart"
;
import
getWordCloudChart
from
"./uitls/worldCloudChart"
;
import
{
getElementCount
,
getNewDynamics
,
getElementSuppress
,
getKeyWordUp
,
getElementDevelop
,
getKeyWordDown
,
getOrderInfo
}
from
"@/api/zmOverview/allElement"
;
const
headerList
=
ref
([
// 全要素统计
{
const
headerList
=
ref
([]);
name
:
"科研仪器"
,
const
handleGetHeaderList
=
async
()
=>
{
value
:
132
try
{
}
,
const
res
=
await
getElementCount
();
{
console
.
log
(
"全要素统计"
,
res
);
name
:
"科研机构"
,
if
(
res
.
code
===
200
&&
res
.
data
)
{
value
:
104
headerList
.
value
=
res
.
data
;
}
,
}
{
}
catch
(
error
)
{
}
name
:
"科研人才"
,
}
;
value
:
177
}
,
{
name
:
"科研数据"
,
value
:
60
}
,
{
name
:
"科研经费"
,
value
:
45
}
]);
// 最新动态
const
box1DataList
=
ref
([
const
box1DataList
=
ref
([
{
//
{
title
:
'更新"中国涉军企业清单"(NS-CMIC List)'
,
// title: '更新"中国涉军企业清单"(NS-CMIC List)',
content
:
"国防部新增多家中国高科技实体至清单,依据法律禁止美国人士对其进行投资。"
,
// content: "国防部新增多家中国高科技实体至清单,依据法律禁止美国人士对其进行投资。",
tagList
:
[
"科研机构"
,
"科研经费"
],
// tagList: ["科研机构", "科研经费"],
time
:
"2025年12月18日"
,
// time: "2025年12月18日",
areaList
:
[
// areaList: [
{
//
{
name
:
"量子科技"
// name: "量子科技"
}
,
//
}
,
{
//
{
name
:
"量子科技"
// name: "量子科技"
}
//
}
]
// ]
}
,
//
}
{
title
:
'更新"中国涉军企业清单"(NS-CMIC List)'
,
content
:
"国防部新增多家中国高科技实体至清单,依据法律禁止美国人士对其进行投资。"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
time
:
"2025年12月18日"
,
areaList
:
[
{
name
:
"量子科技"
}
,
{
name
:
"量子科技"
}
]
}
,
{
title
:
'更新"中国涉军企业清单"(NS-CMIC List)'
,
content
:
"国防部新增多家中国高科技实体至清单,依据法律禁止美国人士对其进行投资。"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
time
:
"2025年12月18日"
,
areaList
:
[
{
name
:
"量子科技"
}
,
{
name
:
"量子科技"
}
]
}
,
{
title
:
'更新"中国涉军企业清单"(NS-CMIC List)'
,
content
:
"国防部新增多家中国高科技实体至清单,依据法律禁止美国人士对其进行投资。"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
time
:
"2025年12月18日"
,
areaList
:
[
{
name
:
"量子科技"
}
,
{
name
:
"量子科技"
}
]
}
]);
]);
const
handleGetBox1Data
=
async
()
=>
{
try
{
const
res
=
await
getNewDynamics
();
console
.
log
(
"最新动态"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box1DataList
.
value
=
res
.
data
;
}
}
catch
(
error
)
{
}
}
;
const
box2DataList
=
ref
([
const
box2DataList
=
ref
([]);
{
const
box2Total
=
ref
(
0
);
title
:
"防止受关注国家访问美国敏感数据的规定"
,
const
box2CurrentPage
=
ref
(
1
);
tagList
:
[
"科研机构"
,
"科研经费"
],
const
box2PageSize
=
ref
(
5
);
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定2"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定3"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定4"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定5"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
]);
const
box2LeftActiveIndex
=
ref
(
0
);
const
box2LeftActiveIndex
=
ref
(
0
);
const
box2DetailInfo
=
ref
({
}
);
// 根据id 获取政令详细信息
const
handleGetOrderInfo
=
async
id
=>
{
const
params
=
{
id
:
id
}
;
try
{
const
res
=
await
getOrderInfo
(
params
);
console
.
log
(
"根据id获取政令详细信息1"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box2DetailInfo
.
value
=
res
.
data
;
}
}
catch
(
error
)
{
}
}
;
const
handleGetBox2DataList
=
async
()
=>
{
const
params
=
{
currentPage
:
box2CurrentPage
.
value
,
pageSize
:
box2PageSize
.
value
}
;
try
{
const
res
=
await
getElementSuppress
(
params
);
console
.
log
(
"美对我要素打压情况"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box2DataList
.
value
=
res
.
data
.
content
;
box2Total
.
value
=
res
.
data
.
totalElements
;
handleGetOrderInfo
(
box2DataList
.
value
[
box2LeftActiveIndex
.
value
].
id
);
}
}
catch
(
error
)
{
}
}
;
const
handleClickBox2Item
=
index
=>
{
const
handleClickBox2Item
=
index
=>
{
box2LeftActiveIndex
.
value
=
index
;
box2LeftActiveIndex
.
value
=
index
;
handleGetOrderInfo
(
box2DataList
.
value
[
index
].
id
);
}
;
}
;
const
box2Total
=
ref
(
25
);
const
box2ChartData
=
ref
([]);
const
box2CurrentPage
=
ref
(
1
);
const
handleGetBox2ChartData
=
async
()
=>
{
const
box2PageSize
=
ref
(
5
);
try
{
const
handleGetBox2DataList
=
async
()
=>
{
}
;
const
res
=
await
getKeyWordUp
();
console
.
log
(
"关键词云-上"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box2ChartData
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
name
:
item
.
name
,
value
:
item
.
count
}
;
}
);
}
}
catch
(
error
)
{
}
}
;
const
handleBox2Chart
=
async
()
=>
{
await
handleGetBox2ChartData
();
let
box2Chart
=
getWordCloudChart
(
box2ChartData
.
value
);
setChart
(
box2Chart
,
"box2Chart"
);
}
;
const
box2ChartData
=
ref
([
const
box3DataList
=
ref
([]);
{
name
:
"限制中国获取能源技术"
,
value
:
35
}
,
{
name
:
"加强美国在核能领域得到领导力"
,
value
:
12
}
,
{
name
:
"关注核聚变能源研究"
,
value
:
15
}
,
{
name
:
"发展风能"
,
value
:
21
}
,
{
name
:
"实施能源税收延期"
,
value
:
18
}
,
{
name
:
"限制采购中国产电池"
,
value
:
5
}
,
{
name
:
"评估中美现代化技术"
,
value
:
11
}
,
{
name
:
"应对中国制造2025战略"
,
value
:
9
}
,
{
name
:
"抵制外国人才争夺"
,
value
:
16
}
]);
const
box3DataList
=
ref
([
const
box3Total
=
ref
(
0
);
{
const
box3CurrentPage
=
ref
(
1
);
title
:
"防止受关注国家访问美国敏感数据的规定"
,
const
box3PageSize
=
ref
(
5
);
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定2"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定3"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定4"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
,
{
title
:
"防止受关注国家访问美国敏感数据的规定5"
,
tagList
:
[
"科研机构"
,
"科研经费"
],
content
:
'美国司法部发布最终规则,明确禁止将"美国人"的敏感个人数据(包括基因组、生物识别、健康、地理位置及财务数据)大规模交易给中国等"受关注国家"的实体与个人。此规定旨在防止...'
,
areaList
:
[
{
name
:
"人工智能"
}
,
{
name
:
"生物科技"
}
],
time
:
"2025年12月18日"
,
org
:
"司法部"
,
type
:
"行政令"
}
]);
const
box3LeftActiveIndex
=
ref
(
0
);
const
box3LeftActiveIndex
=
ref
(
0
);
const
box3DetailInfo
=
ref
({
}
);
const
handleClickBox3Item
=
index
=>
{
// 根据id 获取政令详细信息
box3LeftActiveIndex
.
value
=
index
;
const
handleGetOrderInfo1
=
async
id
=>
{
const
params
=
{
id
:
id
}
;
try
{
const
res
=
await
getOrderInfo
(
params
);
console
.
log
(
"根据id获取政令详细信息1"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box3DetailInfo
.
value
=
res
.
data
;
}
}
catch
(
error
)
{
}
}
;
}
;
const
box3Total
=
ref
(
25
);
const
handleGetBox3DataList
=
async
()
=>
{
const
box3CurrentPage
=
ref
(
1
);
const
params
=
{
const
box3PageSize
=
ref
(
5
);
currentPage
:
box3CurrentPage
.
value
,
const
handleGetBox3DataList
=
async
()
=>
{
}
;
pageSize
:
box3PageSize
.
value
}
;
try
{
const
res
=
await
getElementDevelop
(
params
);
console
.
log
(
"美自身要素发展情况"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box3DataList
.
value
=
res
.
data
.
content
;
box3Total
.
value
=
res
.
data
.
totalElements
;
handleGetOrderInfo1
(
box3DataList
.
value
[
box3LeftActiveIndex
.
value
].
id
);
}
}
catch
(
error
)
{
}
}
;
const
box3ChartData
=
ref
([
const
handleClickBox3Item
=
index
=>
{
{
box3LeftActiveIndex
.
value
=
index
;
name
:
"限制中国获取能源技术"
,
handleGetOrderInfo1
(
box3DataList
.
value
[
index
].
id
);
value
:
35
}
;
}
,
{
name
:
"加强美国在核能领域得到领导力"
,
value
:
12
}
,
{
name
:
"关注核聚变能源研究"
,
value
:
15
}
,
{
name
:
"发展风能"
,
value
:
21
}
,
{
name
:
"实施能源税收延期"
,
value
:
18
}
,
{
name
:
"限制采购中国产电池"
,
value
:
5
}
,
{
name
:
"评估中美现代化技术"
,
value
:
11
}
,
{
name
:
"应对中国制造2025战略"
,
value
:
9
}
,
{
name
:
"抵制外国人才争夺"
,
value
:
16
}
]);
onMounted
(()
=>
{
const
box3ChartData
=
ref
([]);
let
box2Chart
=
getWordCloudChart
(
box2ChartData
.
value
);
setChart
(
box2Chart
,
"box2Chart"
);
const
handleGetBox3ChartData
=
async
()
=>
{
try
{
const
res
=
await
getKeyWordDown
();
console
.
log
(
"关键词云-下"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box3ChartData
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
name
:
item
.
name
,
value
:
item
.
count
}
;
}
);
}
}
catch
(
error
)
{
}
}
;
const
handleBox3Chart
=
async
()
=>
{
await
handleGetBox3ChartData
();
let
box3Chart
=
getWordCloudChart
(
box3ChartData
.
value
);
let
box3Chart
=
getWordCloudChart
(
box3ChartData
.
value
);
setChart
(
box3Chart
,
"box3Chart"
);
setChart
(
box3Chart
,
"box3Chart"
);
}
;
onMounted
(()
=>
{
handleGetHeaderList
();
// 全要素统计
handleGetBox1Data
();
// 最新动态
handleGetBox2DataList
();
// 美对我要素打压情况
handleGetBox3DataList
();
// 美自身要素发展情况
handleBox2Chart
();
// 关键词云-上
handleBox3Chart
();
// 关键词云-下
}
);
}
);
<
/script
>
<
/script
>
...
@@ -733,7 +538,7 @@ onMounted(() => {
...
@@ -733,7 +538,7 @@ onMounted(() => {
width
:
388
px
;
width
:
388
px
;
margin
-
left
:
12
px
;
margin
-
left
:
12
px
;
.
title
{
.
title
{
height
:
30
px
;
//
height: 30px;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
font
-
style
:
Bold
;
font
-
style
:
Bold
;
...
@@ -755,8 +560,9 @@ onMounted(() => {
...
@@ -755,8 +560,9 @@ onMounted(() => {
}
}
.
tag
-
box
{
.
tag
-
box
{
margin
-
top
:
4
px
;
margin
-
top
:
4
px
;
height
:
28
px
;
//
height: 28px;
display
:
flex
;
display
:
flex
;
flex
-
wrap
:
wrap
;
gap
:
8
px
;
gap
:
8
px
;
.
tag
{
.
tag
{
width
:
80
px
;
width
:
80
px
;
...
@@ -924,7 +730,8 @@ onMounted(() => {
...
@@ -924,7 +730,8 @@ onMounted(() => {
}
}
}
}
.
left
-
footer
{
.
left
-
footer
{
height
:
80
px
;
margin
-
top
:
30
px
;
height
:
60
px
;
display
:
flex
;
display
:
flex
;
justify
-
content
:
center
;
justify
-
content
:
center
;
align
-
items
:
center
;
align
-
items
:
center
;
...
@@ -932,10 +739,14 @@ onMounted(() => {
...
@@ -932,10 +739,14 @@ onMounted(() => {
}
}
.
right
{
.
right
{
width
:
320
px
;
width
:
320
px
;
height
:
368
px
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
.
title
{
.
title
{
width
:
283
px
;
width
:
283
px
;
min
-
height
:
24
px
;
min
-
height
:
24
px
;
max
-
height
:
48
px
;
max
-
height
:
48
px
;
overflow
:
hidden
;
margin
:
16
px
auto
18
px
;
margin
:
16
px
auto
18
px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
...
@@ -949,8 +760,9 @@ onMounted(() => {
...
@@ -949,8 +760,9 @@ onMounted(() => {
.
tag
-
box
{
.
tag
-
box
{
width
:
283
px
;
width
:
283
px
;
margin
:
0
auto
;
margin
:
0
auto
;
height
:
28
px
;
//
height: 28px;
display
:
flex
;
display
:
flex
;
flex
-
wrap
:
wrap
;
gap
:
8
px
;
gap
:
8
px
;
.
tag
{
.
tag
{
height
:
28
px
;
height
:
28
px
;
...
@@ -972,7 +784,7 @@ onMounted(() => {
...
@@ -972,7 +784,7 @@ onMounted(() => {
margin
:
0
auto
;
margin
:
0
auto
;
margin
-
top
:
8
px
;
margin
-
top
:
8
px
;
width
:
283
px
;
width
:
283
px
;
height
:
15
0
px
;
max
-
height
:
17
0
px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
font
-
style
:
Regular
;
font
-
style
:
Regular
;
...
@@ -981,13 +793,16 @@ onMounted(() => {
...
@@ -981,13 +793,16 @@ onMounted(() => {
line
-
height
:
30
px
;
line
-
height
:
30
px
;
letter
-
spacing
:
0
px
;
letter
-
spacing
:
0
px
;
text
-
align
:
justify
;
text
-
align
:
justify
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
}
}
.
area
-
box
{
.
area
-
box
{
width
:
283
px
;
width
:
283
px
;
margin
:
0
auto
;
margin
:
0
auto
;
margin
-
top
:
2
8
px
;
margin
-
top
:
8
px
;
height
:
24
px
;
//
height: 24px;
display
:
flex
;
display
:
flex
;
flex
-
wrap
:
wrap
;
justify
-
content
:
flex
-
start
;
justify
-
content
:
flex
-
start
;
gap
:
8
px
;
gap
:
8
px
;
.
area
{
.
area
{
...
@@ -1160,7 +975,8 @@ onMounted(() => {
...
@@ -1160,7 +975,8 @@ onMounted(() => {
}
}
}
}
.
left
-
footer
{
.
left
-
footer
{
height
:
80
px
;
margin
-
top
:
30
px
;
height
:
60
px
;
display
:
flex
;
display
:
flex
;
justify
-
content
:
center
;
justify
-
content
:
center
;
align
-
items
:
center
;
align
-
items
:
center
;
...
@@ -1168,10 +984,14 @@ onMounted(() => {
...
@@ -1168,10 +984,14 @@ onMounted(() => {
}
}
.
right
{
.
right
{
width
:
320
px
;
width
:
320
px
;
height
:
368
px
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
.
title
{
.
title
{
width
:
283
px
;
width
:
283
px
;
min
-
height
:
24
px
;
min
-
height
:
24
px
;
max
-
height
:
48
px
;
max
-
height
:
48
px
;
overflow
:
hidden
;
margin
:
16
px
auto
18
px
;
margin
:
16
px
auto
18
px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
...
@@ -1185,8 +1005,9 @@ onMounted(() => {
...
@@ -1185,8 +1005,9 @@ onMounted(() => {
.
tag
-
box
{
.
tag
-
box
{
width
:
283
px
;
width
:
283
px
;
margin
:
0
auto
;
margin
:
0
auto
;
height
:
28
px
;
//
height: 28px;
display
:
flex
;
display
:
flex
;
flex
-
wrap
:
wrap
;
gap
:
8
px
;
gap
:
8
px
;
.
tag
{
.
tag
{
height
:
28
px
;
height
:
28
px
;
...
@@ -1208,7 +1029,7 @@ onMounted(() => {
...
@@ -1208,7 +1029,7 @@ onMounted(() => {
margin
:
0
auto
;
margin
:
0
auto
;
margin
-
top
:
8
px
;
margin
-
top
:
8
px
;
width
:
283
px
;
width
:
283
px
;
height
:
15
0
px
;
max
-
height
:
17
0
px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
font
-
style
:
Regular
;
font
-
style
:
Regular
;
...
@@ -1217,13 +1038,16 @@ onMounted(() => {
...
@@ -1217,13 +1038,16 @@ onMounted(() => {
line
-
height
:
30
px
;
line
-
height
:
30
px
;
letter
-
spacing
:
0
px
;
letter
-
spacing
:
0
px
;
text
-
align
:
justify
;
text
-
align
:
justify
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
}
}
.
area
-
box
{
.
area
-
box
{
width
:
283
px
;
width
:
283
px
;
margin
:
0
auto
;
margin
:
0
auto
;
margin
-
top
:
2
8
px
;
margin
-
top
:
8
px
;
height
:
24
px
;
//
height: 24px;
display
:
flex
;
display
:
flex
;
flex
-
wrap
:
wrap
;
justify
-
content
:
flex
-
start
;
justify
-
content
:
flex
-
start
;
gap
:
8
px
;
gap
:
8
px
;
.
area
{
.
area
{
...
...
src/views/comprehensiveSearch/searchResults/assets/images/warning.png
0 → 100644
浏览文件 @
2e8bb3b4
1.2 KB
src/views/comprehensiveSearch/searchResults/index.vue
浏览文件 @
2e8bb3b4
...
@@ -86,7 +86,7 @@
...
@@ -86,7 +86,7 @@
</div>
</div>
</div>
-->
</div>
-->
</div>
</div>
<div
class=
"main"
>
<div
class=
"main"
v-if=
"curArea !== '实体清单'"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
@
click=
"handleToPage(item)"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
@
click=
"handleToPage(item)"
>
<div
class=
"item-left"
v-if=
"item.img"
>
<div
class=
"item-left"
v-if=
"item.img"
>
<img
:src=
"item?.img"
alt=
""
/>
<img
:src=
"item?.img"
alt=
""
/>
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
<div
class=
"title"
v-html=
"item?.originalTitle"
></div>
<div
class=
"title"
v-html=
"item?.originalTitle"
></div>
<div
class=
"content"
v-html=
"item?.originalDescription"
></div>
<div
class=
"content"
v-html=
"item?.originalDescription"
></div>
<div
class=
"item-right-footer"
>
<div
class=
"item-right-footer"
>
<div
class=
"time"
>
{{
item
?.
date
}}
</div>
<div
class=
"time"
v-if=
"item.date"
>
{{
item
?.
date
}}
</div>
<div
class=
"tag tag3"
>
<div
class=
"tag tag3"
>
{{
item
?.
typeStr
}}
{{
item
?.
typeStr
}}
</div>
</div>
...
@@ -103,6 +103,26 @@
...
@@ -103,6 +103,26 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"main1"
v-if=
"curArea === '实体清单'"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
@
click=
"handleToPage(item)"
>
<div
class=
"main-header"
>
<div
class=
"title"
v-html=
"item?.originalTitle"
></div>
<div
class=
"tag tag3"
>
{{
item
?.
typeStr
}}
</div>
</div>
<div
class=
"entity-box"
>
<div
class=
"entity"
v-for=
"val,idx in item.sanctionList"
:key=
"idx"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/warning.png"
alt=
""
>
</div>
<div
class=
"name"
>
{{
val
}}
</div>
</div>
</div>
<div
class=
"content"
v-html=
"item?.originalDescription"
></div>
<div
class=
"time"
v-if=
"item.date"
>
{{
item
?.
date
}}
</div>
</div>
</div>
<div
class=
"footer"
>
<div
class=
"footer"
>
<el-pagination
<el-pagination
@
current-change=
"handleChangeCurrentPage"
@
current-change=
"handleChangeCurrentPage"
...
@@ -263,10 +283,10 @@ const handleClickDomains = domain => {
...
@@ -263,10 +283,10 @@ const handleClickDomains = domain => {
};
};
function
highlightText
(
text
,
keyword
)
{
function
highlightText
(
text
,
keyword
)
{
if
(
!
text
||
!
keyword
)
return
text
;
if
(
!
text
||
!
keyword
)
return
text
;
const
regex
=
new
RegExp
(
`(
${
keyword
}
)`
,
'gi'
);
const
regex
=
new
RegExp
(
`(
${
keyword
}
)`
,
"gi"
);
return
text
.
replace
(
regex
,
'<span style="color: red; font-weight: bold;">$1</span>'
);
return
text
.
replace
(
regex
,
'<span style="color: red; font-weight: bold;">$1</span>'
);
}
}
const
handleSearch
=
async
()
=>
{
const
handleSearch
=
async
()
=>
{
...
@@ -300,9 +320,9 @@ const handleSearch = async () => {
...
@@ -300,9 +320,9 @@ const handleSearch = async () => {
}
}
searchResults
.
value
=
res
.
data
.
records
;
searchResults
.
value
=
res
.
data
.
records
;
searchResults
.
value
.
forEach
(
item
=>
{
searchResults
.
value
.
forEach
(
item
=>
{
item
.
originalTitle
=
highlightText
(
item
.
originalTitle
,
keyword
.
value
)
item
.
originalTitle
=
highlightText
(
item
.
originalTitle
,
keyword
.
value
)
;
item
.
originalDescription
=
highlightText
(
item
.
originalDescription
,
keyword
.
value
)
item
.
originalDescription
=
highlightText
(
item
.
originalDescription
,
keyword
.
value
)
;
})
})
;
totalNum
.
value
=
res
.
data
.
total
;
totalNum
.
value
=
res
.
data
.
total
;
if
(
totalNum
.
value
)
{
if
(
totalNum
.
value
)
{
ElMessage
.
success
(
`共计搜索到
${
totalNum
.
value
}
条结果`
);
ElMessage
.
success
(
`共计搜索到
${
totalNum
.
value
}
条结果`
);
...
@@ -493,6 +513,19 @@ const handleToAi = () => {
...
@@ -493,6 +513,19 @@ const handleToAi = () => {
});
});
window
.
open
(
route
.
href
,
"_blank"
);
window
.
open
(
route
.
href
,
"_blank"
);
};
};
// 跳转公司详情页
const
handleCompClick
=
item
=>
{
console
.
log
(
"item"
,
item
);
window
.
sessionStorage
.
setItem
(
'curTabName'
,
item
)
const
route
=
router
.
resolve
({
name
:
"companyPages"
,
params
:
{
id
:
item
.
entityId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
@@ -782,7 +815,7 @@ const handleToAi = () => {
...
@@ -782,7 +815,7 @@ const handleToAi = () => {
.item-right
{
.item-right
{
// width: 731px;
// width: 731px;
flex
:
1
;
flex
:
1
;
margin-left
:
12px
;
//
margin-left: 12px;
.title
{
.title
{
height
:
24px
;
height
:
24px
;
...
@@ -820,9 +853,9 @@ const handleToAi = () => {
...
@@ -820,9 +853,9 @@ const handleToAi = () => {
line-height
:
24px
;
line-height
:
24px
;
letter-spacing
:
0px
;
letter-spacing
:
0px
;
text-align
:
left
;
text-align
:
left
;
margin-right
:
16px
;
}
}
.tag
{
.tag
{
margin-left
:
16px
;
height
:
24px
;
height
:
24px
;
line-height
:
24px
;
line-height
:
24px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -848,6 +881,132 @@ const handleToAi = () => {
...
@@ -848,6 +881,132 @@ const handleToAi = () => {
}
}
}
}
}
}
.main1
{
width
:
913px
;
margin-top
:
36px
;
margin-left
:
240px
;
.item
{
width
:
913px
;
min-height
:
108px
;
// max-height: 148px;
padding-bottom
:
24px
;
padding-top
:
16px
;
border-bottom
:
1px
solid
rgba
(
234
,
236
,
238
,
1
);
cursor
:
pointer
;
// &:hover {
// background: var(--color-bg-hover);
// }
.main-header
{
min-height
:
24px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.title
{
width
:
820px
;
// height: 24px;
color
:
rgba
(
59
,
65
,
75
,
1
);
font-family
:
Microsoft
YaHei
;
font-style
:
Bold
;
font-size
:
18px
;
font-weight
:
700
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
}
.tag
{
height
:
24px
;
line-height
:
24px
;
box-sizing
:
border-box
;
padding
:
0
8px
;
border-radius
:
4px
;
}
.tag1
{
border
:
1px
solid
rgba
(
255
,
204
,
199
,
1
);
background
:
rgba
(
255
,
241
,
240
,
1
);
color
:
rgba
(
255
,
77
,
79
,
1
);
}
.tag2
{
color
:
rgba
(
250
,
173
,
20
,
1
);
border
:
1px
solid
rgba
(
255
,
241
,
184
,
1
);
background
:
rgba
(
255
,
251
,
230
,
1
);
}
.tag3
{
color
:
rgba
(
22
,
119
,
255
,
1
);
border
:
1px
solid
rgba
(
186
,
224
,
255
,
1
);
background
:
rgba
(
230
,
244
,
255
,
1
);
}
}
.entity-box
{
margin-top
:
12px
;
display
:
flex
;
gap
:
8px
;
flex-wrap
:
wrap
;
.entity
{
display
:
flex
;
justify-content
:
space-between
;
gap
:
6px
;
height
:
32px
;
line-height
:
32px
;
padding
:
0
12px
;
border-radius
:
20px
;
background
:
rgba
(
255
,
241
,
240
,
1
);
cursor
:
pointer
;
&
:hover
{
.name
{
font-weight
:
bold
;
}
}
.icon
{
width
:
12px
;
height
:
12px
;
img
{
width
:
100%
;
height
:
100%
;
}
}
.name
{
margin-top
:
4px
;
height
:
24px
;
color
:
rgba
(
206
,
79
,
81
,
1
);
font-family
:
Microsoft
YaHei
;
font-style
:
Regular
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
center
;
}
}
}
.content
{
margin-top
:
10px
;
min-height
:
0
;
// max-height: 48px;
font-family
:
Microsoft
YaHei
;
font-size
:
16px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
font-weight
:
400
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
overflow
:
hidden
;
}
.time
{
margin-top
:
10px
;
height
:
24px
;
color
:
rgba
(
132
,
136
,
142
,
1
);
font-family
:
Microsoft
YaHei
;
font-size
:
14px
;
font-weight
:
400
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
margin-right
:
16px
;
}
}
}
.footer
{
.footer
{
width
:
913px
;
width
:
913px
;
margin-left
:
264px
;
margin-left
:
264px
;
...
...
src/views/decree/decreeHome/index.vue
浏览文件 @
2e8bb3b4
...
@@ -948,6 +948,10 @@ const chart1Data = ref({
...
@@ -948,6 +948,10 @@ const chart1Data = ref({
});
});
const
box5YearList
=
ref
([
const
box5YearList
=
ref
([
{
label
:
"2026"
,
value
:
"2026"
},
{
{
label
:
"2025"
,
label
:
"2025"
,
value
:
"2025"
value
:
"2025"
...
@@ -969,7 +973,7 @@ const box5YearList = ref([
...
@@ -969,7 +973,7 @@ const box5YearList = ref([
value
:
"2021"
value
:
"2021"
}
}
]);
]);
const
box5SelectedYear
=
ref
(
"202
5
"
);
const
box5SelectedYear
=
ref
(
"202
6
"
);
const
handleGetDecreeYearOrder
=
async
()
=>
{
const
handleGetDecreeYearOrder
=
async
()
=>
{
const
params
=
{
const
params
=
{
...
@@ -1015,6 +1019,10 @@ const chart2Data = ref([
...
@@ -1015,6 +1019,10 @@ const chart2Data = ref([
// const colorList = ["#69B1FF", "#FFC069", "#87E8DE", "#85A5FF", "#FF7875", "#B37FEB", "#4096FF"];
// const colorList = ["#69B1FF", "#FFC069", "#87E8DE", "#85A5FF", "#FF7875", "#B37FEB", "#4096FF"];
const
box6YearList
=
ref
([
const
box6YearList
=
ref
([
{
label
:
"2026"
,
value
:
"2026"
},
{
{
label
:
"2025"
,
label
:
"2025"
,
value
:
"2025"
value
:
"2025"
...
@@ -1036,7 +1044,7 @@ const box6YearList = ref([
...
@@ -1036,7 +1044,7 @@ const box6YearList = ref([
value
:
"2021"
value
:
"2021"
}
}
]);
]);
const
box6SelectedYear
=
ref
(
"202
5
"
);
const
box6SelectedYear
=
ref
(
"202
6
"
);
const
handleGetDecreeArea
=
async
()
=>
{
const
handleGetDecreeArea
=
async
()
=>
{
const
params
=
{
const
params
=
{
...
@@ -1068,18 +1076,7 @@ const handleBox6YearChange = () => {
...
@@ -1068,18 +1076,7 @@ const handleBox6YearChange = () => {
};
};
// 关键行政令
// 关键行政令
const
keyDecreeList
=
ref
([
const
keyDecreeList
=
ref
([]);
// {
// title: "关于“对等关税”的行政令",
// time: "2025年4月",
// content: `对所有贸易伙伴设立10%的“最低基准关税”,并对中国商品加征高达34% 的额外关税,使针对中国的总关税水平大幅提升。`
// },
// {
// title: "《美国优先投资政策》备忘录",
// time: "2025年2月",
// content: `将中国列为“外国对手”,系统性收紧中美在半导体、人工智能、量子技术等前沿科技领域的双向投资,构建对华科技封锁体系。`
// },
]);
const
handleGetKeyDecree
=
async
()
=>
{
const
handleGetKeyDecree
=
async
()
=>
{
try
{
try
{
...
@@ -1186,6 +1183,7 @@ const handleGetAreaList = async () => {
...
@@ -1186,6 +1183,7 @@ const handleGetAreaList = async () => {
};
};
const
pubTime
=
ref
([
const
pubTime
=
ref
([
{
id
:
"2026"
,
name
:
"2026年"
},
{
id
:
"2025"
,
name
:
"2025年"
},
{
id
:
"2025"
,
name
:
"2025年"
},
{
id
:
"2024"
,
name
:
"2024年"
},
{
id
:
"2024"
,
name
:
"2024年"
},
{
id
:
"2023"
,
name
:
"2023年"
},
{
id
:
"2023"
,
name
:
"2023年"
},
...
@@ -1194,30 +1192,11 @@ const pubTime = ref([
...
@@ -1194,30 +1192,11 @@ const pubTime = ref([
{
id
:
"2020"
,
name
:
"2020年"
}
{
id
:
"2020"
,
name
:
"2020年"
}
// { id: "更早时间", name: "更早时间" }
// { id: "更早时间", name: "更早时间" }
]);
]);
const
activePubTime
=
ref
([
"202
5
"
]);
const
activePubTime
=
ref
([
"202
6
"
]);
const
totalDecreesNum
=
ref
(
0
);
const
totalDecreesNum
=
ref
(
0
);
const
decreeList
=
ref
([
const
decreeList
=
ref
([]);
// {
// type: "总统政令",
// status: 1,
// title: "关于进一步延长TikTok执法宽限期的行政令",
// time: "2025年9月16日",
// img: 1,
// desc: "123",
// tagList: ["生物科技"]
// },
// {
// type: "总统政令",
// status: 1,
// title: "为国家安全部署先进核反应堆技术",
// time: "2025年9月16日",
// img: 1,
// desc: "123",
// tagList: ["生物科技"]
// }
]);
const
handleGetDecreeOrderList
=
async
()
=>
{
const
handleGetDecreeOrderList
=
async
()
=>
{
const
p0
=
checkedGovIns
.
value
.
join
(
","
);
const
p0
=
checkedGovIns
.
value
.
join
(
","
);
...
...
vite.config.js
浏览文件 @
2e8bb3b4
...
@@ -72,7 +72,7 @@ export default defineConfig({
...
@@ -72,7 +72,7 @@ export default defineConfig({
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
checklistChat/
,
''
)
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
checklistChat/
,
''
)
},
},
'/temporarySearch'
:
{
'/temporarySearch'
:
{
target
:
'http://106.12.150.59:
18826
/'
,
target
:
'http://106.12.150.59:
8001
/'
,
changeOrigin
:
true
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
},
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论