Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
9aa0462e
提交
9aa0462e
authored
12月 23, 2025
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
199f9d95
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
403 行增加
和
162 行删除
+403
-162
index.js
src/api/institution/index.js
+65
-0
index.vue
src/views/decree/decreeHome/index.vue
+6
-1
barChart.js
src/views/decree/decreeLayout/influence/utils/barChart.js
+2
-2
index.vue
src/views/decree/institution/deepdig/index.vue
+56
-7
index.vue
src/views/decree/institution/index.vue
+33
-5
index.vue
src/views/decree/institution/insDetail/index.vue
+241
-147
没有找到文件。
src/api/institution/index.js
0 → 100644
浏览文件 @
9aa0462e
import
request
from
"@/api/request.js"
;
// 头部信息
/**
* @param { id }
*/
export
function
getGovOrgBasicInfo
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/governmentOrg/info/
${
params
.
id
}
`
,
params
})
}
// 最新动态
/**
* @param { orgId, cRelated, currentPage, pageSize }
*/
export
function
getGovOrgLatestDynamics
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/governmentOrg/dynamics/
${
params
.
orgId
}
`
,
params
})
}
// 基本信息-关键人物
/**
* @param { orgId }
*/
export
function
getGovOrgKeyPerson
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/governmentOrg/person/
${
params
.
orgId
}
`
,
params
})
}
// 深度挖掘--------------------------------------------------
// 资助企业情况
/**
* @param { orgId }
*/
export
function
getGovOrgCompanyArea
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/governmentOrg/field/
${
params
.
orgId
}
`
,
params
})
}
// 主要科技政策观点
/**
* @param { orgId }
*/
export
function
getGovOrgOpinions
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/governmentOrg/keyWord/
${
params
.
orgId
}
`
,
params
})
}
\ No newline at end of file
src/views/decree/decreeHome/index.vue
浏览文件 @
9aa0462e
...
...
@@ -540,7 +540,12 @@ import Message3 from "./assets/images/message-icon3.png";
// 跳转行政机构主页
const
handleToInstitution
=
item
=>
{
const
curRoute
=
router
.
resolve
(
"/institution"
);
const
curRoute
=
router
.
resolve
({
path
:
"/institution"
,
query
:
{
id
:
item
.
id
}
}
);
window
.
open
(
curRoute
.
href
,
"_blank"
);
}
;
...
...
src/views/decree/decreeLayout/influence/utils/barChart.js
浏览文件 @
9aa0462e
...
...
@@ -6,7 +6,7 @@ const getBarChart = (nameList, valueList) => {
tooltip
:
{},
grid
:
{
top
:
'3%'
,
right
:
'7%'
,
right
:
40
,
bottom
:
'1%'
,
left
:
'1%'
,
containLabel
:
true
...
...
@@ -55,7 +55,7 @@ const getBarChart = (nameList, valueList) => {
barWidth
:
8
,
label
:
{
show
:
true
,
position
:
[
3
55
,
0
],
position
:
[
3
30
,
0
],
formatter
:
function
(
params
)
{
return
params
.
value
}
...
...
src/views/decree/institution/deepdig/index.vue
浏览文件 @
9aa0462e
...
...
@@ -115,15 +115,21 @@
<div
class=
"box4-main-right-main"
>
<div
class=
"box4-main-right-item"
>
<div
class=
"icon"
></div>
<div
class=
"text"
>
{{
'在2016年和2024年的总统竞选中,卢特尼克利用其在金融界的影响力,为特朗普筹集了数千万美元的竞选资金,并个人捐赠了1000万美元。'
}}
</div>
<div
class=
"text"
>
{{
"在2016年和2024年的总统竞选中,卢特尼克利用其在金融界的影响力,为特朗普筹集了数千万美元的竞选资金,并个人捐赠了1000万美元。"
}}
</div>
</div>
<div
class=
"box4-main-right-item"
>
<div
class=
"box4-main-right-item"
>
<div
class=
"icon"
></div>
<div
class=
"text"
>
{{
'提名霍华德·卢特尼克担任商务部长,赋予其直接监督美国贸易代表办公室(USTR)的权力。'
}}
</div>
<div
class=
"text"
>
{{
"提名霍华德·卢特尼克担任商务部长,赋予其直接监督美国贸易代表办公室(USTR)的权力。"
}}
</div>
</div>
<div
class=
"box4-main-right-item"
>
<div
class=
"box4-main-right-item"
>
<div
class=
"icon"
></div>
<div
class=
"text"
>
{{
'在接受CBS News采访时强调,特朗普政府的政策“是美国历史上最重要的”。'
}}
</div>
<div
class=
"text"
>
{{
"在接受CBS News采访时强调,特朗普政府的政策“是美国历史上最重要的”。"
}}
</div>
</div>
</div>
</div>
...
...
@@ -146,12 +152,15 @@
<
script
setup
>
import
{
ref
,
computed
,
onMounted
}
from
"vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
setChart
from
"@/utils/setChart"
;
import
getSankeyChart
from
"./utils/sankey"
;
import
getPieChart
from
"./utils/piechart"
;
import
getWordCloudChart
from
"./utils/worldCloudChart"
;
import
getGraphChart
from
"./utils/graph"
;
import
{
getGovOrgCompanyArea
,
getGovOrgOpinions
}
from
"@/api/institution/index"
;
import
Img
from
"./assets/images/9.png"
;
import
Img1
from
"./assets/images/1.png"
;
import
Img2
from
"./assets/images/2.png"
;
...
...
@@ -162,6 +171,8 @@ import Img6 from "./assets/images/6.png";
import
Img7
from
"./assets/images/7.png"
;
import
Img8
from
"./assets/images/8.png"
;
const
route
=
useRoute
()
const
box1ChartData
=
ref
({
nodes
:
[
{
...
...
@@ -289,6 +300,7 @@ const box1ChartData = ref({
]
});
// 资助企业情况
const
box2ChartData
=
ref
([
{
name
:
"集成电路"
,
...
...
@@ -323,6 +335,29 @@ const box2ChartData = ref([
value
:
24
}
]);
const
handleGetCompanyArea
=
async
()
=>
{
const
params
=
{
orgId
:
route
.
query
.
id
};
try
{
const
res
=
await
getGovOrgCompanyArea
(
params
);
console
.
log
(
"资助企业情况"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
box2ChartData
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
name
:
item
.
industry
,
value
:
item
.
amount
};
});
}
}
catch
(
error
)
{}
};
const
handleBox2
=
async
()
=>
{
await
handleGetCompanyArea
();
const
box2Chart
=
getPieChart
(
box2ChartData
.
value
);
setChart
(
box2Chart
,
"box2Chart"
);
};
const
box3ChartData
=
ref
([
{
name
:
"人工智能(AI)"
,
value
:
100
},
...
...
@@ -344,6 +379,20 @@ const box3ChartData = ref([
{
name
:
"不得向中国机构提供援助"
,
value
:
62
},
{
name
:
"开展先进生物能源计划"
,
value
:
51
}
]);
const
handleGetOpinions
=
async
()
=>
{
const
params
=
{
orgId
:
'50754570da464d0a81a5563dcb61d2ec'
}
try
{
const
res
=
await
getGovOrgOpinions
(
params
)
console
.
log
(
'主要科技政策观点'
,
res
);
}
catch
(
error
)
{
}
}
const
box4ChartData
=
ref
({
nodes
:
[
...
...
@@ -371,10 +420,10 @@ const box4ChartData = ref({
});
onMounted
(()
=>
{
handleBox2
();
handleGetOpinions
()
const
box1Chart
=
getSankeyChart
(
box1ChartData
.
value
.
nodes
,
box1ChartData
.
value
.
links
);
setChart
(
box1Chart
,
"box1Chart"
);
const
box2Chart
=
getPieChart
(
box2ChartData
.
value
);
setChart
(
box2Chart
,
"box2Chart"
);
const
box3Chart
=
getWordCloudChart
(
box3ChartData
.
value
);
setChart
(
box3Chart
,
"box3Chart"
);
...
...
src/views/decree/institution/index.vue
浏览文件 @
9aa0462e
...
...
@@ -2,7 +2,7 @@
<div
class=
"wrap"
>
<div
class=
"header"
>
<div
class=
"header-left"
>
<img
src=
"@/assets/images/decree-org.png
"
alt=
""
/>
<img
:src=
"institutionInfo.logo?institutionInfo.logo: DefaultIcon2
"
alt=
""
/>
</div>
<div
class=
"header-right"
>
<div
class=
"title"
>
{{
institutionInfo
.
name
}}
</div>
...
...
@@ -42,17 +42,45 @@
<
script
setup
>
import
{
ref
,
computed
,
onMounted
}
from
"vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
InsDetail
from
"./insDetail/index.vue"
;
import
Deepdig
from
"./deepdig/index.vue"
;
import
Sanction
from
"./sanction/index.vue"
;
import
{
getGovOrgBasicInfo
}
from
'@/api/institution/index'
import
DefaultIcon2
from
'@/assets/icons/default-icon2.png'
const
route
=
useRoute
()
const
institutionInfo
=
ref
({
name
:
"美国商务部"
,
enName
:
"United States Department of Commerce"
,
desc
:
"美国联邦政府的重要经济部门,主要职责为国际贸易、进出口管制、经济数据统计及专利商标管理。"
,
tagList
:
[
"实体清单"
,
"232调查"
,
"行政令"
]
name
:
""
,
enName
:
""
,
desc
:
""
,
tagList
:
[],
logo
:
''
});
const
handleGetInfo
=
async
()
=>
{
const
params
=
{
id
:
route
.
query
.
id
}
try
{
const
res
=
await
getGovOrgBasicInfo
(
params
)
console
.
log
(
'机构信息'
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
institutionInfo
.
value
.
name
=
res
.
data
.
orgName
institutionInfo
.
value
.
enName
=
res
.
data
.
orgNameEn
institutionInfo
.
value
.
desc
=
res
.
data
.
orgIntroduction
institutionInfo
.
value
.
name
=
res
.
data
.
orgName
}
}
catch
(
error
)
{
}
}
handleGetInfo
()
const
activeTabName
=
ref
(
"机构详情"
);
const
tabList
=
ref
([
...
...
src/views/decree/institution/insDetail/index.vue
浏览文件 @
9aa0462e
...
...
@@ -4,6 +4,15 @@
<div
class=
"box-header"
>
<div
class=
"header-left"
></div>
<div
class=
"title"
>
最新动态
</div>
<div
class=
"check-box"
><el-checkbox
:checked=
"isCrelated"
label=
"只看涉华动态"
/></div>
<div
class=
"header-btn-box"
>
<div
class=
"btn"
:class=
"
{ btnActive: dynamicsName === '机构动态' }" @click="handleClickBtn('机构动态')">
{{
"机构动态"
}}
</div>
<div
class=
"btn"
:class=
"
{ btnActive: dynamicsName === '主官动态' }" @click="handleClickBtn('主官动态')">
{{
"主官动态"
}}
</div>
</div>
<div
class=
"header-right"
>
<div
class=
"icon"
>
<img
src=
"@/assets/icons/box-header-icon2.png"
alt=
""
/>
...
...
@@ -18,13 +27,14 @@
<div
class=
"line"
v-if=
"index !== curList.length - 1"
></div>
<div
class=
"time"
>
{{
item
.
time
}}
</div>
<div
class=
"icon"
>
<img
src=
"@/assets/images/decree-org.png
"
alt=
""
/>
<img
:src=
"item.logoUrl ? item.logoUrl : DefaultIcon2
"
alt=
""
/>
</div>
<div
class=
"info"
>
<div
class=
"header"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"type"
v-if=
"item.type"
:class=
"
{
type1: item.type.status === 2,
type2: item.type.status === 3,
...
...
@@ -36,17 +46,24 @@
</div>
<div
class=
"content"
>
{{
item
.
content
}}
</div>
<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.
industry
List"
:key=
"idx"
>
{{
val
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"left-footer"
>
<div
class=
"info"
>
{{
`共有
153
项动态`
}}
{{
`共有
${totalNum
}
项动态`
}}
<
/div
>
<
div
class
=
"page-box"
>
<el-pagination
background
layout=
"prev, pager, next"
:total=
"153"
/>
<
el
-
pagination
background
layout
=
"prev, pager, next"
@
current
-
change
=
"handleCurrentChange"
:
pageSize
=
"pageSize"
:
current
-
page
=
"currentPage"
:
total
=
"totalNum"
/>
<
/div
>
<
/div
>
<
/div
>
...
...
@@ -94,9 +111,9 @@
{{
"关键人物:"
}}
<
/div
>
<
div
class
=
"user-content"
>
<div
class=
"user-item"
v-for=
"(item, index) in
basicInfo.
keyUser"
:key=
"index"
>
<
div
class
=
"user-item"
v
-
for
=
"(item, index) in keyUser"
:
key
=
"index"
>
<
div
class
=
"user-item-left"
>
<img
:src=
"item.
img
"
alt=
""
/>
<
img
:
src
=
"item.
avatarUrl
"
alt
=
""
/>
<
/div
>
<
div
class
=
"user-item-right"
>
<
div
class
=
"name"
>
{{
item
.
name
}}
<
/div
>
...
...
@@ -112,12 +129,17 @@
<
script
setup
>
import
{
ref
,
computed
,
onMounted
}
from
"vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
Img
from
"./assets/images/img.png"
;
import
User1
from
"./assets/images/user1.png"
;
import
User2
from
"./assets/images/user2.png"
;
import
User3
from
"./assets/images/user3.png"
;
import
User4
from
"./assets/images/user4.png"
;
import
DefaultIcon2
from
"@/assets/icons/default-icon2.png"
;
import
{
getGovOrgLatestDynamics
,
getGovOrgKeyPerson
}
from
"@/api/institution/index"
;
const
route
=
useRoute
()
const
basicInfo
=
ref
({
image
:
Img
,
...
...
@@ -125,142 +147,190 @@ const basicInfo = ref({
dizhi
:
"华盛顿特区宪法大道1401号赫伯特·C·胡佛大楼 "
,
zhize
:
"国际贸易、进出口管制、经济数据统计及专利商标管理"
,
xiashujigou
:
"工业与安全局、国际贸易管理局、专利商标局等"
,
zhicaishouduan
:
"实体清单、军事最终用户清单、“301条款”关税、“232条款”关税、特别指定国民清单"
,
keyUser
:
[
{
name
:
"霍华德·卢特尼克"
,
img
:
User1
,
position
:
"部长"
},
{
name
:
"保罗·达巴尔"
,
img
:
User2
,
position
:
"副部长"
},
{
name
:
"杰弗里·凯斯勒"
,
img
:
User3
,
position
:
"工业与安全局局长"
},
{
name
:
"约翰·斯奎尔斯"
,
img
:
User4
,
position
:
"专利商标局局长"
}
]
zhicaishouduan
:
"实体清单、军事最终用户清单、“301条款”关税、“232条款”关税、特别指定国民清单"
}
);
const
curList
=
ref
([
{
title
:
"美国商务部:宣布对华全面加征100%关税"
,
time
:
"2025 10月10日"
,
content
:
"特朗普宣布自11月1日起对所有中国进口商品加征100%额外关税,叠加现有关税后总水平可达130%或更高。同时宣布将对“所有关键美国制造软件”实施严格的出口管制。"
,
type
:
{
name
:
"行政令"
,
status
:
2
},
tagList
:
[
"人工智能"
]
},
{
title
:
"美国商务部:BIS更新“实体清单”"
,
time
:
"2025 10月4日"
,
content
:
"美国商务部工业与安全局公布对中国半导体出口管制措施新规则,将140家中国半导体公司列入“实体清单”,分别是136家中国实体和4家海外关联企业。"
,
type
:
{
name
:
"实体清单"
,
status
:
4
},
tagList
:
[
"集成电路"
]
},
{
title
:
"美国商务部:出台“50%穿透规则”(关联方规则)"
,
time
:
"2025 9月29日"
,
content
:
"规定凡被列入“实体清单”或“军事最终用户清单”的企业,其直接或间接持股超过50%的子公司将自动受到同等出口管制限制。此规则极大地扩大了制裁范围,且未设过渡期。"
,
type
:
{
name
:
"行政令"
,
status
:
2
},
tagList
:
[
"生物科技"
]
},
{
title
:
"美国商务部:对华港口设备加征高额关税"
,
time
:
"2025 9月21日"
,
content
:
"美国贸易代表办公室(USTR)公告,作为“301条款”行动的一部分,对特定中国制造的港口设备加征额外关税,其中船到岸起重机(STS)和集装箱底盘车及零部件均加征100%关税,于11月9日生效。"
,
type
:
{
name
:
"301调查"
,
status
:
3
},
tagList
:
[
"先进制造"
]
},
{
title
:
"美国商务部:BIS更新“实体清单”"
,
time
:
"2025 9月15日"
,
content
:
"美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。"
,
type
:
{
name
:
"实体清单"
,
status
:
4
},
tagList
:
[
"集成电路"
]
},
{
title
:
"美国商务部:BIS更新“实体清单”"
,
time
:
"2025 9月15日"
,
content
:
"美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。"
,
type
:
{
name
:
"实体清单"
,
status
:
4
},
tagList
:
[
"集成电路"
]
},
{
title
:
"美国商务部:加强对华AI芯片出口限制"
,
time
:
"2025 9月10日"
,
content
:
"美国政府要求英特尔、AMD、英伟达等公司对向中国出口的先进AI处理器实施严格的许可证制度。英特尔Gaudi系列芯片等因性能超标明确受限。同时,考虑对中国AI初创企业DeepSeek实施制裁。"
,
type
:
{
name
:
"行政令"
,
status
:
2
},
tagList
:
[
"人工智能"
,
"集成电路"
]
},
{
title
:
"美国商务部:BIS更新“实体清单”"
,
time
:
"2025 9月15日"
,
content
:
"美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。"
,
type
:
{
name
:
"实体清单"
,
status
:
4
},
tagList
:
[
"集成电路"
]
},
{
title
:
"美国商务部:发布针对中国网联汽车的禁令"
,
time
:
"2025 8月25日"
,
content
:
"美国商务部工业与安全局(BIS)发布一项最终规则,禁止涉及销售或进口其认定软件与中国有关联的联网汽车的交易。"
,
type
:
{
name
:
"行政令"
,
status
:
2
},
tagList
:
[
"能源"
,
"先进制造"
]
},
{
title
:
"美国商务部:考虑对中国无人机实施新限制"
,
time
:
"2025 8月19日"
,
content
:
"美国商务部表示正在考虑制定新规则,以限制或禁止中国无人机在美国境内使用,并就所谓“保护无人机供应链”的潜在规则征求公众意见。"
,
type
:
{
name
:
"行政令"
,
status
:
2
},
tagList
:
[
"先进制造"
]
}
// 关键人物
const
keyUser
=
ref
([
//
{
// name: "霍华德·卢特尼克",
// avatarUrl: User1,
// position: "部长"
//
}
,
//
{
// name: "保罗·达巴尔",
// avatarUrl: User2,
// position: "副部长"
//
}
,
//
{
// name: "杰弗里·凯斯勒",
// avatarUrl: User3,
// position: "工业与安全局局长"
//
}
,
//
{
// name: "约翰·斯奎尔斯",
// avatarUrl: User4,
// position: "专利商标局局长"
//
}
]);
const
handleGetKeyUser
=
async
()
=>
{
const
params
=
{
orgId
:
route
.
query
.
id
}
;
try
{
const
res
=
await
getGovOrgKeyPerson
(
params
);
console
.
log
(
"关键人物"
,
res
);
keyUser
.
value
=
res
.
data
;
}
catch
(
error
)
{
}
}
;
handleGetKeyUser
();
// const curList = ref([
//
{
// title: "美国商务部:宣布对华全面加征100%关税",
// time: "2025 10月10日",
// content:
// "特朗普宣布自11月1日起对所有中国进口商品加征100%额外关税,叠加现有关税后总水平可达130%或更高。同时宣布将对“所有关键美国制造软件”实施严格的出口管制。",
// type:
{
// name: "行政令",
// status: 2
//
}
,
// tagList: ["人工智能"]
//
}
,
//
{
// title: "美国商务部:BIS更新“实体清单”",
// time: "2025 10月4日",
// content:
// "美国商务部工业与安全局公布对中国半导体出口管制措施新规则,将140家中国半导体公司列入“实体清单”,分别是136家中国实体和4家海外关联企业。",
// type:
{
// name: "实体清单",
// status: 4
//
}
,
// tagList: ["集成电路"]
//
}
,
//
{
// title: "美国商务部:出台“50%穿透规则”(关联方规则)",
// time: "2025 9月29日",
// content:
// "规定凡被列入“实体清单”或“军事最终用户清单”的企业,其直接或间接持股超过50%的子公司将自动受到同等出口管制限制。此规则极大地扩大了制裁范围,且未设过渡期。",
// type:
{
// name: "行政令",
// status: 2
//
}
,
// tagList: ["生物科技"]
//
}
,
//
{
// title: "美国商务部:对华港口设备加征高额关税",
// time: "2025 9月21日",
// content:
// "美国贸易代表办公室(USTR)公告,作为“301条款”行动的一部分,对特定中国制造的港口设备加征额外关税,其中船到岸起重机(STS)和集装箱底盘车及零部件均加征100%关税,于11月9日生效。",
// type:
{
// name: "301调查",
// status: 3
//
}
,
// tagList: ["先进制造"]
//
}
,
//
{
// title: "美国商务部:BIS更新“实体清单”",
// time: "2025 9月15日",
// content:
// "美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。",
// type:
{
// name: "实体清单",
// status: 4
//
}
,
// tagList: ["集成电路"]
//
}
,
//
{
// title: "美国商务部:BIS更新“实体清单”",
// time: "2025 9月15日",
// content:
// "美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。",
// type:
{
// name: "实体清单",
// status: 4
//
}
,
// tagList: ["集成电路"]
//
}
,
//
{
// title: "美国商务部:加强对华AI芯片出口限制",
// time: "2025 9月10日",
// content:
// "美国政府要求英特尔、AMD、英伟达等公司对向中国出口的先进AI处理器实施严格的许可证制度。英特尔Gaudi系列芯片等因性能超标明确受限。同时,考虑对中国AI初创企业DeepSeek实施制裁。",
// type:
{
// name: "行政令",
// status: 2
//
}
,
// tagList: ["人工智能", "集成电路"]
//
}
,
//
{
// title: "美国商务部:BIS更新“实体清单”",
// time: "2025 9月15日",
// content:
// "美国商务部工业和安全局宣布更新《出口管理条例》(EAR),并发布两项最终规则,将25家中国企业及其相关实体列入实体清单。",
// type:
{
// name: "实体清单",
// status: 4
//
}
,
// tagList: ["集成电路"]
//
}
,
//
{
// title: "美国商务部:发布针对中国网联汽车的禁令",
// time: "2025 8月25日",
// content: "美国商务部工业与安全局(BIS)发布一项最终规则,禁止涉及销售或进口其认定软件与中国有关联的联网汽车的交易。",
// type:
{
// name: "行政令",
// status: 2
//
}
,
// tagList: ["能源", "先进制造"]
//
}
,
//
{
// title: "美国商务部:考虑对中国无人机实施新限制",
// time: "2025 8月19日",
// content:
// "美国商务部表示正在考虑制定新规则,以限制或禁止中国无人机在美国境内使用,并就所谓“保护无人机供应链”的潜在规则征求公众意见。",
// type:
{
// name: "行政令",
// status: 2
//
}
,
// tagList: ["先进制造"]
//
}
// ]);
const
dynamicsName
=
ref
(
"机构动态"
);
const
isCrelated
=
ref
(
false
);
const
currentPage
=
ref
(
1
);
const
pageSize
=
ref
(
10
);
// 处理页码改变事件
const
handleCurrentChange
=
page
=>
{
currentPage
.
value
=
page
;
}
;
const
latestDynamicsList
=
ref
([]);
const
totalNum
=
ref
(
0
);
const
curList
=
computed
(()
=>
{
const
startIndex
=
(
currentPage
.
value
-
1
)
*
pageSize
.
value
;
const
endIndex
=
startIndex
+
pageSize
.
value
;
return
latestDynamicsList
.
value
.
slice
(
startIndex
,
endIndex
);
}
);
const
handleClickBtn
=
name
=>
{
dynamicsName
.
value
=
name
;
}
;
const
handleGetLatestDynamics
=
async
()
=>
{
const
params
=
{
orgId
:
route
.
query
.
id
,
cRelated
:
isCrelated
.
value
?
"Y"
:
"N"
,
currentPage
:
1
,
pageSize
:
9999999
}
;
try
{
const
res
=
await
getGovOrgLatestDynamics
(
params
);
console
.
log
(
"最新动态"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
latestDynamicsList
.
value
=
res
.
data
.
content
;
totalNum
.
value
=
res
.
data
.
totalElements
;
}
}
catch
(
error
)
{
}
}
;
handleGetLatestDynamics
();
<
/script
>
<
style
lang
=
"scss"
scoped
>
...
...
@@ -295,10 +365,15 @@ const curList = ref([
font
-
size
:
18
px
;
font
-
weight
:
700
;
}
.
check
-
box
{
position
:
absolute
;
top
:
15
px
;
right
:
275
px
;
}
.
header
-
btn
-
box
{
position
:
absolute
;
top
:
14
px
;
right
:
52
px
;
right
:
91
px
;
display
:
flex
;
.
btn
{
margin
-
left
:
8
px
;
...
...
@@ -367,10 +442,11 @@ const curList = ref([
}
.
left
{
width
:
1064
px
;
height
:
1683px
;
max
-
height
:
1683
px
;
.
left
-
main
{
border
-
top
:
1
px
solid
rgba
(
234
,
236
,
238
,
1
);
height
:
1551px
;
max
-
height
:
1551
px
;
min
-
height
:
660
px
;
.
left
-
main
-
item
{
display
:
flex
;
margin
-
top
:
16
px
;
...
...
@@ -437,12 +513,19 @@ const curList = ref([
}
}
.
content
{
height
:
100
px
;
overflow
:
hidden
;
margin
-
top
:
8
px
;
color
:
rgba
(
95
,
101
,
108
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
size
:
16
px
;
font
-
weight
:
400
;
line
-
height
:
24
px
;
display
:
-
webkit
-
box
;
-
webkit
-
box
-
orient
:
vertical
;
-
webkit
-
line
-
clamp
:
4
;
/* 控制显示的行数 */
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
}
.
tag
-
box
{
margin
-
top
:
9
px
;
...
...
@@ -464,7 +547,8 @@ const curList = ref([
}
}
.
left
-
footer
{
height
:
75px
;
margin
-
top
:
10
px
;
height
:
65
px
;
border
-
top
:
1
px
solid
rgba
(
234
,
236
,
238
,
1
);
display
:
flex
;
justify
-
content
:
space
-
between
;
...
...
@@ -530,19 +614,24 @@ const curList = ref([
text
-
align
:
left
;
}
.
user
-
content
{
margin-top
:
19px
;
height
:
120
px
;
margin
-
top
:
19
px
;
display
:
flex
;
flex
-
wrap
:
wrap
;
gap
:
16px
39px
;
justify-content
:
center
;
gap
:
16
px
20
px
;
justify
-
content
:
flex
-
start
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
.
user
-
item
{
width
:
185
px
;
width
:
200
px
;
height
:
49
px
;
display
:
flex
;
gap
:
8
px
;
.
user
-
item
-
left
{
width
:
48
px
;
height
:
48
px
;
border
-
radius
:
24
px
;
overflow
:
hidden
;
img
{
width
:
100
%
;
height
:
100
%
;
...
...
@@ -550,6 +639,8 @@ const curList = ref([
}
.
user
-
item
-
right
{
.
name
{
width
:
142
px
;
height
:
24
px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
font
-
family
:
Microsoft
YaHei
;
...
...
@@ -558,6 +649,9 @@ const curList = ref([
line
-
height
:
24
px
;
letter
-
spacing
:
0
px
;
text
-
align
:
left
;
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
white
-
space
:
nowrap
;
}
.
position
{
height
:
24
px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论