💄 fix(lottery): 美化抽奖详情页

This commit is contained in:
BTMuli
2023-04-20 13:09:07 +08:00
parent 77b40185df
commit 67be1f2b42

View File

@@ -8,7 +8,7 @@
抽奖详情 抽奖详情
<span style="color:#E06C63">{{ timeStatus === "已开奖" ? timeStatus : `待开奖 ${timeStatus}` }}</span> <span style="color:#E06C63">{{ timeStatus === "已开奖" ? timeStatus : `待开奖 ${timeStatus}` }}</span>
</div> </div>
<v-list class="lottery-list"> <div class="lottery-list">
<v-list-item> <v-list-item>
<template #prepend> <template #prepend>
<v-avatar> <v-avatar>
@@ -17,20 +17,23 @@
</template> </template>
{{ lotteryCard.creator.nickname }} {{ lotteryCard.creator.nickname }}
<v-list-item-subtitle>{{ lotteryCard.creator.introduce }}</v-list-item-subtitle> <v-list-item-subtitle>{{ lotteryCard.creator.introduce }}</v-list-item-subtitle>
<template #append>
发起人
</template>
</v-list-item> </v-list-item>
<v-list-item> <div class="reward-title">
<v-list-item-title>{{ lotteryCard.participantWay }}</v-list-item-title> 参与方式{{ participationMethod }}
<v-list-item-subtitle>{{ lotteryCard.id }}</v-list-item-subtitle> </div>
<template #append> <div class="reward-title">
抽奖 ID 抽奖 ID{{ lotteryCard.id }}
</template> </div>
</v-list-item> <div class="reward-title">
</v-list> 奖品详情
<v-btn class="lottery-back" @click="backPost"> <div v-for="reward in lotteryCard.rewards" :key="reward.rewardName" class="reward-subtitle">
返回 {{ reward.rewardName }} {{ reward.scheduledWinnerNumber }}
</div>
</div>
</div>
<v-btn class="lottery-back" @click="backPost()">
<img src="../assets/icons/circle-cancel.svg" alt="back">
<span>返回</span>
</v-btn> </v-btn>
<v-btn v-show="appStore.devMode" class="card-dev-btn" @click="showJson = true"> <v-btn v-show="appStore.devMode" class="card-dev-btn" @click="showJson = true">
<template #prepend> <template #prepend>
@@ -44,12 +47,12 @@
</div> </div>
<div v-if="timeStatus === '已开奖'" class="lottery-div"> <div v-if="timeStatus === '已开奖'" class="lottery-div">
<div class="lottery-title"> <div class="lottery-title">
详情 奖详情
</div> </div>
<div v-for="reward in lotteryCard.rewards" :key="reward.rewardName"> <div v-for="reward in lotteryCard.rewards" :key="reward.rewardName" class="lottery-list">
<v-list class="lottery-list"> <div class="reward-title">
<v-list-item :title="reward.rewardName" :subtitle="'中奖人数' + reward.winnerNumber" /> {{ reward.rewardName }} {{ reward.scheduledWinnerNumber }}/{{ reward.winnerNumber }}
</v-list> </div>
<div class="lottery-grid"> <div class="lottery-grid">
<div v-for="user in reward.users" :key="user.uid" class="lottery-sub-list"> <div v-for="user in reward.users" :key="user.uid" class="lottery-sub-list">
<div class="lottery-user-avatar"> <div class="lottery-user-avatar">
@@ -89,6 +92,8 @@ const appStore = useAppStore();
// 定时器 // 定时器
const lotteryTimer = ref(null as any); const lotteryTimer = ref(null as any);
// 参与方式
const participationMethod = ref("未知" as string);
function flushTimeStatus () { function flushTimeStatus () {
const timeNow = new Date().getTime(); const timeNow = new Date().getTime();
@@ -142,11 +147,22 @@ onMounted(async () => {
flushTimeStatus(); flushTimeStatus();
}, 1000); }, 1000);
} }
participationMethod.value = getParticipationMethod(lotteryCard.value.participantWay);
setTimeout(() => { setTimeout(() => {
loading.value = false; loading.value = false;
}, 200); }, 1000);
}); });
// 获取参与方式
function getParticipationMethod (participantWay: string) {
switch (participantWay) {
case "Forward":
return "转发";
default:
return participantWay;
}
}
// 监听 timeStatus // 监听 timeStatus
onUpdated(() => { onUpdated(() => {
if (timeStatus.value === "已开奖") { if (timeStatus.value === "已开奖") {
@@ -170,19 +186,48 @@ onUpdated(() => {
margin: 10px; margin: 10px;
} }
.reward-title {
font-family: Genshin-Light, serif;
font-size: 16px;
color: #faf7e8;
margin: 10px;
}
.reward-subtitle {
font-family: Genshin-Light, serif;
font-size: 16px;
color: #faf7e8;
opacity: 0.5;
}
.lottery-list { .lottery-list {
background: #546d8b; background: #546d8b;
border-radius: 10px; border-radius: 10px;
margin-bottom: 10px; margin: 10px;
padding: 10px;
color: #faf7e8; color: #faf7e8;
font-family: Genshin-Light, serif; font-family: Genshin-Light, serif;
} }
.lottery-back { .lottery-back {
margin: 10px; margin: 5px;
height: 30px;
border-radius: 40px;
font-family: Genshin, serif; font-family: Genshin, serif;
color: #faf7e8 !important; background: #4A5366;
background: #546d8b !important; }
.lottery-back img {
position: absolute;
left: 5px;
width: 25px;
height: 25px;
}
.lottery-back span {
color: #faf7e8;
font-size: 16px;
margin-left: 10px;
} }
.lottery-grid { .lottery-grid {
@@ -192,11 +237,13 @@ onUpdated(() => {
} }
.lottery-sub-list { .lottery-sub-list {
background: #546d8b; /* background: #546d8b; */
background: #faf7e8;
border-radius: 40px; border-radius: 40px;
height: 40px; height: 40px;
margin: 5px; margin: 5px;
color: #faf7e8; /* color: #faf7e8; */
color: #546d8b;
font-family: Genshin-Light, serif; font-family: Genshin-Light, serif;
align-items: center; align-items: center;
display: flex; display: flex;
@@ -221,7 +268,8 @@ onUpdated(() => {
display: inline-block; display: inline-block;
font-size: 14px; font-size: 14px;
font-family: Genshin-Light, 仿宋; font-family: Genshin-Light, 仿宋;
color: #faf7e8; /* color: #faf7e8; */
overflow: auto; color: #546d8b;
overflow: hidden;
} }
</style> </style>