Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
06aa3267
提交
06aa3267
authored
4月 01, 2026
作者:
yanpeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
制裁轮播
上级
699983ea
流水线
#288
已通过 于阶段
in 1 分 24 秒
变更
1
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
82 行增加
和
33 行删除
+82
-33
index.vue
...ortControl/v2.0EntityList/components/deepMining/index.vue
+82
-33
没有找到文件。
src/views/exportControl/v2.0EntityList/components/deepMining/index.vue
浏览文件 @
06aa3267
...
@@ -32,14 +32,14 @@
...
@@ -32,14 +32,14 @@
<div
class=
"list-header"
>
<div
class=
"list-header"
>
<div
class=
"count"
>
共
{{
sanctionList
.
length
}}
次制裁
</div>
<div
class=
"count"
>
共
{{
sanctionList
.
length
}}
次制裁
</div>
<!-- 暂时隐藏,说这里可能是轮播图的效果 -->
<!-- 暂时隐藏,说这里可能是轮播图的效果 -->
<!--
<div
class=
"pagination"
>
<div
class=
"pagination"
>
<div
class=
"page-btn prev"
>
<div
class=
"page-btn prev"
@
click=
"handlePrevClick"
>
<el-icon><ArrowLeft
/></el-icon>
<el-icon><ArrowLeft
/></el-icon>
</div>
</div>
<div
class=
"page-btn next"
>
<div
class=
"page-btn next"
@
click=
"handleNextClick"
>
<el-icon><ArrowRight
/></el-icon>
<el-icon><ArrowRight
/></el-icon>
</div>
</div>
</div>
</div>
-->
</div>
</div>
<div
class=
"list-content"
v-loading=
"loading"
>
<div
class=
"list-content"
v-loading=
"loading"
>
<div
<div
...
@@ -243,7 +243,7 @@
...
@@ -243,7 +243,7 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
onMounted
,
nextTick
}
from
"vue"
;
import
{
ref
,
onMounted
,
nextTick
,
onUnmounted
}
from
"vue"
;
import
{
ArrowLeft
,
ArrowRight
}
from
"@element-plus/icons-vue"
;
import
{
ArrowLeft
,
ArrowRight
}
from
"@element-plus/icons-vue"
;
import
defaultTitle
from
"../../assets/default-icon2.png"
;
import
defaultTitle
from
"../../assets/default-icon2.png"
;
import
{
import
{
...
@@ -365,15 +365,17 @@ const getDeepMiningSelectData = async () => {
...
@@ -365,15 +365,17 @@ const getDeepMiningSelectData = async () => {
try
{
try
{
const
res
=
await
getDeepMiningSelect
(
params
);
const
res
=
await
getDeepMiningSelect
(
params
);
if
(
res
.
code
===
200
&&
res
.
data
&&
res
.
data
.
content
)
{
if
(
res
.
code
===
200
&&
res
.
data
&&
res
.
data
.
content
)
{
sanctionList
.
value
=
res
.
data
.
content
.
map
(
item
=>
({
sanctionList
.
value
=
res
.
data
.
content
id
:
item
.
id
,
.
map
(
item
=>
({
date
:
item
.
postDate
,
id
:
item
.
id
,
title
:
item
.
name
,
date
:
item
.
postDate
,
count
:
item
.
cnEntityCount
,
title
:
item
.
name
,
unit
:
"家中国实体"
,
// 接口未返回单位,暂时固定
count
:
item
.
cnEntityCount
,
summary
:
item
.
summary
,
// 保留额外信息备用
unit
:
"家中国实体"
,
// 接口未返回单位,暂时固定
techDomainList
:
item
.
techDomainList
// 保留额外信息备用
summary
:
item
.
summary
,
// 保留额外信息备用
}));
techDomainList
:
item
.
techDomainList
// 保留额外信息备用
}))
.
reverse
();
// 默认选中第一条
// 默认选中第一条
if
(
sanctionList
.
value
.
length
>
0
)
{
if
(
sanctionList
.
value
.
length
>
0
)
{
...
@@ -396,35 +398,74 @@ const handleDateChange = () => {
...
@@ -396,35 +398,74 @@ const handleDateChange = () => {
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
getDeepMiningSelectData
();
getDeepMiningSelectData
();
};
};
// ✅ 自动轮播定时器
const
autoPlayTimer
=
ref
(
null
);
// ✅ 启动自动轮播
const
startAutoPlay
=
()
=>
{
stopAutoPlay
();
if
(
sanctionList
.
value
.
length
>
1
)
{
autoPlayTimer
.
value
=
setInterval
(()
=>
{
handleNextClickAuto
();
},
10000
);
}
};
// 翻页
// ✅ 停止自动轮播
const
handlePageChange
=
page
=>
{
const
stopAutoPlay
=
()
=>
{
if
(
page
<
1
||
page
>
totalPage
.
value
)
return
;
if
(
autoPlayTimer
.
value
)
{
currentPage
.
value
=
page
;
clearInterval
(
autoPlayTimer
.
value
);
getDeepMiningSelectData
();
autoPlayTimer
.
value
=
null
;
}
};
// ✅ 自动下一个(支持循环)
const
handleNextClickAuto
=
()
=>
{
const
currentIndex
=
sanctionList
.
value
.
findIndex
(
item
=>
item
.
id
===
currentSanctionId
.
value
);
let
nextItem
;
if
(
currentIndex
<
sanctionList
.
value
.
length
-
1
)
{
nextItem
=
sanctionList
.
value
[
currentIndex
+
1
];
}
else
{
nextItem
=
sanctionList
.
value
[
0
];
// 循环到第一个
}
if
(
nextItem
)
{
handleSanctionSelect
(
nextItem
.
id
);
}
};
// ✅ 修改现有函数,添加重置定时器
const
handlePrevClick
=
()
=>
{
const
currentIndex
=
sanctionList
.
value
.
findIndex
(
item
=>
item
.
id
===
currentSanctionId
.
value
);
if
(
currentIndex
>
0
)
{
const
prevItem
=
sanctionList
.
value
[
currentIndex
-
1
];
handleSanctionSelect
(
prevItem
.
id
);
startAutoPlay
();
}
};
const
handleNextClick
=
()
=>
{
const
currentIndex
=
sanctionList
.
value
.
findIndex
(
item
=>
item
.
id
===
currentSanctionId
.
value
);
if
(
currentIndex
<
sanctionList
.
value
.
length
-
1
)
{
const
nextItem
=
sanctionList
.
value
[
currentIndex
+
1
];
handleSanctionSelect
(
nextItem
.
id
);
startAutoPlay
();
}
};
};
// 列表项点击事件
const
handleSanctionSelect
=
id
=>
{
const
handleSanctionSelect
=
id
=>
{
currentSanctionId
.
value
=
id
;
currentSanctionId
.
value
=
id
;
getFishboneData
();
getFishboneData
();
getCnEntityOnChainData
();
getCnEntityOnChainData
();
startAutoPlay
();
};
};
const
activeTab
=
ref
([
"制裁时序分析"
]);
const
activeTab
=
ref
([
"制裁时序分析"
]);
const
activeIndex
=
ref
(
0
);
const
activeIndex
=
ref
(
0
);
const
dateRange
=
ref
([
"2025-01-01"
,
"2025-12-31"
]);
const
dateRange
=
ref
([
"2025-01-01"
,
"2025-12-31"
]);
const
sanctionList
=
ref
([
const
sanctionList
=
ref
([]);
{
id
:
1
,
date
:
"2025年2月8日"
,
title
:
"实体清单更新"
,
count
:
2
,
unit
:
"家中国实体"
},
{
id
:
2
,
date
:
"2025年4月10日"
,
title
:
"实体清单更新"
,
count
:
5
,
unit
:
"家中国实体"
},
{
id
:
3
,
date
:
"2025年6月29日"
,
title
:
"实体清单更新"
,
count
:
6
,
unit
:
"家中国实体"
},
{
id
:
4
,
date
:
"2025年8月12日"
,
title
:
"实体清单更新"
,
count
:
24
,
unit
:
"家中国实体"
},
{
id
:
5
,
date
:
"2025年8月19日"
,
title
:
"实体清单更新"
,
count
:
11
,
unit
:
"家中国实体"
},
{
id
:
6
,
date
:
"2025年9月12日"
,
title
:
"实体清单更新"
,
count
:
3
,
unit
:
"家中国实体"
},
{
id
:
7
,
date
:
"2025年9月26日"
,
title
:
"实体清单更新"
,
count
:
6
,
unit
:
"家中国实体"
},
{
id
:
8
,
date
:
"2025年10月12日"
,
title
:
"实体清单更新"
,
count
:
18
,
unit
:
"家中国实体"
}
]);
const
currentSanctionId
=
ref
(
5
);
const
currentSanctionId
=
ref
(
5
);
const
cnEntityOnChainData
=
ref
({});
const
cnEntityOnChainData
=
ref
({});
...
@@ -479,6 +520,14 @@ onMounted(() => {
...
@@ -479,6 +520,14 @@ onMounted(() => {
getDeepMiningSelectData
();
getDeepMiningSelectData
();
// 获取产业链信息
// 获取产业链信息
getIndustryList
();
getIndustryList
();
nextTick
(()
=>
{
startAutoPlay
();
});
});
// 组件卸载时停止自动轮播
onUnmounted
(()
=>
{
stopAutoPlay
();
});
});
</
script
>
</
script
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论