133 lines
3.4 KiB
Vue
133 lines
3.4 KiB
Vue
|
|
<template>
|
||
|
|
<div class="layout-container">
|
||
|
|
<div class="top-container"></div>
|
||
|
|
<div class="content">
|
||
|
|
<div class="left-container">
|
||
|
|
<div class="userPanel">
|
||
|
|
<UserPanel :title="userPanelTitleImg"></UserPanel>
|
||
|
|
</div>
|
||
|
|
<div class="userChart"></div>
|
||
|
|
</div>
|
||
|
|
<div class="middle-container">
|
||
|
|
<div class="graph"></div>
|
||
|
|
<div class="timeShaft"></div>
|
||
|
|
</div>
|
||
|
|
<div class="right-container">
|
||
|
|
<div class="anlysisPanel"></div>
|
||
|
|
<div class="cloudWords"></div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script setup>
|
||
|
|
import UserPanel from "../components/userPanel.vue";
|
||
|
|
import { useCharacterInteractionStore } from "@/store/llinkPrediction/index";
|
||
|
|
import userPanelTitleImg from "@/assets/images/linkPrediction/title/user-title.png";
|
||
|
|
const interactionStore = useCharacterInteractionStore();
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<style scoped lang="less">
|
||
|
|
.layout-container {
|
||
|
|
width: 1544px;
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
gap: 20px;
|
||
|
|
.top-container {
|
||
|
|
width: 100%;
|
||
|
|
height: 88px;
|
||
|
|
background-image: url(@/assets/images/linkPrediction/title/page-title.png);
|
||
|
|
background-repeat: no-repeat;
|
||
|
|
background-size: cover;
|
||
|
|
fill: linear-gradient(270deg, rgba(6, 61, 113, 0.1) 0%, rgba(8, 30, 56, 0.38) 100%);
|
||
|
|
stroke-width: 1px;
|
||
|
|
stroke: #3aa1f8;
|
||
|
|
}
|
||
|
|
|
||
|
|
.content {
|
||
|
|
width: 100%;
|
||
|
|
height: 805px;
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-between;
|
||
|
|
gap: 15px;
|
||
|
|
.left-container {
|
||
|
|
width: 352px;
|
||
|
|
height: 100%;
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
gap: 15px;
|
||
|
|
.userPanel {
|
||
|
|
width: 100%;
|
||
|
|
height: 540px;
|
||
|
|
border-radius: 2px;
|
||
|
|
flex-shrink: 0;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
}
|
||
|
|
.userChart {
|
||
|
|
flex: 1;
|
||
|
|
border-radius: 2px;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
overflow: auto;
|
||
|
|
-ms-overflow-style: none; /* IE 和 Edge */
|
||
|
|
scrollbar-width: none; /* Firefox */
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.middle-container {
|
||
|
|
flex: 1;
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
gap: 15px;
|
||
|
|
.search {
|
||
|
|
width: 100%;
|
||
|
|
height: 60px;
|
||
|
|
}
|
||
|
|
.graph {
|
||
|
|
width: 100%;
|
||
|
|
height: 541px;
|
||
|
|
background-color: #070a22;
|
||
|
|
border-radius: 4px;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
}
|
||
|
|
.timeShaft {
|
||
|
|
flex: 1;
|
||
|
|
border-radius: 4px;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
fill: linear-gradient(270deg, rgba(6, 61, 113, 0.1) 0%, rgba(8, 30, 56, 0.38) 100%);
|
||
|
|
stroke-width: 1px;
|
||
|
|
stroke: #3aa1f8;
|
||
|
|
overflow: auto;
|
||
|
|
padding: 10px 10px;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.right-container {
|
||
|
|
width: 352px;
|
||
|
|
height: 100%;
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
gap: 15px;
|
||
|
|
.anlysisPanel {
|
||
|
|
width: 100%;
|
||
|
|
height: 540px;
|
||
|
|
border-radius: 2px;
|
||
|
|
flex-shrink: 0;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
}
|
||
|
|
.cloudWords {
|
||
|
|
flex: 1;
|
||
|
|
border-radius: 2px;
|
||
|
|
flex-shrink: 0;
|
||
|
|
background-color: rgba(6, 45, 90, 0.3);
|
||
|
|
border: 1px solid rgba(0, 113, 188, 0.705);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
</style>
|