This commit is contained in:
2023-09-13 18:29:35 +08:00
commit 4ac8391a9a
126 changed files with 15555 additions and 0 deletions

215
src/views/home.vue Normal file
View File

@@ -0,0 +1,215 @@
<template>
<div class="card">
<div class="header_title">
欢迎回来{{ storeUser.userInfo.loginName }}
</div>
<div class="data_row">
<div class="item">
<div class="icon">
<img class="img" src="../assets/home_icon1.png">
</div>
<div class="info">
<div class="title">团队总流水</div>
<div class="num">
<count-to :start-val="0" :decimals="2" :end-val="homeData.sumConsumeFee" :duration="1000" />
<!-- {{ homeData.sumConsumeFee }} -->
<span class="i"></span>
</div>
</div>
</div>
<div class="item">
<div class="icon">
<img class="img" src="../assets/home_icon2.png">
</div>
<div class="info">
<div class="title">总收益</div>
<div class="num">
<count-to :start-val="0" :decimals="2" :end-val="homeData.sumfansShareMoney" :duration="1000" />
<span class="i"></span>
</div>
</div>
</div>
<div class="item">
<div class="icon">
<img class="img" src="../assets/home_icon3.png">
</div>
<div class="info">
<div class="title">今日收益</div>
<div class="num">
<count-to :start-val="0" :decimals="2" :end-val="homeData.yestedayShareMoney" :duration="1000" />
<span class="i"></span>
</div>
</div>
</div>
<div class="item">
<div class="icon">
<img class="img" src="../assets/home_icon4.png">
</div>
<div class="info">
<div class="title">推广费率</div>
<div class="num">
{{ homeData.currentFee }}
<span class="i">%</span>
</div>
</div>
</div>
</div>
</div>
<div class="card mt15">
<chart-card :user-id="storeUser.userInfo.userId" />
</div>
</template>
<script setup>
import { getIndexData } from '@/api/home.js'
import { useUser } from "@/store/user.js";
import chartCard from '@/components/chartCard.vue';
const storeUser = useUser();
let homeData = reactive({
sumConsumeFee: 0,
sumfansShareMoney: 0,
yestedayShareMoney: 0,
currentFee: 0
})
// 获取首页数据
async function getIndexDataHandle() {
try {
const res = await getIndexData()
homeData.sumConsumeFee = res.sumConsumeFee
homeData.sumfansShareMoney = res.sumfansShareMoney
homeData.yestedayShareMoney = res.yestedayShareMoney
homeData.currentFee = res.currentFee
} catch (error) {
console.log(error)
}
}
onMounted(() => {
getIndexDataHandle()
});
</script>
<style lang="scss" scoped>
.header_title {
font-size: 18px;
font-weight: bold;
padding: 15px 0 30px 0;
border-bottom: 1px solid #ececec;
}
.data_row {
display: flex;
padding: 50px 0;
.item {
flex: 1;
display: flex;
padding-left: 50px;
&:not(:last-child) {
position: relative;
&::after {
content: "";
height: 100%;
border-right: 1px solid #ececec;
position: absolute;
top: 0;
right: 0;
}
}
.icon {
$size: 55px;
width: $size;
height: $size;
border-radius: 50%;
background-color: #F2F3F5;
display: flex;
justify-content: center;
align-items: center;
.img {
$size: 30px;
width: $size;
height: $size;
object-fit: contain;
}
}
.info {
flex: 1;
padding-left: 20px;
display: flex;
flex-direction: column;
justify-content: center;
.title {
font-size: 14px;
color: #666;
font-weight: 300;
}
.num {
font-size: 24px;
font-weight: bold;
padding-top: 10px;
.i {
font-size: 12px;
position: relative;
bottom: 1px;
right: -4px;
}
}
}
}
}
.userInfo {
padding: 20px;
width: 100%;
display: flex;
align-items: center;
gap: 0 20px;
border: 1px solid #eee;
background-color: #fff;
.name {
font-size: 20px;
font-weight: 600;
}
}
.charts-case {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: repeat(2, 1fr);
gap: 10px;
grid-template-areas:
"a b"
"c c";
margin-top: 10px;
}
.charts-chunk {
border: 1px solid #eee;
background-color: #fff;
}
.charts-chunk:nth-child(0) {
grid-area: a;
}
.charts-chunk:nth-child(1) {
grid-area: b;
}
.charts-chunk:last-child {
grid-area: c;
}
</style>