Files
frontend-app/pages/other_package/nine-grid/components/ResultModal.vue
T
2026-07-23 14:00:22 +08:00

132 lines
2.8 KiB
Vue

<template>
<!-- 中奖结果弹窗 -->
<view class="result-modal" v-if="visible">
<view class="modal-content">
<view class="modal-content-result">
<view v-for="(item, index) in prize" :key="index" class="modal-content-result-item">
<view class="par-value">
<text v-if="item.type === 'balance'" class="moeny">¥ </text>{{ item.parValue }}
</view>
<view class="prize-name">{{ item.prizeName }}</view>
</view>
</view>
<view class="close" @click.stop="jumpGetFun"> </view>
<view class="confirm-btn" @click.stop="jumpGetFun">立即领取</view>
</view>
</view>
</template>
<script>
export default {
props: {
// 是否显示弹窗
visible: {
type: Boolean,
default: false
},
// 中奖奖品信息
prize: {
type: Array,
default: () => ([
])
}
},
methods: {
jumpGetFun(item) {
this.$emit('close')
// uni.navigateTo({
// url: '/pages/other_package/get_prize/get_prize?id=' + item.id,
// })
},
},
}
</script>
<style scoped lang="scss">
.result-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 999;
}
.modal-content {
width: 650rpx;
height: 1000rpx;
background: url('https://static.tbmall.xin/static/lottery-pop.png') no-repeat center center;
background-size: 100% auto;
position: relative;
.confirm-btn {
width: 436rpx;
height: 76rpx;
background: linear-gradient(180deg, #FFE361 0%, #FF7B21 70%, #FFB931 91%, #FFB245 100%);
box-shadow: inset 0px 0 24rpx 0px rgba(255, 255, 255, 0.5);
border-radius: 38rpx;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
bottom: 230rpx;
left: 50%;
transform: translateX(-50%);
}
.modal-content-result {
position: absolute;
bottom: 450rpx;
left: 50%;
transform: translateX(-50%);
width: 420rpx;
display: flex;
justify-content: space-around;
.modal-content-result-item {
margin-left: 15rpx;
&:first-child {
margin-left: 0;
}
.par-value {
font-weight: bold;
font-size: 42rpx;
color: #D0010D;
text-align: center;
.moeny {
font-size: 28rpx;
}
}
.prize-name {
font-size: 36rpx;
color: #000000;
text-align: center;
margin-top: 15rpx;
}
}
}
.close {
width: 120rpx;
height: 120rpx;
position: absolute;
top: 130rpx;
right: 40rpx;
}
}
</style>