Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
e6f1fadc
提交
e6f1fadc
authored
3月 26, 2026
作者:
张伊明
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'zy-dev' 到 'pre'
fix:政令替换实体关系图接口 查看合并请求
!234
上级
33a45509
4cef50fa
流水线
#77
已取消 于阶段
in 5 分 30 秒
变更
5
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
34 行增加
和
38 行删除
+34
-38
home.js
src/api/decree/home.js
+2
-11
influence.js
src/api/decree/influence.js
+2
-1
index.vue
src/views/decree/allOrganization/index.vue
+5
-5
index.vue
src/views/decree/decreeHome/index.vue
+7
-7
index.vue
src/views/decree/decreeLayout/influence/index.vue
+18
-14
没有找到文件。
src/api/decree/home.js
浏览文件 @
e6f1fadc
...
@@ -3,9 +3,9 @@ import request from "@/api/request.js";
...
@@ -3,9 +3,9 @@ import request from "@/api/request.js";
// 最新科技政令
// 最新科技政令
export
function
getDepartmentList
(
params
)
{
export
function
getDepartmentList
(
params
)
{
return
request
({
return
request
({
method
:
'
GE
T'
,
method
:
'
POS
T'
,
url
:
`/api/administrativeDict/department`
,
url
:
`/api/administrativeDict/department`
,
params
data
:
params
})
})
}
}
...
@@ -99,15 +99,6 @@ export function getKeyOrganization(params) {
...
@@ -99,15 +99,6 @@ export function getKeyOrganization(params) {
})
})
}
}
// 所有机构
export
function
getAllOrganization
(
params
)
{
return
request
({
method
:
'POST'
,
url
:
`/api/administrativeOrderOverview/orderCount`
,
data
:
params
})
}
// AI智能总结
// AI智能总结
export
function
getChartInterpretation
(
params
)
{
export
function
getChartInterpretation
(
params
)
{
return
request
({
return
request
({
...
...
src/api/decree/influence.js
浏览文件 @
e6f1fadc
...
@@ -49,7 +49,8 @@ export function getDecreeChainNodes(params) {
...
@@ -49,7 +49,8 @@ export function getDecreeChainNodes(params) {
export
function
getDecreeRelatedEntitie
(
params
)
{
export
function
getDecreeRelatedEntitie
(
params
)
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
'GET'
,
url
:
`/api/administrativeOrderInfo/listRelatedEntitie/
${
params
.
id
}
`
,
url
:
`/api/organization/shareholding`
,
params
})
})
}
}
...
...
src/views/decree/allOrganization/index.vue
浏览文件 @
e6f1fadc
...
@@ -30,12 +30,12 @@
...
@@ -30,12 +30,12 @@
<div
class=
"organization-list"
ref=
"refOrganization"
v-loading=
"organizationInfo.loading"
>
<div
class=
"organization-list"
ref=
"refOrganization"
v-loading=
"organizationInfo.loading"
>
<div
class=
"organization-item"
v-for=
"(item, index) in organizationInfo.list"
:key=
"index"
@
click=
"handleToInstitution(item)"
>
<div
class=
"organization-item"
v-for=
"(item, index) in organizationInfo.list"
:key=
"index"
@
click=
"handleToInstitution(item)"
>
<div
class=
"item-left"
>
<div
class=
"item-left"
>
<img
:src=
"item.
imgUrl
|| DefaultIcon2"
alt=
""
/>
<img
:src=
"item.
orgImage
|| DefaultIcon2"
alt=
""
/>
</div>
</div>
<div
class=
"item-right one-line-ellipsis"
>
{{ item.orgName }}
</div>
<div
class=
"item-right one-line-ellipsis"
>
{{ item.orgName }}
</div>
<div
class=
"item-total"
>
{{ item.total
OrderNum
}}项
</div>
<div
class=
"item-total"
>
{{ item.total }}项
</div>
<el-icon
color=
"var(--color-primary-100)"
><ArrowRightBold
/></el-icon>
<el-icon
color=
"var(--color-primary-100)"
><ArrowRightBold
/></el-icon>
<div
class=
"item-dot"
v-if=
"item.
recentOrderNum"
>
+{{item.recentOrderNum
}}
</div>
<div
class=
"item-dot"
v-if=
"item.
totalRecent"
>
+{{item.totalRecent
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"pagination-box"
>
<div
class=
"pagination-box"
>
...
@@ -56,7 +56,7 @@ import { Search } from '@element-plus/icons-vue'
...
@@ -56,7 +56,7 @@ import { Search } from '@element-plus/icons-vue'
import
router
from
"@/router"
;
import
router
from
"@/router"
;
import
TimeTabPane
from
'@/components/base/TimeTabPane/index.vue'
;
import
TimeTabPane
from
'@/components/base/TimeTabPane/index.vue'
;
import
{
get
AllOrganization
}
from
"@/api/decree/home"
;
import
{
get
DepartmentList
}
from
"@/api/decree/home"
;
import
tipsTcon
from
"./assets/icons/tips-icon.png"
;
import
tipsTcon
from
"./assets/icons/tips-icon.png"
;
import
DefaultIcon2
from
"@/assets/icons/default-icon2.png"
;
import
DefaultIcon2
from
"@/assets/icons/default-icon2.png"
;
...
@@ -77,7 +77,7 @@ const onAllOrganization = async (num) => {
...
@@ -77,7 +77,7 @@ const onAllOrganization = async (num) => {
organizationInfo
.
loading
=
true
organizationInfo
.
loading
=
true
try
{
try
{
let
{
keyWord
,
pageNum
,
pageSize
,
day
}
=
organizationInfo
let
{
keyWord
,
pageNum
,
pageSize
,
day
}
=
organizationInfo
const
res
=
await
get
AllOrganization
({
day
,
pageNum
:
pageNum
-
1
,
pageSize
,
keyWord
:
keyWord
||
undefined
});
const
res
=
await
get
DepartmentList
({
day
,
pageNum
:
pageNum
-
1
,
pageSize
,
keyWord
:
keyWord
||
undefined
});
console
.
log
(
"机构列表"
,
res
);
console
.
log
(
"机构列表"
,
res
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
organizationInfo
.
list
=
res
.
data
.
orgList
||
[];
organizationInfo
.
list
=
res
.
data
.
orgList
||
[];
...
...
src/views/decree/decreeHome/index.vue
浏览文件 @
e6f1fadc
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
<div
class=
"item-dot"
v-if=
"item.recentOrderNum"
>
+
{{
item
.
recentOrderNum
}}
</div>
<div
class=
"item-dot"
v-if=
"item.recentOrderNum"
>
+
{{
item
.
recentOrderNum
}}
</div>
</div>
</div>
<div
class=
"organization-item"
@
click=
"onNavigateTo()"
>
<div
class=
"organization-item"
@
click=
"onNavigateTo()"
>
<div
class=
"item-more"
>
查看全部机构 (
{{
govInsList
.
length
+
1
}}
家)
</div>
<div
class=
"item-more"
>
查看全部机构 (
{{
govInsList
.
length
}}
家)
</div>
<el-icon
color=
"var(--color-primary-100)"
><ArrowRightBold
/></el-icon>
<el-icon
color=
"var(--color-primary-100)"
><ArrowRightBold
/></el-icon>
</div>
</div>
</div>
</div>
...
@@ -233,7 +233,7 @@
...
@@ -233,7 +233,7 @@
<div
class=
"data-origin-icon"
>
<div
class=
"data-origin-icon"
>
<img
:src=
"tipsTcon"
alt=
""
>
<img
:src=
"tipsTcon"
alt=
""
>
</div>
</div>
<div
class=
"data-origin-text"
>
科技政
领
领域分布情况,数据来源:美国各行政机构官网
</div>
<div
class=
"data-origin-text"
>
科技政
令
领域分布情况,数据来源:美国各行政机构官网
</div>
</div>
</div>
<div
class=
"ai-pane"
>
<div
class=
"ai-pane"
>
<AiButton
/>
<AiButton
/>
...
@@ -287,7 +287,7 @@
...
@@ -287,7 +287,7 @@
<div
class=
"data-origin-icon"
>
<div
class=
"data-origin-icon"
>
<img
:src=
"tipsTcon"
alt=
""
>
<img
:src=
"tipsTcon"
alt=
""
>
</div>
</div>
<div
class=
"data-origin-text"
>
关键科技政
领
列表,数据来源:美国各行政机构官网
</div>
<div
class=
"data-origin-text"
>
关键科技政
令
列表,数据来源:美国各行政机构官网
</div>
</div>
</div>
</div>
</div>
<div
class=
"box8"
>
<div
class=
"box8"
>
...
@@ -321,7 +321,7 @@
...
@@ -321,7 +321,7 @@
<div
class=
"data-origin-icon"
>
<div
class=
"data-origin-icon"
>
<img
:src=
"tipsTcon"
alt=
""
>
<img
:src=
"tipsTcon"
alt=
""
>
</div>
</div>
<div
class=
"data-origin-text"
>
科技政
领
重点条款词云,数据来源:美国各行政机构官网
</div>
<div
class=
"data-origin-text"
>
科技政
令
重点条款词云,数据来源:美国各行政机构官网
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -502,10 +502,10 @@ const govInsList = ref([]);
...
@@ -502,10 +502,10 @@ const govInsList = ref([]);
const
checkedGovIns
=
ref
([]);
const
checkedGovIns
=
ref
([]);
const
handleGetDepartmentList
=
async
()
=>
{
const
handleGetDepartmentList
=
async
()
=>
{
try
{
try
{
const
res
=
await
getDepartmentList
({
day
:
7
});
const
res
=
await
getDepartmentList
({});
console
.
log
(
"机构列表"
,
res
);
console
.
log
(
"机构列表"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
)
{
govInsList
.
value
=
res
.
data
;
govInsList
.
value
=
res
.
data
.
orgList
;
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"获取机构列表error"
,
error
);
console
.
error
(
"获取机构列表error"
,
error
);
...
...
src/views/decree/decreeLayout/influence/index.vue
浏览文件 @
e6f1fadc
...
@@ -100,7 +100,7 @@ import {
...
@@ -100,7 +100,7 @@ import {
getDecreeRelatedEntitie
getDecreeRelatedEntitie
}
from
"@/api/decree/influence"
;
}
from
"@/api/decree/influence"
;
import
ChartChain
from
"./com/ChartChain.vue"
;
import
ChartChain
from
"./com/ChartChain.vue"
;
import
AiTips
from
"./com/AiTips.vue"
;
//
import AiTips from "./com/AiTips.vue";
import
GraphChart
from
"@/components/base/GraphChart/index.vue"
;
import
GraphChart
from
"@/components/base/GraphChart/index.vue"
;
import
defaultIcon2
from
"@/assets/icons/default-icon2.png"
;
import
defaultIcon2
from
"@/assets/icons/default-icon2.png"
;
import
noticeIcon
from
"./assets/images/notice-icon.png"
;
import
noticeIcon
from
"./assets/images/notice-icon.png"
;
...
@@ -186,7 +186,7 @@ const headerChartData = (row) => {
...
@@ -186,7 +186,7 @@ const headerChartData = (row) => {
onDecreeRelatedChain
(
row
.
id
)
onDecreeRelatedChain
(
row
.
id
)
break
;
break
;
case
2
:
case
2
:
onDecreeRelatedEntitie
(
row
.
i
d
)
onDecreeRelatedEntitie
(
row
.
orgI
d
)
break
;
break
;
}
}
}
}
...
@@ -247,14 +247,17 @@ const graphInfo = reactive({
...
@@ -247,14 +247,17 @@ const graphInfo = reactive({
nodes
:
[],
nodes
:
[],
links
:
[],
links
:
[],
}
);
}
);
const
onDecreeRelatedEntitie
=
async
(
i
d
)
=>
{
const
onDecreeRelatedEntitie
=
async
(
orgI
d
)
=>
{
try
{
try
{
const
res
=
await
getDecreeRelatedEntitie
({
id
}
);
const
res
=
await
getDecreeRelatedEntitie
({
orgId
,
rule
:
false
,
withSanInfo
:
false
}
);
console
.
log
(
"实体关系:"
,
res
);
console
.
log
(
"实体关系:"
,
res
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
graphInfo
.
links
=
res
.
data
.
map
(
onFormatLink
)
let
arr1
=
res
.
data
.
parentOrgList
.
map
(
item
=>
({
...
item
,
level
:
1
}
))
graphInfo
.
nodes
=
res
.
data
.
map
(
onFormatNode
)
let
arr3
=
res
.
data
.
childrenOrgList
.
map
(
item
=>
({
...
item
,
level
:
3
}
))
graphInfo
.
nodes
.
unshift
(
onFormatNode
(
entityInfo
.
node
))
graphInfo
.
links
=
[...
arr1
,...
arr3
].
map
(
onFormatLink
)
graphInfo
.
nodes
=
[...
arr1
,...
arr3
].
map
(
onFormatNode
)
graphInfo
.
nodes
.
unshift
(
onFormatNode
({
name
:
res
.
data
.
orgName
,
id
:
res
.
data
.
orgId
}
,
-
1
))
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
log
(
"获取实体关系失败"
,
error
);
console
.
log
(
"获取实体关系失败"
,
error
);
...
@@ -262,17 +265,18 @@ const onDecreeRelatedEntitie = async (id) => {
...
@@ -262,17 +265,18 @@ const onDecreeRelatedEntitie = async (id) => {
}
}
const
onFormatLink
=
(
item
,
index
)
=>
{
const
onFormatLink
=
(
item
,
index
)
=>
{
return
{
return
{
id
:
`link-${index+1
}
`
,
id
:
`link-${index
}
-${item.id
}
`
,
source
:
item
.
id
+
''
,
target
:
entityInfo
.
id
+
''
,
target
:
item
.
level
==
3
?
`${index
}
-${item.id
}
`
:
`-1-${entityInfo.node.orgId
}
`
,
label
:
{
show
:
true
,
color
:
"#055fc2"
,
backgroundColor
:
"#eef7ff"
,
borderWidth
:
0
,
offset
:
[
0
,
15
],
formatter
:
item
.
relation
}
,
source
:
item
.
level
==
3
?
`-1-${entityInfo.node.orgId
}
`
:
`${index
}
-${item.id
}
`
,
label
:
{
show
:
true
,
color
:
"#055fc2"
,
backgroundColor
:
"#eef7ff"
,
borderWidth
:
0
,
offset
:
[
0
,
15
],
formatter
:
item
.
description
}
,
lineStyle
:
{
color
:
'#B9DCFF'
,
type
:
"solid"
,
opacity
:
1
}
lineStyle
:
{
color
:
'#B9DCFF'
,
type
:
"solid"
,
opacity
:
1
}
}
}
}
}
const
onFormatNode
=
(
item
)
=>
{
const
onFormatNode
=
(
item
,
index
)
=>
{
let
leader
=
item
.
id
==
entityInfo
.
i
d
;
let
leader
=
item
.
id
==
entityInfo
.
node
.
orgI
d
;
return
{
return
{
id
:
item
.
id
+
''
,
id
:
`${index
}
-${item.id
}
`
,
name
:
onWordWrap
(
item
.
companyN
ame
,
7
),
name
:
onWordWrap
(
item
.
n
ame
,
7
),
label
:
{
label
:
{
show
:
true
,
show
:
true
,
color
:
"#3b414b"
,
color
:
"#3b414b"
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论