SocialNetworks/src/views/KeyNodeRecognition2/components/LeaderDetailDialog.vue
2025-07-08 15:49:45 +08:00

212 lines
5.5 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-dialog v-model="isVisible" width="640" align-center class="custom-dialog">
<template v-if="store.activeLeader">
<img src="@/assets/images/leaderDialogTitle.png" alt="" class="dialogTitleImg" />
<div class="dialog-content">
<div class="dialog-content-leaderInfo">
<img class="leaderInfo-avatar" :src="store.activeLeader.leaderOriginInfo.avatar" alt="" />
<div class="leaderInfo-message">
<div class="leader-name">{{ store.activeLeader.name }}</div>
<div class="leader-heat">
<div class="fancy">
粉丝量:  {{ store.activeLeader.leaderOriginInfo.followers }}
</div>
<div class="post-number">
发帖数:  {{ store.activeLeader.leaderOriginInfo.posts }}
</div>
</div>
</div>
</div>
<div class="dialog-content-post">
<div class="leader-post-detail-content">
<div
class="content-item"
v-for="item in store.activeLeader.leaderOriginInfo.labelling"
:key="item.id"
>
<div class="item-type">{{ item.type }}</div>
<div class="item-content">{{ item.content }}</div>
<div class="item-heat">
<div class="item-time">{{ item.time }}</div>
<div class="item-heat-detail">
<div class="item-heat-like">
<Icon icon="ei:like" width="25" height="25" /> {{ item.like }}
</div>
<div class="item-heat-comment">
<Icon icon="la:comment-dots" width="25" height="25" /> {{ item.comment }}
</div>
<div class="item-heat-transmit">
<Icon icon="mdi:share-outline" width="25" height="25" /> {{ item.transmit }}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="dialog-content-heat-degree">
<div class="heat-item">
<p class="diamond"></p>
粉丝数量:   {{ store.activeLeader.leaderOriginInfo.followers }}
</div>
<div class="heat-item">
<p class="diamond"></p>
关注数量:   1329
</div>
<div class="heat-item">
<p class="diamond"></p>
发帖总数:   {{ store.activeLeader.leaderOriginInfo.posts }}
</div>
<div class="heat-item">
<p class="diamond"></p>
贴文被转总数:   1329
</div>
<div class="heat-item">
<p class="diamond"></p>
参与互动次数:   30
</div>
<div class="heat-item">
<p class="diamond"></p>
首次活跃事件:   2022.7.31 00:14
</div>
</div>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { computed } from 'vue';
import { useKeyNodeStore2 } from '@/store/keyNodeStore2';
import { Icon } from '@iconify/vue';
const store = useKeyNodeStore2();
const isVisible = computed({
get: () => store.isLeaderDetailDialogVisible,
set: (value) => {
if (!value) {
store.closeLeaderDetail();
}
}
});
</script>
<style scoped>
:deep(.custom-dialog) {
width: 640px;
height: 680px;
border-width: 0px, 0px, 0px, 0px;
border-style: solid;
border-image-source: linear-gradient(180deg, #3aa1f8 0%, rgba(58, 161, 248, 0.2) 100%);
background-color: rgba(6, 45, 90, 1);
border: 1px solid #1a8bff;
border-radius: 2px;
padding: 0 0;
}
.dialogTitleImg {
margin-top: -23px;
}
:deep(.custom-dialog) .dialog-content {
width: 100%;
height: 100%;
padding: 23px 23px;
}
.dialog-content-leaderInfo {
width: 100%;
height: 70px;
display: flex;
}
.leaderInfo-avatar {
width: 70px;
height: 70px;
border-radius: 5px;
}
.leaderInfo-message {
flex: 1;
height: 100%;
padding-left: 15px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.leader-name {
font-size: 20px;
color: #fff;
}
.leader-heat {
display: flex;
color: #fff;
font-size: 16px;
}
.post-number {
margin-left: 30px;
}
.dialog-content-post {
width: 100%;
padding: 25px 0px;
}
.leader-post-detail-content {
width: 100%;
background:
linear-gradient(0deg, #0d2743, #0d2743),
linear-gradient(270deg, rgba(147, 210, 255, 0.06) 0%, rgba(147, 210, 255, 0.16) 100%);
margin-top: 30px;
height: 262px;
overflow: auto;
padding: 10px 20px;
}
.leader-post-detail-content::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.leader-post-detail-content::-webkit-scrollbar-thumb {
background: rgba(147, 210, 255, 0.3);
border-radius: 4px;
}
.leader-post-detail-content::-webkit-scrollbar-thumb:hover {
background: rgba(147, 210, 255, 0.5);
}
.item-type {
font-size: 16px;
color: #ffffff;
}
.item-content {
color: #ffffffcc;
font-size: 16px;
}
.content-item div {
margin-bottom: 10px;
}
.item-heat {
display: flex;
justify-content: space-between;
color: #ffffffcc;
}
.item-heat-detail {
display: flex;
}
.item-heat-detail div {
width: 60px;
margin-right: 20px;
display: flex;
align-items: center;
}
.dialog-content-heat-degree {
display: grid;
grid-template-columns: 1fr 1fr;
row-gap: 15px;
color: #fff;
font-size: 16px;
}
.heat-item {
display: flex;
align-items: center;
}
.heat-item .diamond {
width: 6px;
height: 6px;
background-color: #fff;
margin-right: 10px;
box-shadow: 0 4px 8px rgb(0, 123, 255);
}
</style>