Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
65d8fbde
提交
65d8fbde
authored
12月 12, 2025
作者:
闫鹏
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'yp-dev' 到 'master'
Yp dev 查看合并请求
!36
上级
4d2068b3
1ed63839
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
113 行增加
和
17 行删除
+113
-17
exportControl.js
src/api/exportControl.js
+28
-0
fishbone-mock.json
...iews/exportControl/analysis/components/fishbone-mock.json
+10
-10
panel1.vue
src/views/exportControl/analysis/components/panel1.vue
+33
-1
panel2.vue
src/views/exportControl/analysis/components/panel2.vue
+42
-6
没有找到文件。
src/api/exportControl.js
浏览文件 @
65d8fbde
...
@@ -171,6 +171,22 @@ export function getPersonList() {
...
@@ -171,6 +171,22 @@ export function getPersonList() {
);
);
}
}
/**
* 重点实体列表查询
*/
export
function
getKeyEntityList
(
date
,
keyword
=
""
)
{
return
request200
(
request
({
method
:
"GET"
,
url
:
"/api/entitiesDataInfo/getKeyEntities"
,
params
:
{
sanctionDate
:
date
||
"2025-11-11"
,
searchText
:
keyword
}
})
);
}
/**
/**
* 不同领域实体统计
* 不同领域实体统计
* @param {string} startTime - 统计开始时间,格式为 'YYYY-MM-DD'
* @param {string} startTime - 统计开始时间,格式为 'YYYY-MM-DD'
...
@@ -526,3 +542,15 @@ export function getChainEntities(date, id) {
...
@@ -526,3 +542,15 @@ export function getChainEntities(date, id) {
})
})
);
);
}
}
/**
* 上市企业融资变化情况
*/
export
function
getEntityFinancing
()
{
return
request200
(
request
({
method
:
"GET"
,
url
:
"/api/entitiesDataInfo/listedEntity/financing"
})
);
}
src/views/exportControl/analysis/components/fishbone-mock.json
浏览文件 @
65d8fbde
[
[
{
{
"name"
:
"经济"
,
"id"
:
null
,
"count"
:
12
"name"
:
"2025-10-09"
,
"count"
:
41
},
},
{
{
"name"
:
"科技"
,
"id"
:
null
,
"count"
:
33
"name"
:
"2025-10-08"
,
"count"
:
398
},
},
{
{
"name"
:
"军事"
,
"id"
:
null
,
"count"
:
15
"name"
:
"2025-09-16"
,
},
"count"
:
138
{
"name"
:
"安全"
,
"count"
:
3
}
}
]
]
\ No newline at end of file
src/views/exportControl/analysis/components/panel1.vue
浏览文件 @
65d8fbde
...
@@ -90,12 +90,35 @@ import { Search } from "@element-plus/icons-vue";
...
@@ -90,12 +90,35 @@ import { Search } from "@element-plus/icons-vue";
import
Echarts
from
"@/components/Chart/index.vue"
;
import
Echarts
from
"@/components/Chart/index.vue"
;
import
{
getBarChart
,
getLineChart
}
from
"../../utils/charts"
;
import
{
getBarChart
,
getLineChart
}
from
"../../utils/charts"
;
import
Hint
from
"./hint.vue"
;
import
Hint
from
"./hint.vue"
;
import
{
getEntitiesChangeCount
,
getEntitiesGrowthTrend
,
getEntitiesUpdateCount
}
from
"@/api/exportControl"
;
import
{
getEntitiesChangeCount
,
getEntitiesGrowthTrend
,
getEntitiesUpdateCount
,
getKeyEntityList
}
from
"@/api/exportControl"
;
import
_
from
"lodash"
;
import
_
from
"lodash"
;
import
{
useRoute
}
from
"vue-router"
;
import
{
useRoute
}
from
"vue-router"
;
const
route
=
useRoute
();
const
route
=
useRoute
();
const
line1Option
=
shallowRef
({});
const
line1Option
=
shallowRef
({});
const
bar2Option
=
shallowRef
({});
const
bar2Option
=
shallowRef
({});
// 获取重点实体列表数据
const
fetchKeyEntityList
=
async
(
date
=
"2025-11-11"
,
keyword
=
""
)
=>
{
try
{
const
data
=
await
getKeyEntityList
(
date
,
keyword
);
if
(
data
&&
Array
.
isArray
(
data
))
{
// 根据 fishbone-mock.json 的数据结构处理数据
// 数据结构示例: [{orgName: "...", orgNameZh: "...", ...}]
subPanel4
.
value
=
data
.
map
(
item
=>
{
// 优先使用中文名称,如果没有则使用英文名称
const
name
=
item
.
orgNameZh
||
item
.
orgName
||
"未知实体"
;
return
{
name
,
tags
:
item
.
domainList
||
[]
};
});
}
}
catch
(
err
)
{
console
.
error
(
"获取重点实体列表失败:"
,
err
);
}
};
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
try
{
try
{
const
[
entitiesGrowthTrendData
,
entitiesUpdateCountData
]
=
await
Promise
.
all
([
const
[
entitiesGrowthTrendData
,
entitiesUpdateCountData
]
=
await
Promise
.
all
([
...
@@ -116,6 +139,8 @@ onMounted(async () => {
...
@@ -116,6 +139,8 @@ onMounted(async () => {
[
"rgba(22, 119, 255, 1)"
,
"rgba(22, 119, 255, 0)"
],
[
"rgba(22, 119, 255, 1)"
,
"rgba(22, 119, 255, 0)"
],
"更新频率"
"更新频率"
);
);
// 获取重点实体列表数据
await
fetchKeyEntityList
(
route
.
query
.
startTime
);
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
log
(
err
);
console
.
log
(
err
);
}
}
...
@@ -285,6 +310,13 @@ const subPanel4 = ref([
...
@@ -285,6 +310,13 @@ const subPanel4 = ref([
}
}
]);
]);
const
value3
=
ref
(
""
);
const
value3
=
ref
(
""
);
// 监听搜索关键词变化,重新获取数据
watch
(
value3
,
_
.
debounce
(
async
newVal
=>
{
await
fetchKeyEntityList
(
route
.
query
.
startTime
,
newVal
);
},
300
)
);
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/exportControl/analysis/components/panel2.vue
浏览文件 @
65d8fbde
...
@@ -71,6 +71,7 @@ import { Search } from "@element-plus/icons-vue";
...
@@ -71,6 +71,7 @@ import { Search } from "@element-plus/icons-vue";
import
Echarts
from
"@/components/Chart/index.vue"
;
import
Echarts
from
"@/components/Chart/index.vue"
;
import
{
getBarChart
,
getLineChart
}
from
"../../utils/charts"
;
import
{
getBarChart
,
getLineChart
}
from
"../../utils/charts"
;
import
Hint
from
"./hint.vue"
;
import
Hint
from
"./hint.vue"
;
import
{
getEntityFinancing
}
from
"@/api/exportControl"
;
const
options
=
[
const
options
=
[
{
{
value
:
"1"
,
value
:
"1"
,
...
@@ -110,6 +111,39 @@ const subPanel4 = ref([
...
@@ -110,6 +111,39 @@ const subPanel4 = ref([
type
:
"上市企业"
type
:
"上市企业"
}
}
]);
]);
// 获取上市企业融资变化数据
const
fetchEntityFinancing
=
async
()
=>
{
try
{
const
data
=
await
getEntityFinancing
();
if
(
data
&&
Array
.
isArray
(
data
))
{
// 根据 fishbone-mock.json 的数据结构处理数据
// 数据结构示例: [{name: "2025-10-09", count: 41}, ...]
// 按日期排序
const
sortedData
=
data
.
sort
((
a
,
b
)
=>
{
return
new
Date
(
a
.
name
)
-
new
Date
(
b
.
name
);
});
// 提取 x 轴数据(日期)
const
xAxisData
=
sortedData
.
map
(
item
=>
item
.
name
);
// 提取 y 轴数据(融资数量)
const
seriesData
=
sortedData
.
map
(
item
=>
item
.
count
);
// 更新图表配置
line1Option
.
value
=
getLineChart
({
xAxisData
,
seriesData
,
name
:
"融资变化"
,
color
:
"rgba(146, 84, 222, 1)"
});
}
}
catch
(
error
)
{
console
.
error
(
"获取上市企业融资变化数据失败:"
,
error
);
}
};
onMounted
(()
=>
{
onMounted
(()
=>
{
bar1Option
.
value
=
getBarChart
(
bar1Option
.
value
=
getBarChart
(
[
"2016"
,
"2017"
,
"2018"
,
"2019"
,
"2020"
,
"2021"
,
"2022"
,
"2023"
,
"2024"
,
"2025"
],
[
"2016"
,
"2017"
,
"2018"
,
"2019"
,
"2020"
,
"2021"
,
"2022"
,
"2023"
,
"2024"
,
"2025"
],
...
@@ -123,12 +157,14 @@ onMounted(() => {
...
@@ -123,12 +157,14 @@ onMounted(() => {
[
"rgba(19, 188, 196, 1)"
,
"rgba(19, 188, 196, 0)"
],
[
"rgba(19, 188, 196, 1)"
,
"rgba(19, 188, 196, 0)"
],
"市值变化"
"市值变化"
);
);
line1Option
.
value
=
getLineChart
({
// line1Option.value = getLineChart({
xAxisData
:
[
2013
,
2023
,
2024
,
2015
],
// xAxisData: [2013, 2023, 2024, 2015],
seriesData
:
[
434
,
24
,
453
,
322
],
// seriesData: [434, 24, 453, 322],
name
:
"融资变化"
,
// name: "融资变化",
color
:
"rgba(146, 84, 222, 1)"
// color: "rgba(146, 84, 222, 1)"
});
// });
// 获取上市企业融资变化数据
fetchEntityFinancing
();
});
});
</
script
>
</
script
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论