增加详情未登录且投票结束时 登录看结果

This commit is contained in:
A1300399510
2024-11-26 11:47:39 +08:00
parent d47d85ae1c
commit 988b714171
26 changed files with 218 additions and 182 deletions

View File

@@ -47,15 +47,30 @@
<div class="hint">{{ info.status == 1 && isvote == 0 ? `已有 ${info.votes || 0} 人参与,` : `共有 ${info.votes || 0} 人参与` }} {{ `${isvote == 1 ? "你已投票" : info.status == 1 ? "参与投票即可查看实时结果" : ""}` }}</div>
<ClientOnly>
<div class="option-list flexflex" v-if="info['status'] == 1 && isvote == 0">
<template v-if="info['status'] == 0 && isNeedLogin">
<div class="option-list flexflex">
<div class="option-item flexflex" v-for="(item, index) in option" :key="item.id">
<div class="serial flexcenter">{{ index + 1 }}</div>
<span class="flex1">{{ item.value }} </span>
<div class="result">投票结果</div>
</div>
</div>
<div class="need-login flexcenter">
投票已结束
<div class="btn flexcenter" @click="goLogin">登录</div>
后可以查看投票结果
</div>
</template>
<div class="option-list flexflex" v-else-if="info['status'] == 1 && isvote == 0">
<div class="option-item flexflex" v-for="(item, index) in option" :key="item.id" @click="handleVote(item.id, index)">
<div class="serial flexcenter">{{ index + 1 }}</div>
<span class="flex1">{{ item.value }} </span>
</div>
</div>
<div class="option-area" v-else>
<div class="option-item flexflex" :class="{ 'pitch': item.selected, 'cursor-no': info.status == 0 }" v-for="(item, index) in option" :key="item.id" @click="handleUnvoteVote(index, item.selected)">
<div class="flexflex" style="padding: 2px 0px;">
<div class="option-item flexflex unselected" :class="{ pitch: item.selected, 'cursor-no': info.status == 0 }" v-for="(item, index) in option" :key="item.id" @click="handleUnvoteVote(index, item.selected)">
<div class="flexflex" style="padding: 2px 0px">
<div class="option-number flexcenter">{{ index + 1 }}</div>
<img class="tick-icon" src="@/assets/img/tick-black.svg" />
<div class="option-content flex1">{{ item.value }}</div>
@@ -86,7 +101,7 @@
<RespondAdd></RespondAdd>
</div>
<div v-else class="respond-box">
<div class="item flexacenter" :class="{ 'pitch': item.selected }" v-for="(item, index) in ripostelist" :key="item" @click="selectListEomji(index)">
<div class="item flexacenter" :class="{ pitch: item.selected }" v-for="(item, index) in ripostelist" :key="item" @click="selectListEomji(index)">
<div class="code flexacenter" v-html="jointriposte(item.item)"></div>
{{ item.num }}
</div>
@@ -129,7 +144,7 @@
</div>
<div class="respond-list">
<div class="respond-item" v-for="(item, index) in respondDetail" :key="index">
<div class="respond-code" :class="{ 'pitch': item.selected }" v-html="jointriposte(item.item)" @click="selectEomjiListPop(item.item)"></div>
<div class="respond-code" :class="{ pitch: item.selected }" v-html="jointriposte(item.item)" @click="selectEomjiListPop(item.item)"></div>
<div class="respond-content flex1">
<div class="respond-total">{{ item.user.length }} 人作此回应</div>
<div class="user-item" v-for="(item, index) in item.user" :key="index" @click="TAHomePage(item['uin'])">
@@ -794,6 +809,23 @@ try {
margin-right: 6px;
}
.need-login {
color: #585656;
margin-top: 29px;
font-size: 14px;
.btn {
width: 42px;
height: 24px;
line-height: 24px;
text-align: center;
border-radius: 5px;
color: #fff;
background: rgba(249, 93, 93, 1);
margin: 0 6px;
cursor: pointer;
}
}
.option-list {
flex-direction: column;
.option-item {
@@ -820,7 +852,7 @@ try {
z-index: -1;
}
&:hover::after {
&.unselected:hover::after {
background-color: var(--main-color);
opacity: 0.156862745098039;
}
@@ -858,6 +890,10 @@ try {
.tick-icon {
display: none;
}
.result {
color: #dad5d5;
}
}
}
.option-area {