Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
3321d355
提交
3321d355
authored
1月 05, 2026
作者:
胡卉清
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'dev_hhq' 到 'master'
Dev hhq 查看合并请求
!73
上级
09e34f76
c54c4460
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
101 行增加
和
126 行删除
+101
-126
index.vue
src/views/thinkTank/ReportDetail/policyTracking/index.vue
+12
-2
index.vue
src/views/thinkTank/index.vue
+89
-124
没有找到文件。
src/views/thinkTank/ReportDetail/policyTracking/index.vue
浏览文件 @
3321d355
...
...
@@ -71,7 +71,7 @@
</div>
</div>
<div
class=
"box2-main"
>
<div
class=
"box2-item"
v-for=
"(item, index) in box2Data"
:key=
"index"
>
<div
class=
"box2-item"
v-for=
"(item, index) in box2Data"
:key=
"index"
@
click=
"handleToNewsAnalysis(item)"
>
<div
class=
"box2-item-left"
>
<div
class=
"point"
>
<img
src=
"@/assets/images/dot.png"
alt=
""
/>
...
...
@@ -314,7 +314,17 @@ const box2Data = ref([
// img: 1
// }
]);
// 点击新闻条目,跳转到新闻分析页
const
handleToNewsAnalysis
=
news
=>
{
console
.
log
(
news
)
const
route
=
router
.
resolve
({
path
:
"/newsAnalysis"
,
query
:
{
newsId
:
news
.
newsId
}
});
window
.
open
(
route
.
href
,
"_blank"
);
};
const
handleGetThinkTankReportPolicyAction
=
async
()
=>
{
try
{
const
res
=
await
getThinkTankReportPolicyAction
(
router
.
currentRoute
.
_value
.
params
.
id
);
...
...
src/views/thinkTank/index.vue
浏览文件 @
3321d355
...
...
@@ -85,17 +85,12 @@
</el-popover>
<div
class=
"tag-box"
>
<div
class=
"tag"
:class=
"{
<div
class=
"tag"
:class=
"{
tag1: val.status === 1,
tag2: val.status === 2,
tag3: val.status === 3,
tag4: val.status === 4
}"
v-for=
"(val, idx) in item.tagList"
:key=
"idx"
>
}"
v-for=
"(val, idx) in item.tagList"
:key=
"idx"
>
{{ val.industryName }}
</div>
</div>
...
...
@@ -111,6 +106,16 @@
<DivideHeader
id=
"position1"
class=
"divide-header"
:titleText=
"'最新动态'"
></DivideHeader>
<div
class=
"center-top"
>
<div
class=
"box1"
>
<div
class=
"box1-left"
@
click=
"handleSwithCurDecree('left')"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/box1-left.png"
alt=
""
/>
</div>
</div>
<div
class=
"box1-right"
@
click=
"handleSwithCurDecree('right')"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/box1-right.png"
alt=
""
/>
</div>
</div>
<div
class=
"box1-header"
>
<div
class=
"box1-header-left"
>
<div
class=
"icon"
>
...
...
@@ -118,50 +123,38 @@
</div>
<div
class=
"title"
>
{{ "智库发布" }}
</div>
</div>
<div
class=
"box1-header-right"
@
click=
"
toDetaile()
"
>
查看详情 >
</div>
<div
class=
"box1-header-right"
@
click=
"
handleClickToDetail
"
>
查看详情 >
</div>
</div>
<div
style=
"display: flex"
>
<img
src=
"./assets/images/right-left-icon1.png"
alt=
""
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('previous')"
/>
<el-carousel
ref=
"carouselRef"
height=
"395px"
:autoplay=
"true"
:interval=
"3000"
arrow=
"never"
indicator-position=
"none"
>
<el-carousel-item
v-for=
"(itemData, indexData) in box1Data"
:key=
"index"
>
<div
class=
"box1-main"
>
<div
class=
"box1-main-left"
>
<img
:src=
"box1Data[box1DataIndex]
?.imageUrl"
alt=
""
/>
<img
:src=
"itemData
?.imageUrl"
alt=
""
/>
</div>
<div
class=
"box1-main-right"
>
<div
class=
"title"
>
{{ box1Data[box1DataIndex]
?.reportName }}
</div>
<div
class=
"title"
>
{{ itemData
?.reportName }}
</div>
<div
class=
"tag-box"
>
<div
class=
"tag"
v-for=
"(item, index) in box1Data[box1DataIndex]?.industryVOList"
:key=
"index"
>
<div
class=
"tag"
v-for=
"(item, index) in itemData?.industryVOList"
:key=
"index"
>
{{ item.industryName }}
</div>
</div>
<div
class=
"content"
>
{{ box1Data[box1DataIndex]
?.summary }}
</div>
<div
class=
"content"
>
{{ itemData
?.summary }}
</div>
<div
class=
"box1-right-footer"
>
<div
class=
"time"
>
{{ box1Data[box1DataIndex]
?.time }}
</div>
<div
class=
"time"
>
{{ itemData
?.time }}
</div>
<div
class=
"name"
>
<div
class=
"logo"
>
<img
:src=
"box1Data[box1DataIndex]?.thinkTankImage"
alt=
""
/>
</div>
<div
class=
"text"
>
{{ box1Data[box1DataIndex]?.thinkTankName }}
</div>
<div
class=
"text"
>
{{ box1Data[box1DataIndex]?.reportDate }}
</div>
<img
:src=
"itemData?.thinkTankImage"
alt=
""
/>
</div>
<div
class=
"text"
>
{{ itemData?.thinkTankName }}
</div>
<div
class=
"text"
>
{{ itemData?.reportDate }}
</div>
</div>
</div>
</div>
<img
src=
"./assets/images/right-left-icon2.png"
alt=
""
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('next')"
/>
</div>
</el-carousel-item>
</el-carousel>
</div>
<div
class=
"box2"
>
<div
class=
"box2-header"
>
...
...
@@ -174,15 +167,13 @@
</div>
</div>
<div
class=
"box2-main"
>
<div
class=
"box2-main-item"
v-for=
"(item, index) in warningList"
:key=
"index"
>
<div
class=
"item-left"
:class=
"{
<div
class=
"box2-main-item"
v-for=
"(item, index) in warningList"
:key=
"index"
@
click=
"handleClickToDetail()"
>
<div
class=
"item-left"
:class=
"{
itemLeftStatus1: item.status === '一般风险 ' || item.status === '暂无数值',
itemLeftStatus2: item.status === '重大风险',
itemLeftStatus3: item.status === '特别重大'
}"
>
}"
>
{{ item.status || "一般风险" }}
</div>
<div
class=
"item-right"
>
...
...
@@ -219,12 +210,7 @@
</div>
</div>
<div
class=
"box3-main"
>
<div
class=
"box3-item"
v-for=
"(news, index) in newsList"
:key=
"index"
@
click=
"handleToNewsAnalysis(news)"
>
<div
class=
"box3-item"
v-for=
"(news, index) in newsList"
:key=
"index"
@
click=
"handleToNewsAnalysis(news)"
>
<div
class=
"left"
>
<img
:src=
"news.newsImage !== null ? news.newsImage : defaultNewsIcon"
/>
</div>
...
...
@@ -290,13 +276,8 @@
</div>
<div
class=
"box5-select-box"
>
<el-select
v-model=
"box5selectetedMonths"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox5Data(item.value)"
/>
<el-option
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox5Data(item.value)"
/>
</el-select>
</div>
</div>
...
...
@@ -310,13 +291,8 @@
<div
class=
"header-title"
>
{{ "政策建议领域分布" }}
</div>
<div
class=
"box6-select-box"
>
<el-select
v-model=
"box6selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"handleBox6()"
/>
<el-option
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"handleBox6()"
/>
</el-select>
</div>
</div>
...
...
@@ -345,30 +321,21 @@
</div>
<div
class=
"box8-select-box"
>
<el-select
v-model=
"box8selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox8Data(item.value)"
/>
<el-option
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox8Data(item.value)"
/>
</el-select>
</div>
</div>
<div
class=
"box8-main"
>
<div
class=
"box8-item"
v-for=
"(item, index) in box8Data"
:key=
"index"
>
<div
class=
"item-left"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
<div
class=
"item-left"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ index + 1 }}
</div>
<!-- <el-popover effect="dark" :content="item.clause" placement="top-start">
<template #reference> -->
<div
class=
"item-center"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
<div
class=
"item-center"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ item.clause }}
</div>
<!-- </template>
...
...
@@ -385,13 +352,8 @@
<DivideHeader
id=
"position4"
class=
"divide-header"
:titleText=
"'资源库'"
></DivideHeader>
<div
class=
"home-main-footer-header"
>
<div
class=
"btn-box"
>
<div
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
:key=
"index"
@
click=
"handleClickCate(cate)"
>
<div
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
:key=
"index"
@
click=
"handleClickCate(cate)"
>
{{ cate }}
</div>
</div>
...
...
@@ -409,22 +371,12 @@
</div>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
@
change=
"handleCheckAllChange"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
@
change=
"handleCheckAllChange"
>
全部领域
</el-checkbox>
<el-checkbox
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
<el-checkbox
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
{{ research.name }}
</el-checkbox>
</div>
...
...
@@ -438,22 +390,13 @@
</div>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
@
change=
"handleCheckAllChangeTime"
>
<el-checkbox
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
@
change=
"handleCheckAllChangeTime"
>
全部时间
</el-checkbox>
<el-checkbox-group
v-model=
"selectedPubTimeList"
>
<el-checkbox
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
@
change=
"handleCheckedAreaChangeTime()"
>
<el-checkbox
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
@
change=
"handleCheckedAreaChangeTime()"
>
{{ time.name }}
</el-checkbox>
</el-checkbox-group>
...
...
@@ -463,12 +406,8 @@
</div>
<div
class=
"right"
>
<div
class=
"card-box"
>
<div
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
@
click=
"handleToReportDetail(item.id)"
>
<div
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
@
click=
"handleToReportDetail(item.id)"
>
<div
class=
"footer-card-top"
>
<img
:src=
"item.imageUrl"
alt=
""
/>
</div>
...
...
@@ -489,14 +428,8 @@
<div
class=
"right-footer"
>
<div
class=
"info"
>
共{{ total }}项智库报告
</div>
<div
class=
"page-box"
>
<el-pagination
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
<el-pagination
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
</div>
</div>
</div>
...
...
@@ -664,6 +597,22 @@ function changeBox1Data(type) {
}
}
const
carouselRef
=
ref
(
null
);
// 点击查看详情
const
handleClickToDetail
=
()
=>
{
let
activeIndex
=
0
;
if
(
carouselRef
.
value
)
{
activeIndex
=
carouselRef
.
value
.
activeIndex
;
}
console
.
log
(
"当前 Carousel 激活索引:"
,
activeIndex
);
const
id
=
box1Data
.
value
[
activeIndex
].
id
;
box1DataIndex
.
value
=
activeIndex
toDetaile
()
};
const
toDetaile
=
()
=>
{
const
route
=
router
.
resolve
({
name
:
"ReportDetail"
,
...
...
@@ -673,6 +622,16 @@ const toDetaile = () => {
});
window
.
open
(
route
.
href
,
"_blank"
);
};
// 切换当前智库
const
handleSwithCurDecree
=
name
=>
{
console
.
log
(
name
,
carouselRef
.
value
)
if
(
name
===
"left"
)
{
carouselRef
.
value
.
prev
();
}
else
{
carouselRef
.
value
.
next
();
}
};
// 风险信号
const
warningList
=
ref
([
{
...
...
@@ -1542,7 +1501,7 @@ const handleClickPerson = async item => {
ElMessage
.
warning
(
"找不到当前人员的类型值!"
);
return
;
}
}
catch
(
error
)
{}
}
catch
(
error
)
{
}
};
// 点击新闻条目,跳转到新闻分析页
...
...
@@ -1746,6 +1705,7 @@ onMounted(async () => {
margin-top
:
39px
;
display
:
flex
;
justify-content
:
space-between
;
.btn
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -1758,9 +1718,11 @@ onMounted(async () => {
background
:
#e7f3ff
;
cursor
:
pointer
;
position
:
relative
;
&
:hover
{
background
:
#cae3fc
;
}
.btn-text
{
width
:
80px
;
color
:
var
(
--
color-main-active
);
...
...
@@ -1771,12 +1733,14 @@ onMounted(async () => {
margin-left
:
36px
;
text-align
:
center
;
}
.btn-icon
{
position
:
absolute
;
top
:
16px
;
right
:
19px
;
width
:
6px
;
height
:
12px
;
img
{
width
:
100%
;
height
:
100%
;
...
...
@@ -2021,6 +1985,7 @@ onMounted(async () => {
width
:
24px
;
height
:
48px
;
cursor
:
pointer
;
z-index
:
10000
;
img
{
width
:
100%
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论