Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
75af5d0f
提交
75af5d0f
authored
4月 15, 2026
作者:
yanpeng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'pre' of
http://8.140.26.4:10003/caijian/risk-monitor
into yp-dev
上级
1f2cc05f
ad1ead3f
流水线
#503
已通过 于阶段
in 1 分 59 秒
变更
26
流水线
1
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
295 行增加
和
63 行删除
+295
-63
index.js
src/api/riskSignal/index.js
+32
-0
overview.js
src/api/thinkTank/overview.js
+5
-6
index.vue
src/components/base/RiskSignalOverviewDetailDialog/index.vue
+0
-0
risk-signal-overview-detail-dialog.scss
...rviewDetailDialog/risk-signal-overview-detail-dialog.scss
+69
-1
riskSignalOverviewDetailHelpers.js
src/utils/riskSignalOverviewDetailHelpers.js
+0
-0
index.vue
src/views/ZMGame/component/riskToday/index.vue
+11
-3
index.vue
src/views/ZMOverView/components/newRisk/index.vue
+2
-8
index.vue
src/views/bill/billHome/index.vue
+10
-2
index.vue
src/views/coopRestriction/components/dataNew/index.vue
+10
-2
index.vue
src/views/decree/decreeHome/index.vue
+11
-2
index.vue
src/views/exportControl/index.vue
+10
-3
index.vue
src/views/finance-back/index.vue
+10
-2
index.vue
src/views/finance/index.vue
+13
-6
index.vue
src/views/gjOverView/index.vue
+21
-3
index.vue
src/views/innovationSubject/index.vue
+10
-2
index.vue
...views/marketAccessRestrictions/marketAccessHome/index.vue
+11
-2
index.vue
src/views/overView/index.vue
+21
-3
index.vue
src/views/ruleRestriction/components/dataNew/index.vue
+10
-2
index.vue
src/views/scientificFunding/components/dataNew/index.vue
+10
-2
index.vue
src/views/technologyFigures/index.vue
+10
-2
index.vue
src/views/thinkTank/allThinkTank/index.vue
+2
-2
index.vue
src/views/thinkTank/index.vue
+17
-10
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
浏览文件 @
75af5d0f
...
@@ -16,3 +16,35 @@ export function getPageQuery(data) {
...
@@ -16,3 +16,35 @@ export function getPageQuery(data) {
data
:
data
data
:
data
})
})
}
}
/** 风险信号详情(GET /api/riskSignal/getRiskSignalInfoById/{id}) */
export
function
getRiskSignalInfoById
(
id
)
{
return
request
({
method
:
"GET"
,
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
浏览文件 @
75af5d0f
...
@@ -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
浏览文件 @
75af5d0f
差异被折叠。
点击展开。
src/components/base/RiskSignalOverviewDetailDialog/risk-signal-overview-detail-dialog.scss
浏览文件 @
75af5d0f
...
@@ -196,6 +196,14 @@
...
@@ -196,6 +196,14 @@
border-radius
:
20px
;
border-radius
:
20px
;
}
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__directions
{
display
:
flex
;
flex-direction
:
row
;
flex-wrap
:
wrap
;
align-items
:
center
;
gap
:
8px
;
}
.risk-signal-detail-dialog
.risk-signal-detail-dialog__body
{
.risk-signal-detail-dialog
.risk-signal-detail-dialog__body
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
@@ -224,6 +232,52 @@
...
@@ -224,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%
;
...
@@ -311,7 +365,13 @@
...
@@ -311,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
{
...
@@ -327,3 +387,11 @@
...
@@ -327,3 +387,11 @@
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
gap
:
8px
;
gap
:
8px
;
}
}
/* 详情请求中 v-loading 遮罩区域(与列表一致有足够高度以便居中) */
.risk-signal-detail-dialog
.risk-signal-detail-dialog__main
{
position
:
relative
;
width
:
100%
;
min-height
:
480px
;
box-sizing
:
border-box
;
}
src/utils/riskSignalOverviewDetailHelpers.js
0 → 100644
浏览文件 @
75af5d0f
差异被折叠。
点击展开。
src/views/ZMGame/component/riskToday/index.vue
浏览文件 @
75af5d0f
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
class=
"risk-signals-item"
class=
"risk-signals-item"
v-for=
"(item, index) in warningList"
v-for=
"(item, index) in warningList"
:key=
"item.signalId || item.billId || index"
:key=
"item.signalId || item.billId || index"
@
click=
"handleRiskSignalItemToManage"
@
click=
"handleRiskSignalItemToManage
(item)
"
:class=
"
{ highlighted: item.eventType === highlightedEventType }"
:class=
"
{ highlighted: item.eventType === highlightedEventType }"
>
>
<div
<div
...
@@ -115,7 +115,13 @@
...
@@ -115,7 +115,13 @@
</div>
</div>
</div>
</div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -292,8 +298,10 @@ const handleSwithCurNews = name => {
...
@@ -292,8 +298,10 @@ const handleSwithCurNews = name => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/ZMOverView/components/newRisk/index.vue
浏览文件 @
75af5d0f
...
@@ -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"
@
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,7 +125,6 @@
...
@@ -125,7 +125,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -136,7 +135,6 @@ import WaveBall from "./WaveBall.vue";
...
@@ -136,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"
;
...
@@ -654,11 +652,7 @@ const filteredHotNewsList = computed(() => {
...
@@ -654,11 +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
handleRiskSignalRowToManage
=
()
=>
{
isRiskOverviewDetailOpen
.
value
=
true
;
};
const
handleToRiskManage
=
()
=>
{
const
handleToRiskManage
=
()
=>
{
navigateToViewRiskSignal
(
router
);
navigateToViewRiskSignal
(
router
);
...
...
src/views/bill/billHome/index.vue
浏览文件 @
75af5d0f
...
@@ -238,7 +238,13 @@
...
@@ -238,7 +238,13 @@
<DivideHeader
id=
"position4"
class=
"divide4"
:titleText=
"'资源库'"
></DivideHeader>
<DivideHeader
id=
"position4"
class=
"divide4"
:titleText=
"'资源库'"
></DivideHeader>
<ResourceLibrarySection
:on-click-to-detail=
"handleClickToDetailO"
:on-after-page-change=
"handlePageChange"
/>
<ResourceLibrarySection
:on-click-to-detail=
"handleClickToDetailO"
:on-after-page-change=
"handlePageChange"
/>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -469,8 +475,10 @@ const handleClickToDetailO = item => {
...
@@ -469,8 +475,10 @@ const handleClickToDetailO = item => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/coopRestriction/components/dataNew/index.vue
浏览文件 @
75af5d0f
...
@@ -113,7 +113,13 @@
...
@@ -113,7 +113,13 @@
<RiskSignal
:list=
"riskSignals"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"content"
<RiskSignal
:list=
"riskSignals"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"content"
riskLevel=
"title"
@
item-click=
"handleRiskSignalItemToManage"
/>
riskLevel=
"title"
@
item-click=
"handleRiskSignalItemToManage"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"content"
post-date-field=
"time"
risk-level-field=
"title"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -214,8 +220,10 @@ const handleToRiskDetail = (item) => {
...
@@ -214,8 +220,10 @@ const handleToRiskDetail = (item) => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/decree/decreeHome/index.vue
浏览文件 @
75af5d0f
...
@@ -403,7 +403,13 @@
...
@@ -403,7 +403,13 @@
</div>
</div>
</div>
</div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</template>
</template>
...
@@ -496,7 +502,10 @@ const onNavigateTo = () => {
...
@@ -496,7 +502,10 @@ const onNavigateTo = () => {
// 查看更多风险信号
// 查看更多风险信号
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/exportControl/index.vue
浏览文件 @
75af5d0f
...
@@ -721,7 +721,13 @@
...
@@ -721,7 +721,13 @@
</div>
</div>
</
template
>
</
template
>
</el-dialog>
</el-dialog>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</template>
</template>
<
script
setup
>
<
script
setup
>
...
@@ -830,9 +836,10 @@ const handleToPosi = id => {
...
@@ -830,9 +836,10 @@ const handleToPosi = id => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
// 风险信号:概览写死详情弹窗
const
handleToRiskSignalDetail
=
(
item
)
=>
{
const
handleToRiskSignalDetail
=
()
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/finance-back/index.vue
浏览文件 @
75af5d0f
...
@@ -544,7 +544,13 @@
...
@@ -544,7 +544,13 @@
</custom-container>
</custom-container>
</el-col>
</el-col>
</el-row>
</el-row>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"title"
post-date-field=
"time"
risk-level-field=
"status"
/>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -635,8 +641,10 @@ const messageList = ref([
...
@@ -635,8 +641,10 @@ const messageList = ref([
}
}
]);
]);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleToRiskSignalDetail
=
()
=>
{
const
handleToRiskSignalDetail
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/finance/index.vue
浏览文件 @
75af5d0f
...
@@ -688,7 +688,13 @@
...
@@ -688,7 +688,13 @@
</div>
</div>
</
template
>
</
template
>
</el-dialog>
</el-dialog>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</template>
</template>
<
script
setup
>
<
script
setup
>
...
@@ -807,9 +813,10 @@ const handleToPosi = id => {
...
@@ -807,9 +813,10 @@ const handleToPosi = id => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
// 风险信号:概览写死详情弹窗
const
handleToRiskSignalDetail
=
(
item
)
=>
{
const
handleToRiskSignalDetail
=
()
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
@@ -1529,7 +1536,7 @@ const strengthLabels = {
...
@@ -1529,7 +1536,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
=>
({
...
@@ -1549,7 +1556,7 @@ const fetchRiskSignals = async () => {
...
@@ -1549,7 +1556,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
=>
({
...
@@ -1570,7 +1577,7 @@ const fetchSocialMediaInfo = async () => {
...
@@ -1570,7 +1577,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/gjOverView/index.vue
浏览文件 @
75af5d0f
...
@@ -75,7 +75,12 @@
...
@@ -75,7 +75,12 @@
</div>
</div>
<div
class=
"item-header-divider"
/>
<div
class=
"item-header-divider"
/>
<div
class=
"warning-wrap"
>
<div
class=
"warning-wrap"
>
<div
v-for=
"(item, index) in warningList"
:key=
"index"
class=
"waring-item"
@
click=
"handleRiskSignalItemClick"
>
<div
v-for=
"(item, index) in warningList"
:key=
"item.title + '-' + item.time + '-' + index"
class=
"waring-item"
@
click=
"handleRiskSignalItemClick(item)"
>
<div
class=
"waring-row"
>
<div
class=
"waring-row"
>
<div
class=
"waring-status"
:style=
"
{
<div
class=
"waring-status"
:style=
"
{
color: item.status === 0 ? '#CE4F51' : item.status === 1 ? '#FA8C16' : '#52C41A',
color: item.status === 0 ? '#CE4F51' : item.status === 1 ? '#FA8C16' : '#52C41A',
...
@@ -114,7 +119,13 @@
...
@@ -114,7 +119,13 @@
<AdvantagesAnalysis
/>
<AdvantagesAnalysis
/>
<div
style=
"width: 100%;height: 100px;"
></div>
<div
style=
"width: 100%;height: 100px;"
></div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"title"
post-date-field=
"time"
risk-level-field=
"riskLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -224,8 +235,15 @@ const warningList = ref([
...
@@ -224,8 +235,15 @@ const warningList = ref([
]);
]);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemClick
=
()
=>
{
const
mapRiskOverviewRowFromStatus
=
(
item
)
=>
({
...
item
,
riskLevel
:
item
.
status
===
0
?
"特别重大"
:
item
.
status
===
1
?
"重大风险"
:
"一般风险"
});
const
handleRiskSignalItemClick
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
mapRiskOverviewRowFromStatus
(
item
);
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/innovationSubject/index.vue
浏览文件 @
75af5d0f
...
@@ -147,7 +147,13 @@
...
@@ -147,7 +147,13 @@
</div>
-->
</div>
-->
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
<DivideHeader
id=
"position2"
class=
"divide2"
:titleText=
"'资讯要闻'"
></DivideHeader>
<DivideHeader
id=
"position2"
class=
"divide2"
:titleText=
"'资讯要闻'"
></DivideHeader>
<div
class=
"center-center"
>
<div
class=
"center-center"
>
...
@@ -518,8 +524,10 @@ const handleClickToDetail = university => {
...
@@ -518,8 +524,10 @@ const handleClickToDetail = university => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/marketAccessRestrictions/marketAccessHome/index.vue
浏览文件 @
75af5d0f
...
@@ -59,7 +59,13 @@
...
@@ -59,7 +59,13 @@
<
/overviewMainBox
>
<
/overviewMainBox
>
<
/div
>
<
/div
>
<
RiskSignal
:
list
=
"box2Data"
@
more
-
click
=
"handleToMoreRiskSignal"
@
item
-
click
=
"handleRiskSignalItemToManage"
postDate
=
"signalTime"
name
=
"signalTitle"
riskLevel
=
"signalLevel"
/>
<
RiskSignal
:
list
=
"box2Data"
@
more
-
click
=
"handleToMoreRiskSignal"
@
item
-
click
=
"handleRiskSignalItemToManage"
postDate
=
"signalTime"
name
=
"signalTitle"
riskLevel
=
"signalLevel"
/>
<
RiskSignalOverviewDetailDialog
v
-
model
=
"isRiskOverviewDetailOpen"
/>
<
RiskSignalOverviewDetailDialog
v
-
model
=
"isRiskOverviewDetailOpen"
:
row
=
"riskOverviewDetailRow"
name
-
field
=
"signalTitle"
post
-
date
-
field
=
"signalTime"
risk
-
level
-
field
=
"signalLevel"
/>
<
/div
>
<
/div
>
<
DivideHeader
id
=
"position2"
class
=
"divide-header"
:
titleText
=
"'资讯要闻'"
><
/DivideHeader
>
<
DivideHeader
id
=
"position2"
class
=
"divide-header"
:
titleText
=
"'资讯要闻'"
><
/DivideHeader
>
...
@@ -1007,7 +1013,10 @@ const handleFetchSurveyList = async () => {
...
@@ -1007,7 +1013,10 @@ const handleFetchSurveyList = async () => {
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
}
;
}
;
...
...
src/views/overView/index.vue
浏览文件 @
75af5d0f
...
@@ -112,7 +112,12 @@
...
@@ -112,7 +112,12 @@
</div>
</div>
<div
class=
"item-header-divider"
></div>
<div
class=
"item-header-divider"
></div>
<div
style=
"padding: 30px 23px; height: 400px"
>
<div
style=
"padding: 30px 23px; height: 400px"
>
<div
class=
"waring-item"
v-for=
"(item, index) in warningList"
:key=
"index"
@
click=
"handleRiskSignalItemClick"
>
<div
class=
"waring-item"
v-for=
"(item, index) in warningList"
:key=
"item.title + '-' + item.time + '-' + index"
@
click=
"handleRiskSignalItemClick(item)"
>
<div
style=
"display: flex; height: 47px"
>
<div
style=
"display: flex; height: 47px"
>
<div
<div
class=
"waring-status"
class=
"waring-status"
...
@@ -195,7 +200,13 @@
...
@@ -195,7 +200,13 @@
<strengthComparison
/>
<strengthComparison
/>
</div>
</div>
</div>
</div>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"title"
post-date-field=
"time"
risk-level-field=
"riskLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -227,8 +238,15 @@ const handleToSearch = () => {
...
@@ -227,8 +238,15 @@ const handleToSearch = () => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemClick
=
()
=>
{
const
mapRiskOverviewRowFromStatus
=
(
item
)
=>
({
...
item
,
riskLevel
:
item
.
status
===
0
?
"特别重大"
:
item
.
status
===
1
?
"重大风险"
:
"一般风险"
});
const
handleRiskSignalItemClick
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
mapRiskOverviewRowFromStatus
(
item
);
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/ruleRestriction/components/dataNew/index.vue
浏览文件 @
75af5d0f
...
@@ -71,7 +71,13 @@
...
@@ -71,7 +71,13 @@
</div>
-->
</div>
-->
<RiskSignal
:list=
"list"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
<RiskSignal
:list=
"list"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -198,8 +204,10 @@ const handleToRiskDetail = (item) => {
...
@@ -198,8 +204,10 @@ const handleToRiskDetail = (item) => {
// };
// };
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/scientificFunding/components/dataNew/index.vue
浏览文件 @
75af5d0f
...
@@ -92,7 +92,13 @@
...
@@ -92,7 +92,13 @@
</div>
-->
</div>
-->
<RiskSignal
:list=
"list"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
<RiskSignal
:list=
"list"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
postDate=
"signalTime"
name=
"signalTitle"
riskLevel=
"signalLevel"
/>
postDate=
"signalTime"
name=
"signalTitle"
riskLevel=
"signalLevel"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -128,8 +134,10 @@ const formatDate = (dateStr) => {
...
@@ -128,8 +134,10 @@ const formatDate = (dateStr) => {
return
`
${
y
}
年
${
m
}
月
${
d
}
日`
;
return
`
${
y
}
年
${
m
}
月
${
d
}
日`
;
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/technologyFigures/index.vue
浏览文件 @
75af5d0f
...
@@ -157,7 +157,13 @@
...
@@ -157,7 +157,13 @@
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
@
item-click=
"handleRiskSignalItemToManage"
postDate=
"signalTime"
name=
"signalTitle"
riskLevel=
"signalLevel"
/>
postDate=
"signalTime"
name=
"signalTitle"
riskLevel=
"signalLevel"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskOverviewDetailOpen"
:row=
"riskOverviewDetailRow"
name-field=
"signalTitle"
post-date-field=
"signalTime"
risk-level-field=
"signalLevel"
/>
</div>
</div>
<DivideHeader
id=
"position2"
class=
"divide-header"
:titleText=
"'言论动态'"
v-if=
"false"
></DivideHeader>
<DivideHeader
id=
"position2"
class=
"divide-header"
:titleText=
"'言论动态'"
v-if=
"false"
></DivideHeader>
<div
class=
"center-center"
>
<div
class=
"center-center"
>
...
@@ -824,8 +830,10 @@ const handleClickCate = cate => {
...
@@ -824,8 +830,10 @@ const handleClickCate = cate => {
};
};
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
isRiskOverviewDetailOpen
=
ref
(
false
);
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskOverviewDetailOpen
.
value
=
true
;
isRiskOverviewDetailOpen
.
value
=
true
;
};
};
...
...
src/views/thinkTank/allThinkTank/index.vue
浏览文件 @
75af5d0f
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
</div>
</div>
</div>
</div>
<div
class=
"time-tab-pane"
>
<div
class=
"time-tab-pane"
>
<TimeTabPane
@
time-click=
"handleTimeClick"
/>
<TimeTabPane
:activeTime=
"'近一年'"
@
time-click=
"handleTimeClick"
/>
</div>
</div>
</div>
</div>
<div
class=
"all-item"
>
<div
class=
"all-item"
>
...
@@ -129,7 +129,7 @@ const sortedCardList = computed(() => {
...
@@ -129,7 +129,7 @@ const sortedCardList = computed(() => {
const
currentPage
=
ref
(
1
)
const
currentPage
=
ref
(
1
)
const
pageSize
=
ref
(
15
)
const
pageSize
=
ref
(
15
)
const
total
=
ref
(
0
)
const
total
=
ref
(
0
)
const
timePeriod
=
ref
(
"
WEEK
"
)
const
timePeriod
=
ref
(
"
YEAR
"
)
const
handleTimeClick
=
item
=>
{
const
handleTimeClick
=
item
=>
{
const
time
=
item
?.
time
const
time
=
item
?.
time
...
...
src/views/thinkTank/index.vue
浏览文件 @
75af5d0f
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
</div>
</div>
</div>
</div>
<div
class=
"time-tab-pane"
>
<div
class=
"time-tab-pane"
>
<TimeTabPane
@
time-click=
"handleTimeClick"
/>
<TimeTabPane
:activeTime=
"'近一年'"
@
time-click=
"handleTimeClick"
/>
</div>
</div>
</div>
</div>
<div
class=
"home-main-header-card-box"
>
<div
class=
"home-main-header-card-box"
>
...
@@ -211,7 +211,12 @@
...
@@ -211,7 +211,12 @@
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"title"
<RiskSignal
:list=
"warningList"
@
more-click=
"handleToMoreRiskSignal"
postDate=
"time"
name=
"title"
@
item-click=
"handleRiskSignalItemToManage"
/>
@
item-click=
"handleRiskSignalItemToManage"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskDetailVisible"
/>
<RiskSignalOverviewDetailDialog
v-model=
"isRiskDetailVisible"
:row=
"riskOverviewDetailRow"
name-field=
"title"
post-date-field=
"time"
/>
</div>
</div>
<DivideHeader
id=
"position2"
class=
"divide-header"
:titleText=
"'资讯要闻'"
></DivideHeader>
<DivideHeader
id=
"position2"
class=
"divide-header"
:titleText=
"'资讯要闻'"
></DivideHeader>
<div
class=
"center-center"
>
<div
class=
"center-center"
>
...
@@ -574,7 +579,7 @@ const goToAllThinkTank = () => {
...
@@ -574,7 +579,7 @@ const goToAllThinkTank = () => {
// 替换为你的实际路由路径
// 替换为你的实际路由路径
routerTo
.
push
(
'/thinkTank/allThinkTank'
);
routerTo
.
push
(
'/thinkTank/allThinkTank'
);
};
};
const
timePeriod
=
ref
(
"
WEEK
"
)
const
timePeriod
=
ref
(
"
YEAR
"
)
const
handleTimeClick
=
item
=>
{
const
handleTimeClick
=
item
=>
{
const
time
=
item
?.
time
const
time
=
item
?.
time
...
@@ -802,15 +807,15 @@ const warningList = ref([
...
@@ -802,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
||
"暂无数据"
};
};
});
});
}
}
...
@@ -2139,8 +2144,10 @@ const handleClick = tank => {
...
@@ -2139,8 +2144,10 @@ const handleClick = tank => {
// router.push({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } })
// router.push({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } })
};
};
// 风险信号 item:当前页弹窗(内容与样式与风险信号管理页 dialog 一致,写死展示)
const
riskOverviewDetailRow
=
ref
(
null
);
const
handleRiskSignalItemToManage
=
()
=>
{
const
handleRiskSignalItemToManage
=
(
item
)
=>
{
riskOverviewDetailRow
.
value
=
item
??
null
;
isRiskDetailVisible
.
value
=
true
;
isRiskDetailVisible
.
value
=
true
;
};
};
...
...
src/views/viewRiskSignal/assets/images/down-arrow.png
0 → 100644
浏览文件 @
75af5d0f
16.2 KB
src/views/viewRiskSignal/assets/images/green-right.png
0 → 100644
浏览文件 @
75af5d0f
22.8 KB
src/views/viewRiskSignal/assets/images/up-arrow.png
0 → 100644
浏览文件 @
75af5d0f
10.3 KB
src/views/viewRiskSignal/index.vue
浏览文件 @
75af5d0f
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论