Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
eeee5c93
提交
eeee5c93
authored
4月 15, 2026
作者:
张烨
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/pre' into zy-dev
上级
de58ea53
eaf16a6e
流水线
#478
已通过 于阶段
in 1 分 40 秒
变更
6
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
112 行增加
和
56 行删除
+112
-56
index.vue
src/views/exportControl/index.vue
+1
-0
index.vue
...ontrol/v2.0EntityList/components/dataStatistics/index.vue
+69
-49
index.vue
...omponents/sanctionsOverview/components/listPage/index.vue
+20
-4
index.vue
...ws/finance/entityList/components/dataStatistics/index.vue
+2
-1
constrainedAssociation.vue
...mponents/deepMining/components/constrainedAssociation.vue
+18
-1
index.vue
...omponents/sanctionsOverview/components/listPage/index.vue
+2
-1
没有找到文件。
src/views/exportControl/index.vue
浏览文件 @
eeee5c93
...
...
@@ -861,6 +861,7 @@ const checkedTime = ref(["全部时间"]);
// 跳转到单条制裁页面,单独打开一个新页面
const
handleTitleClick
=
item
=>
{
if
(
!
item
.
summary
)
return
;
window
.
sessionStorage
.
setItem
(
"curTabName"
,
`
${
item
.
year
}
-
${
item
.
dateStr
}
《
${
item
.
title
}
》`
);
const
route
=
router
.
resolve
({
path
:
"/exportControl/singleSanction"
,
...
...
src/views/exportControl/v2.0EntityList/components/dataStatistics/index.vue
浏览文件 @
eeee5c93
...
...
@@ -105,8 +105,12 @@
</div>
</
template
>
<!-- <div class="echarts" ref="sanctionCountChartRef"></div> -->
<EChart
:option=
"sanctionCountChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handleBarChartClick"
/>
<EChart
:option=
"sanctionCountChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handleBarChartClick"
/>
<!-- <div class="bottom">
<div class="ai">
<div class="left">
...
...
@@ -140,14 +144,22 @@
<div
class=
"map-wrapper"
>
<div
class=
"map-chart"
ref=
"mapChartRef"
></div>
<div
class=
"rank-list"
>
<div
class=
"rank-item"
v-for=
"(item, index) in rankData"
:key=
"index"
@
click=
"handleClickRankChart(item)"
>
<div
class=
"rank-item"
v-for=
"(item, index) in rankData"
:key=
"index"
@
click=
"handleClickRankChart(item)"
>
<div
class=
"rank-index"
:class=
"'rank-' + (index + 1)"
>
{{ index + 1 }}
</div>
<div
class=
"rank-name"
>
{{ item.name }}
</div>
<div
class=
"rank-bar-bg"
>
<div
class=
"rank-bar-fill"
:style=
"{
width: (item.value / maxRankValue) * 100 + '%',
background: getBarColor(index)
}"
></div>
<div
class=
"rank-bar-fill"
:style=
"{
width: (item.value / maxRankValue) * 100 + '%',
background: getBarColor(index)
}"
></div>
</div>
<div
class=
"rank-value"
>
{{ item.value }}家
</div>
</div>
...
...
@@ -184,8 +196,12 @@
</el-select>
</
template
>
<!-- <div class="echarts" ref="domainChartRef"></div> -->
<EChart
:option=
"domainChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handlePieChartClick"
/>
<EChart
:option=
"domainChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handlePieChartClick"
/>
<!-- <div class="bottom">
<div class="ai">
<div class="left">
...
...
@@ -217,7 +233,12 @@
</el-select>
</
template
>
<!-- <div class="echarts" ref="typeChartRef"></div> -->
<EChart
:option=
"typeChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handlePieChartClick1"
/>
<EChart
:option=
"typeChartOption"
autoresize
:style=
"{ height: '300px', padding: '0 20px' }"
@
chart-click=
"handlePieChartClick1"
/>
<!-- <div class="bottom">
<div class="ai">
<div class="left">
...
...
@@ -271,7 +292,7 @@ const typeChart = useChartInterpretation();
const
rankChart
=
useChartInterpretation
();
const
route
=
useRoute
();
const
router
=
useRouter
()
const
router
=
useRouter
()
;
// 实体清单-数据统计-制裁实体类型分布情况
const
typeData
=
ref
([]);
const
getTypeCountData
=
async
()
=>
{
...
...
@@ -638,13 +659,14 @@ const updateMapChart = () => {
};
mapChartInstance
.
setOption
(
option
);
mapChartInstance
.
on
(
'click'
,
function
(
params
)
{
mapChartInstance
.
on
(
"click"
,
function
(
params
)
{
const
param
=
{
selectedProvince
:
params
.
name
,
selectedDate
:
regionTime
.
value
===
'all'
?
null
:
JSON
.
stringify
([
regionTime
.
value
+
'-01-01'
,
regionTime
.
value
+
'-12-31'
])
}
selectedDate
:
regionTime
.
value
===
"all"
?
null
:
JSON
.
stringify
([
regionTime
.
value
+
"-01-01"
,
regionTime
.
value
+
"-12-31"
])
};
const
route
=
router
.
resolve
({
path
:
'/dataLibrary/dataEntityList'
,
path
:
"/dataLibrary/dataEntityList"
,
query
:
param
});
window
.
open
(
route
.
href
,
"_blank"
);
...
...
@@ -988,10 +1010,10 @@ const updateTypeChart = () => {
let
data
=
typeData
.
value
.
length
?
[...
typeData
.
value
]
:
[
{
value
:
50
,
name
:
"企业"
},
{
value
:
32
,
name
:
"高校"
},
{
value
:
32
,
name
:
"科研院所"
}
];
{
value
:
50
,
name
:
"企业"
},
{
value
:
32
,
name
:
"高校"
},
{
value
:
32
,
name
:
"科研院所"
}
];
// 2. 聚合逻辑:保留前5项,其余合并为“其他”
data
.
sort
((
a
,
b
)
=>
b
.
value
-
a
.
value
);
...
...
@@ -1114,61 +1136,64 @@ const initTypeChart = () => {
const
sanTypeId
=
ref
(
""
);
// 点击制裁实体数量变化情况
const
handleBarChartClick
=
(
val
)
=>
{
console
.
log
(
'value'
,
val
);
const
handleBarChartClick
=
val
=>
{
console
.
log
(
"value"
,
val
);
const
params
=
{
selectedDate
:
activeTab
.
value
===
'year'
?
JSON
.
stringify
([
val
.
name
+
'-01-01'
,
val
.
name
+
'-12-31'
])
:
JSON
.
stringify
([
val
.
name
,
val
.
name
])
}
selectedDate
:
activeTab
.
value
===
"year"
?
JSON
.
stringify
([
val
.
name
+
"-01-01"
,
val
.
name
+
"-12-31"
])
:
JSON
.
stringify
([
val
.
name
,
val
.
name
])
};
const
route
=
router
.
resolve
({
path
:
'/dataLibrary/dataEntityList'
,
path
:
"/dataLibrary/dataEntityList"
,
query
:
params
});
window
.
open
(
route
.
href
,
"_blank"
);
}
}
;
// 制裁实体各省分布情况
const
handleClickRankChart
=
(
item
)
=>
{
const
handleClickRankChart
=
item
=>
{
// console.log('item', item);
const
params
=
{
selectedProvince
:
item
.
name
,
selectedDate
:
regionTime
.
value
===
'all'
?
null
:
JSON
.
stringify
([
regionTime
.
value
+
'-01-01'
,
regionTime
.
value
+
'-12-31'
])
}
selectedDate
:
regionTime
.
value
===
"all"
?
null
:
JSON
.
stringify
([
regionTime
.
value
+
"-01-01"
,
regionTime
.
value
+
"-12-31"
])
};
const
route
=
router
.
resolve
({
path
:
'/dataLibrary/dataEntityList'
,
path
:
"/dataLibrary/dataEntityList"
,
query
:
params
});
window
.
open
(
route
.
href
,
"_blank"
);
}
}
;
// 制裁实体领域分布情况
const
handlePieChartClick
=
(
val
)
=>
{
console
.
log
(
'val'
,
val
);
const
handlePieChartClick
=
val
=>
{
console
.
log
(
"val"
,
val
);
const
params
=
{
domains
:
val
.
name
,
selectedDate
:
domainTime
.
value
===
'all'
?
null
:
JSON
.
stringify
([
domainTime
.
value
+
'-01-01'
,
domainTime
.
value
+
'-12-31'
])
}
selectedDate
:
domainTime
.
value
===
"all"
?
null
:
JSON
.
stringify
([
domainTime
.
value
+
"-01-01"
,
domainTime
.
value
+
"-12-31"
])
};
const
route
=
router
.
resolve
({
path
:
'/dataLibrary/dataEntityList'
,
path
:
"/dataLibrary/dataEntityList"
,
query
:
params
});
window
.
open
(
route
.
href
,
"_blank"
);
}
}
;
// 制裁实体类型分布情况
const
handlePieChartClick1
=
(
val
)
=>
{
console
.
log
(
'val'
,
val
);
const
handlePieChartClick1
=
val
=>
{
console
.
log
(
"val"
,
val
);
const
params
=
{
selectedEntityType
:
val
.
name
,
selectedDate
:
typeTime
.
value
===
'all'
?
null
:
JSON
.
stringify
([
typeTime
.
value
+
'-01-01'
,
typeTime
.
value
+
'-12-31'
])
}
selectedDate
:
typeTime
.
value
===
"all"
?
null
:
JSON
.
stringify
([
typeTime
.
value
+
"-01-01"
,
typeTime
.
value
+
"-12-31"
])
}
;
const
route
=
router
.
resolve
({
path
:
'/dataLibrary/dataEntityList'
,
path
:
"/dataLibrary/dataEntityList"
,
query
:
params
});
window
.
open
(
route
.
href
,
"_blank"
);
}
};
onMounted
(()
=>
{
sanTypeId
.
value
=
route
.
query
.
sanTypeId
||
""
;
...
...
@@ -1191,11 +1216,6 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"scss"
>
*
{
margin
:
0
;
padding
:
0
;
}
.data-statistics
{
width
:
1601px
;
margin
:
0
auto
;
...
...
src/views/exportControl/v2.0EntityList/components/sanctionsOverview/components/listPage/index.vue
浏览文件 @
eeee5c93
...
...
@@ -5,6 +5,9 @@
<el-input
v-model=
"searchKeyword"
class=
"search-input"
placeholder=
"搜索实体"
:suffix-icon=
"Search"
/>
<div
class=
"filters"
>
<el-checkbox
v-model=
"onlyChina"
label=
"只看中国实体"
/>
<el-select
v-model=
"order"
placeholder=
"请选择排序方式"
style=
"width: 160px"
>
<el-option
v-for=
"item in orderOptions"
:value=
"item.value"
:key=
"item.value"
:label=
"item.name"
/>
</el-select>
</div>
</div>
<div
class=
"main"
>
...
...
@@ -242,6 +245,11 @@ import { useGotoCompanyPages } from "@/router/modules/company";
const
gotoCompanyPages
=
useGotoCompanyPages
();
const
router
=
useRouter
();
const
order
=
ref
(
"asc"
);
const
orderOptions
=
ref
([
{
name
:
"正序"
,
value
:
"asc"
},
{
name
:
"倒序"
,
value
:
"desc"
}
]);
// 跳转公司详情页
const
handleCompClick
=
item
=>
{
console
.
log
(
"item"
,
item
);
...
...
@@ -257,7 +265,7 @@ const handleCompClick = item => {
};
const
searchKeyword
=
ref
(
""
);
const
onlyChina
=
ref
(
fals
e
);
const
onlyChina
=
ref
(
tru
e
);
const
sanctionTime
=
ref
(
""
);
const
currentPage
=
ref
(
1
);
...
...
@@ -460,7 +468,9 @@ const getExportControlListApi = async () => {
endDate
,
keyword
:
searchKeyword
.
value
||
undefined
,
pageNum
:
currentPage
.
value
,
pageSize
:
pageSize
.
value
pageSize
:
pageSize
.
value
,
sortOrder
:
order
.
value
// sortField: "sanctionTime" + order.value
};
try
{
...
...
@@ -484,7 +494,12 @@ const getExportControlListApi = async () => {
}
};
watch
(
onlyChina
,
()
=>
{
// watch(onlyChina, () => {
// currentPage.value = 1;
// getExportControlListApi();
// });
watch
([
onlyChina
,
order
],
()
=>
{
currentPage
.
value
=
1
;
getExportControlListApi
();
});
...
...
@@ -550,7 +565,7 @@ watch(customDateRange, () => {
}
.filters
{
//
display: flex;
display
:
flex
;
// align-items: center;
.el-checkbox
{
...
...
@@ -611,6 +626,7 @@ watch(customDateRange, () => {
margin-top
:
8px
;
padding-right
:
24px
;
box-sizing
:
border-box
;
grid-column
:
1
/
-1
;
:deep
(
.el-date-editor
)
{
width
:
100%
;
...
...
src/views/finance/entityList/components/dataStatistics/index.vue
浏览文件 @
eeee5c93
...
...
@@ -533,7 +533,8 @@ const getDomainNumData = async () => {
const
processedData
=
processDomainTrendData
(
res
);
domainNumChartOption
.
value
=
getMultiLineChart
(
processedData
);
console
.
log
(
"获取实体清单-数据统计-processedData:"
,
processedData
);
console
.
log
(
"获取实体清单-数据统计-domainNumChartOption:"
,
domainNumChartOption
.
value
);
console
.
log
(
"获取实体清单-数据统计-domainNumChartOption:"
,
res
);
domainNumChart
.
interpret
({
type
:
"折线图"
,
name
:
"制裁实体领域数量变化情况"
,
data
:
res
});
}
}
catch
(
error
)
{
console
.
error
(
"获取实体清单-数据统计-制裁实体领域数量变化趋势失败:"
,
error
);
...
...
src/views/finance/entityList/components/deepMining/components/constrainedAssociation.vue
浏览文件 @
eeee5c93
...
...
@@ -92,7 +92,12 @@
<div
class=
"content-item"
>
<div
class=
"item-label"
>
依托制裁:
</div>
<div
class=
"item-desc"
>
<div
class=
"item-file"
v-for=
"item in vertexInfo.relySanList"
:key=
"item.id"
>
<div
class=
"item-file"
v-for=
"item in vertexInfo.relySanList"
:key=
"item.id"
@
click=
"handleClickSan(item)"
>
<div
class=
"item-file-name"
>
{{ item.title }}
</div>
...
...
@@ -695,6 +700,18 @@ const formatChangeSummary = (addList, delList) => {
return
parts
.
length
>
0
?
parts
.
join
(
","
)
:
"无变动"
;
};
const
handleClickSan
=
item
=>
{
window
.
sessionStorage
.
setItem
(
"curTabName"
,
`
${
item
.
postDate
}
《
${
item
.
title
}
》`
);
const
route
=
router
.
resolve
({
path
:
"/finance/singleSanction"
,
query
:
{
id
:
item
.
id
,
sanTypeId
:
item
.
sanTypeId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
};
const
loading
=
ref
(
false
);
const
sanctionList
=
ref
([]);
const
currentSanctionId
=
ref
(
5
);
...
...
src/views/finance/entityList/components/sanctionsOverview/components/listPage/index.vue
浏览文件 @
eeee5c93
...
...
@@ -253,7 +253,8 @@ const handleCompClick = item => {
// }
// });
// window.open(route.href, "_blank");
gotoCompanyPages
(
item
.
id
);
if
(
!
item
.
entityId
)
return
;
gotoCompanyPages
(
item
.
entityId
);
};
const
searchKeyword
=
ref
(
""
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论