Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
c395a230
提交
c395a230
authored
4月 15, 2026
作者:
朱政
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:所有概览页风险信号点击item逻辑开发,以及风险信号管理功能样式开发
上级
eaea9d5b
流水线
#498
已通过 于阶段
in 2 分 3 秒
变更
12
流水线
1
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
157 行增加
和
41 行删除
+157
-41
index.js
src/api/riskSignal/index.js
+24
-0
overview.js
src/api/thinkTank/overview.js
+5
-6
index.vue
src/components/base/RiskSignalOverviewDetailDialog/index.vue
+59
-9
risk-signal-overview-detail-dialog.scss
...rviewDetailDialog/risk-signal-overview-detail-dialog.scss
+53
-1
riskSignalOverviewDetailHelpers.js
src/utils/riskSignalOverviewDetailHelpers.js
+6
-1
index.vue
src/views/ZMOverView/components/newRisk/index.vue
+2
-16
index.vue
src/views/finance/index.vue
+3
-3
index.vue
src/views/thinkTank/index.vue
+5
-5
down-arrow.png
src/views/viewRiskSignal/assets/images/down-arrow.png
+0
-0
green-right.png
src/views/viewRiskSignal/assets/images/green-right.png
+0
-0
up-arrow.png
src/views/viewRiskSignal/assets/images/up-arrow.png
+0
-0
index.vue
src/views/viewRiskSignal/index.vue
+0
-0
没有找到文件。
src/api/riskSignal/index.js
浏览文件 @
c395a230
...
@@ -24,3 +24,27 @@ export function getRiskSignalInfoById(id) {
...
@@ -24,3 +24,27 @@ export function getRiskSignalInfoById(id) {
url
:
`/api/riskSignal/getRiskSignalInfoById/
${
id
}
`
url
:
`/api/riskSignal/getRiskSignalInfoById/
${
id
}
`
});
});
}
}
/** 确定风险:更新处理状态(GET /api/riskSignal/UpdateStatu/{id}) */
export
function
updateRiskSignalStatus
(
id
)
{
return
request
({
method
:
"GET"
,
url
:
`/api/riskSignal/UpdateStatu/
${
id
}
`
});
}
/** 风险类型字典(GET /api/riskSignal/getRiskTypes) */
export
function
getRiskTypes
()
{
return
request
({
method
:
"GET"
,
url
:
`/api/riskSignal/getRiskTypes`
});
}
/** 风险来源国家字典(GET /api/riskSignal/listRiskCountry) */
export
function
listRiskCountry
()
{
return
request
({
method
:
"GET"
,
url
:
`/api/riskSignal/listRiskCountry`
});
}
src/api/thinkTank/overview.js
浏览文件 @
c395a230
...
@@ -26,13 +26,12 @@ export function getNewReport() {
...
@@ -26,13 +26,12 @@ export function getNewReport() {
})
})
}
}
// 风险信号
// 风险信号
(统一走通用接口 /api/commonFeature/riskSignal/{moduleId})
export
function
getThinkTankRiskSignal
()
{
export
function
getThinkTankRiskSignal
(
moduleId
=
"0102"
)
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/thinkTankOverview/riskSignal`
,
url
:
`/api/commonFeature/riskSignal/
${
moduleId
}
`
,
});
})
}
}
/**
/**
...
...
src/components/base/RiskSignalOverviewDetailDialog/index.vue
浏览文件 @
c395a230
...
@@ -17,21 +17,29 @@
...
@@ -17,21 +17,29 @@
class=
"risk-signal-detail-dialog__level"
class=
"risk-signal-detail-dialog__level"
:class=
"listLevelModifierClass"
:class=
"listLevelModifierClass"
>
{{
listLevelText
}}
</span>
>
{{
listLevelText
}}
</span>
<div
v-if=
"bodyFromApi"
class=
"risk-signal-detail-dialog__read-indicator"
>
<el-icon
v-if=
"riskDetailStatus === false"
class=
"risk-signal-detail-dialog__header-badge-close"
>
<Close
/>
</el-icon>
<img
v-else-if=
"riskDetailStatus === true"
class=
"risk-signal-detail-dialog__header-badge-read"
:src=
"greenRightImg"
alt=
""
/>
<span
v-if=
"riskDetailStatus != null"
class=
"read"
>
{{
riskDetailStatus
?
"已读"
:
"未读"
}}
</span>
</div>
</
template
>
</
template
>
<div
class=
"risk-signal-detail-dialog__main"
v-loading=
"detailLoading"
>
<div
class=
"risk-signal-detail-dialog__main"
v-loading=
"detailLoading"
>
<div
v-if=
"bodyFromApi"
>
<div
v-if=
"bodyFromApi"
>
<div
v-if=
"riskDetailItem.title"
class=
"risk-signal-detail-dialog__body"
>
<div
v-if=
"riskDetailItem.title"
class=
"risk-signal-detail-dialog__body"
>
<span
class=
"risk-signal-detail-dialog__title"
>
{{ riskDetailItem.title }}
</span>
<span
class=
"risk-signal-detail-dialog__title"
>
{{ riskDetailItem.title }}
</span>
<div
<div
v-if=
"riskDetailItem.directionLabels.length"
class=
"risk-signal-detail-dialog__directions"
>
v-if=
"riskDetailItem.directionLabels.length || riskDetailItem.category"
class=
"risk-signal-detail-dialog__directions"
>
<div
<div
v-for=
"(dirLabel, dirIndex) in riskDetailItem.directionLabels"
v-for=
"(dirLabel, dirIndex) in riskDetailItem.directionLabels"
:key=
"'overview-risk-detail-direction-' + dirIndex + '-' + dirLabel"
:key=
"'overview-risk-detail-direction-' + dirIndex + '-' + dirLabel"
class=
"risk-signal-detail-dialog__origin"
class=
"risk-signal-detail-dialog__origin"
>
{{ dirLabel }}
</div>
>
{{ dirLabel }}
</div>
<div
v-if=
"riskDetailItem.category"
class=
"risk-signal-detail-dialog__origin"
>
{{ riskDetailItem.category }}
</div>
</div>
</div>
<div
class=
"risk-signal-detail-dialog__meta"
>
<div
class=
"risk-signal-detail-dialog__meta"
>
<span>
{{ metaLine }}
</span>
<span>
{{ metaLine }}
</span>
...
@@ -64,8 +72,13 @@
...
@@ -64,8 +72,13 @@
</div>
</div>
</div>
</div>
<
template
#
footer
>
<
template
#
footer
>
<el-button
type=
"primary"
class=
"risk-signal-detail-dialog__action-btn"
@
click=
"visible = false"
>
<el-button
确定风险
type=
"primary"
class=
"risk-signal-detail-dialog__action-btn"
:loading=
"confirmLoading"
@
click=
"handleConfirm"
>
确定
</el-button>
</el-button>
</
template
>
</
template
>
</el-dialog>
</el-dialog>
...
@@ -75,7 +88,10 @@
...
@@ -75,7 +88,10 @@
import
{
computed
,
nextTick
,
reactive
,
ref
,
watch
}
from
"vue"
;
import
{
computed
,
nextTick
,
reactive
,
ref
,
watch
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
}
from
"vue-router"
;
import
AreaTag
from
"@/components/base/AreaTag/index.vue"
;
import
AreaTag
from
"@/components/base/AreaTag/index.vue"
;
import
{
getRiskSignalInfoById
}
from
"@/api/riskSignal/index.js"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
greenRightImg
from
"@/views/viewRiskSignal/assets/images/green-right.png"
;
import
{
getRiskSignalInfoById
,
updateRiskSignalStatus
}
from
"@/api/riskSignal/index.js"
;
import
{
import
{
buildListRowFallbackFromRawRow
,
buildListRowFallbackFromRawRow
,
buildRiskDetailPayloadFromApi
,
buildRiskDetailPayloadFromApi
,
...
@@ -114,7 +130,7 @@ const props = defineProps({
...
@@ -114,7 +130,7 @@ const props = defineProps({
}
}
});
});
const
emit
=
defineEmits
([
"closed"
]);
const
emit
=
defineEmits
([
"closed"
,
"confirmed"
]);
const
visible
=
defineModel
({
type
:
Boolean
,
default
:
false
});
const
visible
=
defineModel
({
type
:
Boolean
,
default
:
false
});
...
@@ -123,6 +139,9 @@ const router = useRouter();
...
@@ -123,6 +139,9 @@ const router = useRouter();
const
listLevelText
=
ref
(
""
);
const
listLevelText
=
ref
(
""
);
const
bodyFromApi
=
ref
(
false
);
const
bodyFromApi
=
ref
(
false
);
const
detailLoading
=
ref
(
false
);
const
detailLoading
=
ref
(
false
);
const
confirmLoading
=
ref
(
false
);
const
riskDetailCurrentId
=
ref
(
null
);
const
riskDetailStatus
=
ref
(
null
);
const
riskDetailItem
=
reactive
(
getEmptyRiskDetailPayload
());
const
riskDetailItem
=
reactive
(
getEmptyRiskDetailPayload
());
...
@@ -171,6 +190,9 @@ const resetState = () => {
...
@@ -171,6 +190,9 @@ const resetState = () => {
listLevelText
.
value
=
""
;
listLevelText
.
value
=
""
;
bodyFromApi
.
value
=
false
;
bodyFromApi
.
value
=
false
;
detailLoading
.
value
=
false
;
detailLoading
.
value
=
false
;
confirmLoading
.
value
=
false
;
riskDetailCurrentId
.
value
=
null
;
riskDetailStatus
.
value
=
null
;
assignRiskDetail
(
getEmptyRiskDetailPayload
());
assignRiskDetail
(
getEmptyRiskDetailPayload
());
};
};
...
@@ -181,6 +203,8 @@ const loadDetail = async () => {
...
@@ -181,6 +203,8 @@ const loadDetail = async () => {
}
}
const
listFallback
=
buildListRowFallbackFromRawRow
(
props
.
row
,
fieldMap
.
value
);
const
listFallback
=
buildListRowFallbackFromRawRow
(
props
.
row
,
fieldMap
.
value
);
listLevelText
.
value
=
normalizeRiskSignalListLevelText
(
listFallback
.
risktype
);
listLevelText
.
value
=
normalizeRiskSignalListLevelText
(
listFallback
.
risktype
);
riskDetailCurrentId
.
value
=
null
;
riskDetailStatus
.
value
=
null
;
assignRiskDetail
(
getEmptyRiskDetailPayload
());
assignRiskDetail
(
getEmptyRiskDetailPayload
());
bodyFromApi
.
value
=
false
;
bodyFromApi
.
value
=
false
;
detailLoading
.
value
=
false
;
detailLoading
.
value
=
false
;
...
@@ -192,6 +216,8 @@ const loadDetail = async () => {
...
@@ -192,6 +216,8 @@ const loadDetail = async () => {
try
{
try
{
const
res
=
await
getRiskSignalInfoById
(
id
);
const
res
=
await
getRiskSignalInfoById
(
id
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
riskDetailCurrentId
.
value
=
id
;
riskDetailStatus
.
value
=
Boolean
(
res
.
data
.
status
);
assignRiskDetail
(
buildRiskDetailPayloadFromApi
(
res
.
data
,
listFallback
));
assignRiskDetail
(
buildRiskDetailPayloadFromApi
(
res
.
data
,
listFallback
));
bodyFromApi
.
value
=
true
;
bodyFromApi
.
value
=
true
;
}
}
...
@@ -226,6 +252,30 @@ const handleRelationClick = () => {
...
@@ -226,6 +252,30 @@ const handleRelationClick = () => {
window
.
open
(
href
,
"_blank"
);
window
.
open
(
href
,
"_blank"
);
};
};
const
handleConfirm
=
async
()
=>
{
const
id
=
riskDetailCurrentId
.
value
;
if
(
id
==
null
||
id
===
""
)
{
visible
.
value
=
false
;
return
;
}
confirmLoading
.
value
=
true
;
try
{
const
res
=
await
updateRiskSignalStatus
(
String
(
id
));
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
typeof
res
.
msg
===
"string"
&&
res
.
msg
.
trim
()
?
res
.
msg
:
"操作成功"
);
visible
.
value
=
false
;
emit
(
"confirmed"
,
{
id
:
String
(
id
)
});
}
else
{
ElMessage
.
warning
(
typeof
res
.
msg
===
"string"
&&
res
.
msg
.
trim
()
?
res
.
msg
:
"操作失败"
);
}
}
catch
(
error
)
{
console
.
error
(
"确定风险 UpdateStatu error"
,
error
);
ElMessage
.
error
(
"操作失败"
);
}
finally
{
confirmLoading
.
value
=
false
;
}
};
function
handleClosed
()
{
function
handleClosed
()
{
resetState
();
resetState
();
emit
(
"closed"
);
emit
(
"closed"
);
...
...
src/components/base/RiskSignalOverviewDetailDialog/risk-signal-overview-detail-dialog.scss
浏览文件 @
c395a230
...
@@ -232,6 +232,52 @@
...
@@ -232,6 +232,52 @@
margin-right
:
6px
;
margin-right
:
6px
;
}
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__read-indicator
{
position
:
absolute
;
right
:
115px
;
top
:
50%
;
transform
:
translateY
(
-50%
);
display
:
inline-flex
;
align-items
:
center
;
gap
:
8px
;
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__header-badge-close
{
width
:
16px
;
height
:
16px
;
border-radius
:
8px
;
background-color
:
rgba
(
206
,
79
,
81
,
1
);
color
:
rgba
(
255
,
255
,
255
,
1
);
display
:
inline-flex
;
align-items
:
center
;
justify-content
:
center
;
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__header-badge-close
svg
{
width
:
12px
;
height
:
12px
;
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__header-badge-close
svg
path
{
fill
:
rgba
(
255
,
255
,
255
,
1
)
!
important
;
stroke
:
rgba
(
255
,
255
,
255
,
1
)
!
important
;
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__header-badge-read
{
width
:
16px
;
height
:
16px
;
display
:
block
;
}
.risk-signal-detail-dialog
.read
{
font-family
:
"Source Han Sans CN"
,
sans-serif
;
font-weight
:
400
;
font-size
:
16px
;
line-height
:
24px
;
letter-spacing
:
0
;
color
:
rgb
(
95
,
101
,
108
);
}
.risk-signal-detail-dialog
.header-icon
img
{
.risk-signal-detail-dialog
.header-icon
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
...
@@ -319,7 +365,13 @@
...
@@ -319,7 +365,13 @@
margin-top
:
24px
;
margin-top
:
24px
;
padding-left
:
12px
;
padding-left
:
12px
;
padding-right
:
12px
;
padding-right
:
12px
;
height
:
310px
;
height
:
360px
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
14
;
line-clamp
:
14
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__desc-p
{
.risk-signal-detail-dialog
.risk-signal-detail-dialog__desc-p
{
...
...
src/utils/riskSignalOverviewDetailHelpers.js
浏览文件 @
c395a230
...
@@ -5,7 +5,10 @@ export function resolveRiskSignalRowId(row) {
...
@@ -5,7 +5,10 @@ export function resolveRiskSignalRowId(row) {
if
(
!
row
||
typeof
row
!==
"object"
)
{
if
(
!
row
||
typeof
row
!==
"object"
)
{
return
""
;
return
""
;
}
}
const
keys
=
[
"id"
,
"riskId"
,
"riskSignalId"
,
"orderId"
,
"signalId"
];
// 概览页通用接口 `/api/commonFeature/riskSignal/{moduleId}` 返回结构里,
// 详情接口 getRiskSignalInfoById 需要的是 signalId(而非 orderId/reportId 等业务 id)。
// 因此优先取 signalId;其次再取已映射的 id/riskId 等。
const
keys
=
[
"signalId"
,
"id"
,
"riskId"
,
"riskSignalId"
,
"orderId"
];
for
(
const
k
of
keys
)
{
for
(
const
k
of
keys
)
{
const
v
=
row
[
k
];
const
v
=
row
[
k
];
if
(
v
!=
null
&&
String
(
v
).
trim
()
!==
""
)
{
if
(
v
!=
null
&&
String
(
v
).
trim
()
!==
""
)
{
...
@@ -296,6 +299,7 @@ export function buildRiskDetailPayloadFromApi(data, listRow) {
...
@@ -296,6 +299,7 @@ export function buildRiskDetailPayloadFromApi(data, listRow) {
const
category
=
const
category
=
data
.
typeName
??
data
.
module
??
data
.
modle
??
data
.
riskCategory
??
""
;
data
.
typeName
??
data
.
module
??
data
.
modle
??
data
.
riskCategory
??
""
;
const
org
=
data
.
orgName
!=
null
&&
String
(
data
.
orgName
).
trim
()
!==
""
?
String
(
data
.
orgName
).
trim
()
:
""
;
const
org
=
data
.
orgName
!=
null
&&
String
(
data
.
orgName
).
trim
()
!==
""
?
String
(
data
.
orgName
).
trim
()
:
""
;
// 相关模块类型:严格使用 data.model(0100/0101/0103...),与风险动向类型 data.direction(0100~0103) 语义不同
const
modelCode
=
data
.
model
!=
null
?
String
(
data
.
model
).
trim
()
:
""
;
const
modelCode
=
data
.
model
!=
null
?
String
(
data
.
model
).
trim
()
:
""
;
const
referedRaw
=
data
.
referedId
??
data
.
referredId
;
const
referedRaw
=
data
.
referedId
??
data
.
referredId
;
const
relationReferedId
=
referedRaw
!=
null
?
String
(
referedRaw
).
trim
()
:
""
;
const
relationReferedId
=
referedRaw
!=
null
?
String
(
referedRaw
).
trim
()
:
""
;
...
@@ -308,6 +312,7 @@ export function buildRiskDetailPayloadFromApi(data, listRow) {
...
@@ -308,6 +312,7 @@ export function buildRiskDetailPayloadFromApi(data, listRow) {
const
detailTags
=
parseRiskSignalTagList
(
data
);
const
detailTags
=
parseRiskSignalTagList
(
data
);
const
apiCategory
=
String
(
category
).
trim
();
const
apiCategory
=
String
(
category
).
trim
();
const
apiTime
=
formatRiskPublishDisplay
(
postRaw
)
||
String
(
postRaw
||
""
).
trim
();
const
apiTime
=
formatRiskPublishDisplay
(
postRaw
)
||
String
(
postRaw
||
""
).
trim
();
// 风险动向类型:严格使用 direction(0100~0103),支持多值
const
directionCodes
=
[
const
directionCodes
=
[
...
parseRiskSignalDirectionCodes
(
data
.
direction
),
...
parseRiskSignalDirectionCodes
(
data
.
direction
),
...
parseRiskSignalDirectionCodes
(
list
.
direction
)
...
parseRiskSignalDirectionCodes
(
list
.
direction
)
...
...
src/views/ZMOverView/components/newRisk/index.vue
浏览文件 @
c395a230
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
:key=
"item.signalId != null ? String(item.signalId) : 'risk-' + index"
:key=
"item.signalId != null ? String(item.signalId) : 'risk-' + index"
@
mouseenter=
"onMouseEnter(item, index)"
@
mouseenter=
"onMouseEnter(item, index)"
@
mouseleave=
"onMouseLeave"
@
mouseleave=
"onMouseLeave"
@
click
.
stop
=
"handleRiskSignalRowToManage(item)"
@
click
.
stop
:class=
"['risk-signals-item',
{ 'risk-signals-item-hightLight': riskSignalActiveIndex === index }]"
:class=
"['risk-signals-item',
{ 'risk-signals-item-hightLight': riskSignalActiveIndex === index }]"
>
>
<div
class=
"item-left"
:class=
"
{
<div
class=
"item-left"
:class=
"
{
...
@@ -125,13 +125,6 @@
...
@@ -125,13 +125,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -142,7 +135,6 @@ import WaveBall from "./WaveBall.vue";
...
@@ -142,7 +135,6 @@ import WaveBall from "./WaveBall.vue";
import
{
getLatestRiskUpdates
,
getLatestRisks
}
from
"@/api/zmOverview/risk/index.js"
;
import
{
getLatestRiskUpdates
,
getLatestRisks
}
from
"@/api/zmOverview/risk/index.js"
;
import
router
from
"@/router/index"
;
import
router
from
"@/router/index"
;
import
{
navigateToViewRiskSignal
}
from
"@/utils/riskSignalOverviewNavigate"
;
import
{
navigateToViewRiskSignal
}
from
"@/utils/riskSignalOverviewNavigate"
;
import
RiskSignalOverviewDetailDialog
from
"@/components/base/RiskSignalOverviewDetailDialog/index.vue"
;
import
icon1
from
"./icon/title-1.svg"
;
import
icon1
from
"./icon/title-1.svg"
;
import
icon2
from
"./icon/title-2.svg"
;
import
icon2
from
"./icon/title-2.svg"
;
import
icon3
from
"./icon/title-3.svg"
;
import
icon3
from
"./icon/title-3.svg"
;
...
@@ -660,13 +652,7 @@ const filteredHotNewsList = computed(() => {
...
@@ -660,13 +652,7 @@ const filteredHotNewsList = computed(() => {
return
hotNewsList
.
value
.
filter
(
newsItem
=>
newsItem
.
signalId
===
currentHoveredSignalId
.
value
);
return
hotNewsList
.
value
.
filter
(
newsItem
=>
newsItem
.
signalId
===
currentHoveredSignalId
.
value
);
});
});
const
isRiskOverviewDetailOpen
=
ref
(
false
);
// 首页风险信号不弹详情弹窗
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalRowToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
const
handleToRiskManage
=
()
=>
{
const
handleToRiskManage
=
()
=>
{
navigateToViewRiskSignal
(
router
);
navigateToViewRiskSignal
(
router
);
...
...
src/views/finance/index.vue
浏览文件 @
c395a230
...
@@ -1388,7 +1388,7 @@ const strengthLabels = {
...
@@ -1388,7 +1388,7 @@ const strengthLabels = {
// 获取风险信号数据
// 获取风险信号数据
const
fetchRiskSignals
=
async
()
=>
{
const
fetchRiskSignals
=
async
()
=>
{
try
{
try
{
const
data
=
await
getRiskSignal
();
const
data
=
await
getRiskSignal
(
"0109"
);
if
(
data
&&
Array
.
isArray
(
data
))
{
if
(
data
&&
Array
.
isArray
(
data
))
{
console
.
log
(
data
);
console
.
log
(
data
);
warningList
.
value
=
data
.
map
(
item
=>
({
warningList
.
value
=
data
.
map
(
item
=>
({
...
@@ -1408,7 +1408,7 @@ const fetchRiskSignals = async () => {
...
@@ -1408,7 +1408,7 @@ const fetchRiskSignals = async () => {
// 添加获取社交媒体信息的方法
// 添加获取社交媒体信息的方法
const
fetchSocialMediaInfo
=
async
()
=>
{
const
fetchSocialMediaInfo
=
async
()
=>
{
try
{
try
{
const
data
=
await
getSocialMediaInfo
();
const
data
=
await
getSocialMediaInfo
(
"0109"
);
if
(
data
&&
Array
.
isArray
(
data
))
{
if
(
data
&&
Array
.
isArray
(
data
))
{
// console.log(data);
// console.log(data);
socialMediaList
.
value
=
data
.
map
(
item
=>
({
socialMediaList
.
value
=
data
.
map
(
item
=>
({
...
@@ -1429,7 +1429,7 @@ const fetchSocialMediaInfo = async () => {
...
@@ -1429,7 +1429,7 @@ const fetchSocialMediaInfo = async () => {
// 添加获取新闻资讯的方法
// 添加获取新闻资讯的方法
const
fetchNewsInfo
=
async
()
=>
{
const
fetchNewsInfo
=
async
()
=>
{
try
{
try
{
const
data
=
await
getNewsInfo
();
const
data
=
await
getNewsInfo
(
"0109"
);
if
(
data
&&
Array
.
isArray
(
data
))
{
if
(
data
&&
Array
.
isArray
(
data
))
{
newsList
.
value
=
data
.
map
(
item
=>
({
newsList
.
value
=
data
.
map
(
item
=>
({
...
item
,
...
item
,
...
...
src/views/thinkTank/index.vue
浏览文件 @
c395a230
...
@@ -807,15 +807,15 @@ const warningList = ref([
...
@@ -807,15 +807,15 @@ const warningList = ref([
// 获取智库风险信号
// 获取智库风险信号
const
handleGetThinkTankRiskSignal
=
async
()
=>
{
const
handleGetThinkTankRiskSignal
=
async
()
=>
{
try
{
try
{
const
res
=
await
getThinkTankRiskSignal
();
const
res
=
await
getThinkTankRiskSignal
(
"0102"
);
console
.
log
(
"智库风险信号"
,
res
);
console
.
log
(
"智库风险信号"
,
res
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
warningList
.
value
=
res
.
data
.
map
(
item
=>
{
warningList
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
return
{
title
:
item
.
nam
e
,
title
:
item
.
signalTitl
e
,
time
:
item
.
times
,
time
:
item
.
signalTime
,
id
:
item
.
report
Id
,
id
:
item
.
signal
Id
,
status
:
item
.
risk
Level
||
"暂无数据"
status
:
item
.
signal
Level
||
"暂无数据"
};
};
});
});
}
}
...
...
src/views/viewRiskSignal/assets/images/down-arrow.png
0 → 100644
浏览文件 @
c395a230
16.2 KB
src/views/viewRiskSignal/assets/images/green-right.png
0 → 100644
浏览文件 @
c395a230
22.8 KB
src/views/viewRiskSignal/assets/images/up-arrow.png
0 → 100644
浏览文件 @
c395a230
10.3 KB
src/views/viewRiskSignal/index.vue
浏览文件 @
c395a230
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论