feat(春节活动页面): 补充任务列表弹窗

This commit is contained in:
hzj 2026-02-06 17:54:10 +08:00
parent 182cc0565b
commit 620b27a2bc
3 changed files with 41 additions and 30 deletions

View File

@ -36,6 +36,8 @@ export const useSpringFestival = defineStore('springFestival', {
receiveRecordShow: false, receiveRecordShow: false,
receiveRecord: [], // 领取抽奖券记录 receiveRecord: [], // 领取抽奖券记录
taskListShow: false,
helpShow: false, // 帮助展示 helpShow: false, // 帮助展示
}), }),
actions: {}, actions: {},

View File

@ -87,7 +87,7 @@
<div>Remaining lottery tickets: {{ tickets }}</div> <div>Remaining lottery tickets: {{ tickets }}</div>
<!-- 获取抽奖券 --> <!-- 获取抽奖券 -->
<div>How to get a ticket</div> <div @click="showTaskList">How to get a ticket</div>
</div> </div>
<!-- 抽奖按钮 --> <!-- 抽奖按钮 -->
@ -672,6 +672,8 @@ const {
receiveRecordShow, receiveRecordShow,
receiveRecord, // receiveRecord, //
taskListShow, //
helpShow, // helpShow, //
} = storeToRefs(springFestivalStore) } = storeToRefs(springFestivalStore)
@ -865,6 +867,11 @@ const getDrawRecords = async () => {
} }
} }
//
const showTaskList = () => {
taskListShow.value = true
}
// //
const searchPayee = () => { const searchPayee = () => {
router.push({ router.push({

View File

@ -473,6 +473,14 @@
</itemCenter> </itemCenter>
</div> </div>
<!-- 任务列表 -->
<itemCenter
v-show="taskListShow"
:imgUrl="imageUrl(getImgName('taskListBg'))"
:contentStyle="`padding: 22vw 7vw 8vw;`"
@click.stop
></itemCenter>
<!-- help弹窗 --> <!-- help弹窗 -->
<img <img
v-smart-img v-smart-img
@ -482,32 +490,6 @@
style="display: block; width: 100%; object-fit: cover; margin-bottom: 6vw" style="display: block; width: 100%; object-fit: cover; margin-bottom: 6vw"
@click.stop @click.stop
/> />
<!-- 碎片不足提示 -->
<div
v-show="fragmentNotEnoughShow"
style="display: flex; justify-content: center; width: 100vw"
@click.stop
>
<div
style="
width: 60vw;
padding: 2vw;
display: flex;
justify-content: center;
align-items: center;
border-radius: 8px;
background: rgba(255, 255, 255, 0.4);
backdrop-filter: blur(32px);
"
>
<div style="font-size: 0.8em; font-weight: 700; color: #fff">
{{ t('not_enough_pieces') }}
</div>
</div>
</div>
</div> </div>
</maskLayer> </maskLayer>
</div> </div>
@ -595,6 +577,8 @@ const {
receiveRecordShow, receiveRecordShow,
receiveRecord, // receiveRecord, //
taskListShow, //
helpShow, // helpShow, //
} = storeToRefs(springFestivalStore) } = storeToRefs(springFestivalStore)
@ -737,11 +721,24 @@ const resultShowIndex = ref(0) // 抽奖结果索引
// //
const maskLayerShow = computed(() => { const maskLayerShow = computed(() => {
return resultShow.value || drawRecordShow.value || receiveRecordShow.value || helpShow.value return (
resultShow.value ||
drawRecordShow.value ||
receiveRecordShow.value ||
taskListShow.value ||
helpShow.value
)
}) })
// //
const centerPopupShow = computed(() => { const centerPopupShow = computed(() => {
return resultShow.value || drawRecordShow.value || receiveRecordShow.value || helpShow.value return (
resultShow.value ||
drawRecordShow.value ||
receiveRecordShow.value ||
taskListShow.value ||
helpShow.value
)
}) })
// //
@ -760,9 +757,13 @@ const showPopup = (type) => {
receiveRecordShow.value = true receiveRecordShow.value = true
break break
case 'help': case 'help':
cancelSend() // closedPopup() //
helpShow.value = true helpShow.value = true
break break
case 'taskList':
closedPopup() //
taskListShow.value = true
break
default: default:
closedPopup() // closedPopup() //
@ -775,6 +776,7 @@ const closedPopup = () => {
resultShow.value = false resultShow.value = false
drawRecordShow.value = false drawRecordShow.value = false
receiveRecordShow.value = false receiveRecordShow.value = false
taskListShow.value = false
helpShow.value = false helpShow.value = false
} }