Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
398012e2
提交
398012e2
authored
3月 08, 2026
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
差异文件
fix:政令概览及详情
上级
1f206014
274cb057
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
175 行增加
和
67 行删除
+175
-67
index.vue
...ew/components/fourSuppress/components/addDomain/index.vue
+1
-0
index.vue
...omponents/fourSuppress/components/allGovernment/index.vue
+10
-7
index.vue
...iew/components/fourSuppress/components/allUnion/index.vue
+16
-7
index.vue
src/views/bill/billLayout/index.vue
+7
-2
charts.js
src/views/exportControl/utils/charts.js
+12
-9
index.vue
src/views/thinkTank/index.vue
+129
-42
没有找到文件。
src/views/ZMOverView/components/fourSuppress/components/addDomain/index.vue
浏览文件 @
398012e2
...
...
@@ -417,6 +417,7 @@ const pageSize = ref(5); // 每页显示 5 条
const
handleFieldChange
=
domainId
=>
{
console
.
log
(
"领域改变"
,
domainId
);
console
.
log
(
"领域值 =>"
,
selectedFieldForLatest
.
value
);
newsCurrentPage
.
value
=
1
;
getUSGovernmentLatestDynamicData
();
};
...
...
src/views/ZMOverView/components/fourSuppress/components/allGovernment/index.vue
浏览文件 @
398012e2
...
...
@@ -210,7 +210,7 @@
</div>
</div>
<div
class=
"bottom-content"
>
<CalendarHeatmap
v-if=
"timelineData.length > 0"
:timelineData=
"timelineData"
/>
<CalendarHeatmap
v-if=
"timelineData.length > 0"
:timelineData=
"timelineData"
/>
<!--
<div
class=
"timeline-container"
>
<div
class=
"timeline-list"
>
<div
v-for=
"(dept, index) in timelineList"
:key=
"index"
class=
"dept-row"
>
...
...
@@ -320,13 +320,11 @@ const monthNum = computed(() => {
}
});
// 全政府-美政府部门对我打压遏制时间线
const
loadingHistory
=
ref
(
false
);
const
timelineData
=
ref
([])
const
timelineData
=
ref
([])
;
const
getUSGovernmentSanctionHistoryData
=
async
()
=>
{
timelineData
.
value
=
[]
// 初始化数据
timelineData
.
value
=
[]
;
// 初始化数据
loadingHistory
.
value
=
true
;
try
{
const
params
=
{
...
...
@@ -378,7 +376,7 @@ const getUSGovernmentSanctionHistoryData = async () => {
// sanctionId: item.sanctionId
// });
// });
// //统计完成后生成新的数组
// let fArr = []
// rawList.forEach((item)=>{
...
...
@@ -803,12 +801,17 @@ const handleGetSanList = async () => {
const
res
=
await
getSanTypeList
(
params
);
console
.
log
(
"制裁手段列表"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
methodOptions
.
value
=
res
.
data
.
map
(
item
=>
{
let
_methodOptions
=
res
.
data
.
map
(
item
=>
{
return
{
label
:
item
.
name
,
value
:
item
.
id
};
});
_methodOptions
.
unshift
({
label
:
"全部制裁手段"
,
value
:
""
});
methodOptions
.
value
=
_methodOptions
;
methodValue
.
value
=
""
;
}
}
catch
(
error
)
{}
...
...
src/views/ZMOverView/components/fourSuppress/components/allUnion/index.vue
浏览文件 @
398012e2
...
...
@@ -1062,16 +1062,20 @@ const initRightDonut = async () => {
{
type
:
"graph"
,
layout
:
"circular"
,
circular
:
{
rotateLabel
:
true
}
,
symbolSize
:
80
,
roam
:
true
,
label
:
{
show
:
true
show
:
true
,
position
:
"outside"
}
,
edgeSymbol
:
[
"circle"
,
""
],
edgeSymbolSize
:
[
4
,
80
],
edgeLabel
:
{
fontSize
:
20
,
show
:
fals
e
show
:
tru
e
}
,
data
:
data
,
// links: [],
...
...
@@ -1232,7 +1236,12 @@ const getPredictionList = async () => {
const
res
=
await
getPrediction
();
if
(
res
&&
res
.
code
===
200
)
{
console
.
log
(
"----getPredictionList"
,
res
.
data
);
warningList
.
value
=
res
.
data
;
warningList
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
...
item
,
statementList
:
item
.
statementList
.
reverse
()
}
;
}
);
}
}
catch
(
error
)
{
console
.
error
(
"获取联盟动态接口失败:"
,
error
);
...
...
@@ -2055,7 +2064,7 @@ watch(activeDate, async () => {
.
area
-
left
{
width
:
792
px
;
height
:
5
0
0
px
;
height
:
5
2
0
px
;
box
-
sizing
:
border
-
box
;
border
-
radius
:
var
(
---
10
,
10
px
);
/* 业务系统/模块阴影 */
...
...
@@ -2098,7 +2107,7 @@ watch(activeDate, async () => {
.
area
-
right
{
width
:
792
px
;
height
:
5
0
0
px
;
height
:
5
2
0
px
;
box
-
sizing
:
border
-
box
;
border
-
radius
:
var
(
---
10
,
10
px
);
/* 业务系统/模块阴影 */
...
...
@@ -2134,8 +2143,8 @@ watch(activeDate, async () => {
.
right
-
content
{
width
:
100
%
;
height
:
calc
(
100
%
-
48
px
)
;
padding
:
33
px
48
px
59
px
50
px
;
height
:
450
px
;
//
padding: 33px 48px 59px 50px;
}
}
}
...
...
src/views/bill/billLayout/index.vue
浏览文件 @
398012e2
...
...
@@ -18,8 +18,8 @@
<div
class=
"left-box-bottom-item"
:class=
"
{ leftBoxBottomItemActive: activeTitle === item.name }"
v-for="
(item, index)
in mainHeaderBtnList"
:key="i
ndex
"
v-for="
item
in mainHeaderBtnList"
:key="i
tem.path
"
@click="handleClickMainHeaderBtn(item)"
>
<div
class=
"icon"
>
...
...
@@ -133,6 +133,7 @@
import
{
ref
,
onMounted
}
from
"vue"
;
import
router
from
"@/router"
;
import
{
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getBillInfoGlobal
,
getBillFullText
}
from
"@/api/bill"
;
const
route
=
useRoute
();
...
...
@@ -227,6 +228,10 @@ const mainHeaderBtnList = ref([
const
activeTitle
=
ref
(
"法案概况"
);
const
handleClickMainHeaderBtn
=
item
=>
{
if
([
"影响分析"
,
"相关情况"
].
includes
(
item
.
name
))
{
ElMessage
.
warning
(
"当前功能正在开发中,敬请期待!"
);
return
;
}
activeTitle
.
value
=
item
.
name
;
window
.
sessionStorage
.
setItem
(
"activeTitle"
,
activeTitle
.
value
);
router
.
push
({
...
...
src/views/exportControl/utils/charts.js
浏览文件 @
398012e2
...
...
@@ -1024,16 +1024,19 @@ export const getMultipleBarChart_m = object => {
type
:
"value"
,
splitNumber
:
5
,
alignTicks
:
false
,
name
:
"个"
,
nameLocation
:
"end"
,
nameGap
:
10
,
nameTextStyle
:
{
color
:
"rgba(95, 101, 108, 1)"
,
fontSize
:
14
,
fontWeight
:
400
,
fontFamily
:
"Microsoft YaHei"
,
padding
:
[
0
,
0
,
0
,
0
]
axisLabel
:
{
formatter
:
"{value} 个"
}
// name: "个",
// nameLocation: "end",
// nameGap: 10,
// nameTextStyle: {
// color: "rgba(95, 101, 108, 1)",
// fontSize: 14,
// fontWeight: 400,
// fontFamily: "Microsoft YaHei",
// padding: [0, 0, 0, 0]
// }
},
series
:
datas
};
...
...
src/views/thinkTank/index.vue
浏览文件 @
398012e2
...
...
@@ -13,8 +13,13 @@
</div>
-->
<div
class=
"home-main-header-center"
>
<SearchContainer
style=
"margin-bottom: 0; margin-top: 51px; height: fit-content"
v-if=
"containerRef"
placeholder=
"搜索智库报告"
:containerRef=
"containerRef"
areaName=
"智库"
/>
<SearchContainer
style=
"margin-bottom: 0; margin-top: 51px; height: fit-content"
v-if=
"containerRef"
placeholder=
"搜索智库报告"
:containerRef=
"containerRef"
areaName=
"智库"
/>
<!--
<el-input
v-model=
"searchThinktankText"
@
keyup
.
enter=
"handleSearch"
style=
"width: 838px; height: 100%"
placeholder=
"搜索智库报告"
/>
<div
class=
"search"
>
...
...
@@ -49,8 +54,11 @@
<div
class=
"icon"
>
<img
:src=
"item.logo"
alt=
""
/>
</div>
<div
class=
"rank"
:class=
"
{ rank1: item.rank === 1, rank2: item.rank === 2, rank3: item.rank === 3 }">
<
!--
<
div
class=
"rank"
:class=
"
{ rank1: item.rank === 1, rank2: item.rank === 2, rank3: item.rank === 3 }">
{{
"No."
+
(
index
+
1
)
}}
</div>
-->
<div
class=
"rank"
>
{{
item
.
reportNumber
}}
</div>
</div>
<div
class=
"card-title"
>
...
...
@@ -99,8 +107,14 @@
</div>
<div
class=
"box1-header-right"
@
click=
"handleClickToDetail"
>
查看详情 >
</div>
</div>
<el-carousel
ref=
"carouselRef"
height=
"395px"
:autoplay=
"true"
:interval=
"3000"
arrow=
"never"
indicator-position=
"none"
>
<el-carousel
ref=
"carouselRef"
height=
"395px"
:autoplay=
"true"
:interval=
"3000"
arrow=
"never"
indicator-position=
"none"
>
<el-carousel-item
v-for=
"(itemData, index) in box1Data"
:key=
"index"
>
<div
class=
"box1-main"
>
<div
class=
"box1-main-left"
>
...
...
@@ -112,7 +126,11 @@
<!-- <div class="tag" v-for="(item, index) in itemData?.industryVOList" :key="index">
{{ item.industryName }}
</div> -->
<AreaTag
v-for=
"(item, index) in itemData?.industryVOList"
:key=
"index"
:tagName=
"item.industryName"
></AreaTag>
<AreaTag
v-for=
"(item, index) in itemData?.industryVOList"
:key=
"index"
:tagName=
"item.industryName"
></AreaTag>
</div>
<div
class=
"content"
>
{{ itemData?.summary }}
</div>
<div
class=
"box1-right-footer"
>
...
...
@@ -130,15 +148,34 @@
</el-carousel-item>
</el-carousel>
</div>
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"title"
@
item-click=
"handleClickToDetail"
/>
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"title"
@
item-click=
"handleClickToDetail"
/>
</div>
<DivideHeader
id=
"position2"
class=
"divide-header"
:titleText=
"'资讯要闻'"
></DivideHeader>
<div
class=
"center-center"
>
<NewsList
:newsList=
"newsList"
@
item-click=
"handleToNewsAnalysis"
@
more-click=
"handleToMoreNews"
img=
"newsImage"
title=
"newsTitle"
content=
"newsContent"
from=
"from"
/>
<MessageBubble
:messageList=
"messageList"
imageUrl=
"personImage"
@
more-click=
"handleToSocialDetail"
@
person-click=
"handleClickPerson"
name=
"personName"
content=
"remarks"
source=
"orgName"
/>
<NewsList
:newsList=
"newsList"
@
item-click=
"handleToNewsAnalysis"
@
more-click=
"handleToMoreNews"
img=
"newsImage"
title=
"newsTitle"
content=
"newsContent"
from=
"from"
/>
<MessageBubble
:messageList=
"messageList"
imageUrl=
"personImage"
@
more-click=
"handleToSocialDetail"
@
person-click=
"handleClickPerson"
name=
"personName"
content=
"remarks"
source=
"orgName"
/>
</div>
<DivideHeader
id=
"position3"
class=
"divide-header"
:titleText=
"'数据总览'"
></DivideHeader>
<div
class=
"center-footer"
>
...
...
@@ -152,8 +189,13 @@
</div>
<div
class=
"box5-select-box"
>
<el-select
v-model=
"box5selectetedMonths"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox5Data(item.value)"
/>
<el-option
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox5Data(item.value)"
/>
</el-select>
</div>
</div>
...
...
@@ -167,8 +209,13 @@
<div
class=
"header-title"
>
{{ "政策建议领域分布" }}
</div>
<div
class=
"box6-select-box"
>
<el-select
v-model=
"box6selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"handleBox6()"
/>
<el-option
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"handleBox6()"
/>
</el-select>
</div>
</div>
...
...
@@ -197,21 +244,30 @@
</div>
<div
class=
"box8-select-box"
>
<el-select
v-model=
"box8selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox8Data(item.value)"
/>
<el-option
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox8Data(item.value)"
/>
</el-select>
</div>
</div>
<div
class=
"box8-main"
>
<div
class=
"box8-item"
v-for=
"(item, index) in box8Data"
:key=
"index"
>
<div
class=
"item-left"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
<div
class=
"item-left"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ index + 1 }}
</div>
<!-- <el-popover effect="dark" :content="item.clause" placement="top-start">
<template #reference> -->
<div
class=
"item-center"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
<div
class=
"item-center"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ item.clause }}
</div>
<!-- </template>
...
...
@@ -229,8 +285,13 @@
<div
class=
"home-main-footer-header"
>
<div
class=
"btn-box"
>
<div
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
:key=
"index"
@
click=
"handleClickCate(cate)"
>
<div
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
:key=
"index"
@
click=
"handleClickCate(cate)"
>
{{ cate }}
</div>
</div>
...
...
@@ -261,12 +322,22 @@
</div>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
@
change=
"handleCheckAllChange"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
@
change=
"handleCheckAllChange"
>
全部领域
</el-checkbox>
<el-checkbox
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
<el-checkbox
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
{{ research.name }}
</el-checkbox>
</div>
...
...
@@ -280,13 +351,22 @@
</div>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
@
change=
"handleCheckAllChangeTime"
>
<el-checkbox
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
@
change=
"handleCheckAllChangeTime"
>
全部时间
</el-checkbox>
<el-checkbox-group
v-model=
"selectedPubTimeList"
>
<el-checkbox
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
@
change=
"handleCheckedAreaChangeTime()"
>
<el-checkbox
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
@
change=
"handleCheckedAreaChangeTime()"
>
{{ time.name }}
</el-checkbox>
</el-checkbox-group>
...
...
@@ -296,8 +376,12 @@
</div>
<div
class=
"right"
>
<div
class=
"card-box"
>
<div
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
@
click=
"handleToReportDetail(item)"
>
<div
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
@
click=
"handleToReportDetail(item)"
>
<div
class=
"footer-card-top"
>
<img
:src=
"item.imageUrl"
alt=
""
/>
</div>
...
...
@@ -320,8 +404,14 @@
<div
class=
"right-footer"
>
<div
class=
"info"
>
共 {{ total }} 项
</div>
<div
class=
"page-box"
>
<el-pagination
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
<el-pagination
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
</div>
</div>
</div>
...
...
@@ -394,8 +484,6 @@ import { setCanvasCreator } from "echarts/core";
import
{
ElMessage
}
from
"element-plus"
;
const
containerRef
=
ref
(
null
);
const
searchThinktankText
=
ref
(
""
);
//搜索科技人物及观点
// 智库列表
const
cardList
=
ref
([
...
...
@@ -450,7 +538,8 @@ const handleGetThinkTankList = async () => {
tagList
:
item
.
tags
,
country
:
item
.
country
,
desc
:
item
.
describe
,
rank
:
item
.
id
rank
:
item
.
id
,
reportNumber
:
item
.
reportNumber
};
});
}
...
...
@@ -1415,7 +1504,7 @@ const handleClickPerson = async item => {
ElMessage
.
warning
(
"找不到当前人员的类型值!"
);
return
;
}
}
catch
(
error
)
{
}
}
catch
(
error
)
{}
};
// 点击新闻条目,跳转到新闻分析页
...
...
@@ -1635,8 +1724,6 @@ onMounted(async () => {
padding
:
0
160px
;
}
.home-main-header-footer
{
margin-top
:
38px
;
width
:
688px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论