|
@@ -9,17 +9,22 @@
|
|
</view>
|
|
</view>
|
|
<view class="luck-info-content flex">
|
|
<view class="luck-info-content flex">
|
|
<view class="luck-info-content-num">
|
|
<view class="luck-info-content-num">
|
|
- <image src="../../static/lucky/lucky_not_num.png" mode="" v-if="info.status == 1"></image>
|
|
|
|
- <image src="../../static/lucky/lucky_ok_num.png" mode="" v-else></image>
|
|
|
|
- <view class="luck-info-content-num__content flex" v-if="info.status == 2">
|
|
|
|
- <text>{{ info.plainLuckyNum }}</text>
|
|
|
|
- </view>
|
|
|
|
|
|
+ <image src="../../static/lucky/lucky_gkmp.png" mode=""></image>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="luck-info-content-img">
|
|
|
|
+ <view class="luck-info-content-img-word">
|
|
|
|
+ <image class="img" src="../../static/lucky/lucky_tu.png" mode=""></image>
|
|
|
|
+ <view class="luck-info-content-img-word__content">
|
|
|
|
+ <text>{{ info.awardsName }}</text>
|
|
|
|
+ </view>
|
|
|
|
+ <image class="imgtwo" src="../../static/lucky/lucky_xiaoguo.png" mode="" v-if="infoimg">
|
|
|
|
+ </image>
|
|
|
|
+ <image class="img" src="../../static/lucky/lucky_guajiangqu.png" mode="" v-if="info.status == 1">
|
|
|
|
+ <image class="imgone" src="../../static/lucky/lucky_yidong.png" v-else-if="info.status == 2"></image>
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
- <view class="luck-info-content-title" v-if="info.status == 1">- 幸运数字 -</view>
|
|
|
|
- <view class="luck-info-content-tip" v-else>请刮开纸质票面的数字,与此幸运数字相同的就是所中奖项</view>
|
|
|
|
<view class="luck-info-content-ticket">
|
|
<view class="luck-info-content-ticket">
|
|
- <image src="../../static/lucky/lucky_not.png" mode="" v-if="info.status == 1"></image>
|
|
|
|
- <image src="../../static/lucky/lucky_ok.png" mode="" v-else></image>
|
|
|
|
|
|
+ <image src="../../static/lucky/lucky_piaohao.png" mode=""></image>
|
|
<view class="luck-info-content-ticket-info flex">
|
|
<view class="luck-info-content-ticket-info flex">
|
|
<view class="title" :class="{ 'action': info.status == 2 }">{{ info.title }}</view>
|
|
<view class="title" :class="{ 'action': info.status == 2 }">{{ info.title }}</view>
|
|
<view class="serialNo" :class="{ 'action': info.status == 2 }">盲票序列号:{{ info.serialNo }}
|
|
<view class="serialNo" :class="{ 'action': info.status == 2 }">盲票序列号:{{ info.serialNo }}
|
|
@@ -27,10 +32,10 @@
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="luck-info-content-btn" @click="pay" v-if="info.status == 1 && info.salePrice != 0">
|
|
<view class="luck-info-content-btn" @click="pay" v-if="info.status == 1 && info.salePrice != 0">
|
|
- 支付{{ info.salePrice / 100 }}元 立即查看</view>
|
|
|
|
|
|
+ 支付{{ info.salePrice / 100 }}元 立即刮开盲票</view>
|
|
<view class="luck-info-content-btn" @click="payDetail"
|
|
<view class="luck-info-content-btn" @click="payDetail"
|
|
- v-else-if="info.status == 1 && info.salePrice == 0">收下盲票,查看幸运数字</view>
|
|
|
|
- <view class="luck-info-content-btn code" @click="scanCode" v-else>扫码兑奖</view>
|
|
|
|
|
|
+ v-else-if="info.status == 1 && info.salePrice == 0">收下盲票,立即刮开盲票</view>
|
|
|
|
+ <view class=" code" v-else>开奖啦!</view>
|
|
</view>
|
|
</view>
|
|
<view class="luck-info-close flex">
|
|
<view class="luck-info-close flex">
|
|
<navigator open-type="exit" target="miniProgram" hover-class="none"
|
|
<navigator open-type="exit" target="miniProgram" hover-class="none"
|
|
@@ -45,10 +50,17 @@
|
|
<pay-popup :pay-show="payShow" :pay-info="payInfo" @close="close" @success="getDetailInfo" v-if="payShow" />
|
|
<pay-popup :pay-show="payShow" :pay-info="payInfo" @close="close" @success="getDetailInfo" v-if="payShow" />
|
|
|
|
|
|
<u-popup :show="showNull" :round="10" mode="center" :safeAreaInsetBottom="false" overlayOpacity="0.8"
|
|
<u-popup :show="showNull" :round="10" mode="center" :safeAreaInsetBottom="false" overlayOpacity="0.8"
|
|
|
|
+ @touchmove.prevent.stop>
|
|
|
|
+ <view class="null-prize">
|
|
|
|
+ <view class="title">该盲票已兑奖</view>
|
|
|
|
+ <view class="btn" @click="toUser">确认</view>
|
|
|
|
+ </view>
|
|
|
|
+ </u-popup>
|
|
|
|
+
|
|
|
|
+ <u-popup :show="tipShow" :round="10" mode="center" :safeAreaInsetBottom="false" overlayOpacity="0.8"
|
|
@touchmove.prevent.stop>
|
|
@touchmove.prevent.stop>
|
|
<view class="null-prize">
|
|
<view class="null-prize">
|
|
<view class="title">该盲票已被他人买走了</view>
|
|
<view class="title">该盲票已被他人买走了</view>
|
|
- <!-- <navigator open-type="exit" target="miniProgram" hover-class="none" class="btn">确认</navigator> -->
|
|
|
|
<view class="btn" @click="toUser">确认</view>
|
|
<view class="btn" @click="toUser">确认</view>
|
|
</view>
|
|
</view>
|
|
</u-popup>
|
|
</u-popup>
|
|
@@ -85,6 +97,7 @@
|
|
luckyShow: false,
|
|
luckyShow: false,
|
|
status: 2,
|
|
status: 2,
|
|
showAction: false,
|
|
showAction: false,
|
|
|
|
+ infoimg: false,
|
|
};
|
|
};
|
|
},
|
|
},
|
|
|
|
|
|
@@ -98,29 +111,10 @@
|
|
let obj = urlParameter(decodeURIComponent(options.q))
|
|
let obj = urlParameter(decodeURIComponent(options.q))
|
|
this.serialNo = obj.id
|
|
this.serialNo = obj.id
|
|
this.getDetail()
|
|
this.getDetail()
|
|
- // let url = JSON.stringify(options.q)
|
|
|
|
- // this.serialNo = url.substring(url.length - 22, url.length - 1)
|
|
|
|
- // this.getDetail()
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
- scanCode() {
|
|
|
|
- let _this = this
|
|
|
|
- uni.scanCode({
|
|
|
|
- scanType: ['qrCode'],
|
|
|
|
- success(res) {
|
|
|
|
- let url = res.result
|
|
|
|
- // _this.serialNo = url.substring(url.length - 21, url.length)
|
|
|
|
- _this.serialNo = urlParameter(url).id
|
|
|
|
- _this.getDetail()
|
|
|
|
- },
|
|
|
|
- fail() {
|
|
|
|
- uni.$u.toast('请扫二维码');
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
getDetail() {
|
|
getDetail() {
|
|
uni.showLoading({
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
title: '加载中'
|
|
@@ -140,6 +134,7 @@
|
|
uni.redirectTo({
|
|
uni.redirectTo({
|
|
url: `/packagePrize/choice/index?id=${ res.data.ticketId }&type=offLine`
|
|
url: `/packagePrize/choice/index?id=${ res.data.ticketId }&type=offLine`
|
|
})
|
|
})
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
this.luckyShow = true
|
|
this.luckyShow = true
|
|
uni.showModal({
|
|
uni.showModal({
|
|
@@ -190,7 +185,14 @@
|
|
if (res.code == 0) {
|
|
if (res.code == 0) {
|
|
if (res.data.status == 2) {
|
|
if (res.data.status == 2) {
|
|
_this.info = res.data
|
|
_this.info = res.data
|
|
- let num = res.data.plainLuckyNum
|
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.infoimg = true
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.redirectTo({
|
|
|
|
+ url: `/packagePrize/choice/index?id=${ res.data.ticketId }&type=offLine`
|
|
|
|
+ })
|
|
|
|
+ }, 500)
|
|
|
|
+ }, 500)
|
|
} else {
|
|
} else {
|
|
let num = 0
|
|
let num = 0
|
|
let time = setInterval(() => {
|
|
let time = setInterval(() => {
|
|
@@ -206,7 +208,14 @@
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
clearInterval(time)
|
|
clearInterval(time)
|
|
_this.info = res.data
|
|
_this.info = res.data
|
|
- let num = res.data.plainLuckyNum
|
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.infoimg = true
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.redirectTo({
|
|
|
|
+ url: `/packagePrize/choice/index?id=${ res.data.ticketId }&type=offLine`
|
|
|
|
+ })
|
|
|
|
+ }, 500)
|
|
|
|
+ }, 500)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
if (num == 10) {
|
|
if (num == 10) {
|
|
@@ -243,8 +252,8 @@
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
if (res.code == 0) {
|
|
if (res.code == 0) {
|
|
this.getDetailInfo()
|
|
this.getDetailInfo()
|
|
- }else {
|
|
|
|
- this.showNull = true
|
|
|
|
|
|
+ } else {
|
|
|
|
+ this.tipShow = true
|
|
this.luckyShow = false
|
|
this.luckyShow = false
|
|
}
|
|
}
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
@@ -309,7 +318,6 @@
|
|
position: relative;
|
|
position: relative;
|
|
width: 87vw;
|
|
width: 87vw;
|
|
height: 60vh;
|
|
height: 60vh;
|
|
- // background-color: #fff;
|
|
|
|
|
|
|
|
&-bg {
|
|
&-bg {
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -332,10 +340,10 @@
|
|
|
|
|
|
&-num {
|
|
&-num {
|
|
position: relative;
|
|
position: relative;
|
|
- width: 60%;
|
|
|
|
- height: 10vh;
|
|
|
|
- margin-top: 17vh;
|
|
|
|
- margin-bottom: 2vh;
|
|
|
|
|
|
+ width: 422rpx;
|
|
|
|
+ height: 8vh;
|
|
|
|
+ margin-top: 16vh;
|
|
|
|
+ margin-bottom: 3vh;
|
|
|
|
|
|
image {
|
|
image {
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -344,17 +352,61 @@
|
|
height: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
|
|
- &__content {
|
|
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &-img {
|
|
|
|
+ position: relative;
|
|
|
|
+ width: 73%;
|
|
|
|
+ height: 10vh;
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ border-radius: 12rpx;
|
|
|
|
+
|
|
|
|
+ &-word {
|
|
position: absolute;
|
|
position: absolute;
|
|
- top: 0;
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- z-index: 5;
|
|
|
|
- font-size: 120rpx;
|
|
|
|
- font-family: YouSheBiaoTiHei;
|
|
|
|
- font-weight: 400;
|
|
|
|
- color: #FD3331;
|
|
|
|
|
|
+ top: 15%;
|
|
|
|
+ left: 5%;
|
|
|
|
+ width: 90%;
|
|
|
|
+ height: 85%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+
|
|
|
|
+ .img {
|
|
|
|
+ position: absolute;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 82.6%;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .imgtwo {
|
|
|
|
+ position: absolute;
|
|
|
|
+ width: 20%;
|
|
|
|
+ height: 82%;
|
|
|
|
+ left: -20%;
|
|
|
|
+ animation: shadowTwoMove 0.5s linear infinite;
|
|
|
|
+ animation-iteration-count: 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .imgone {
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 100%;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ animation: shadowMove 0.5s linear infinite;
|
|
|
|
+ animation-iteration-count: 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &__content {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 25%;
|
|
|
|
+ text-align: center;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ font-size: 36rpx;
|
|
|
|
+ font-family: YouSheBiaoTiHei;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ color: #fff;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
&-title {
|
|
&-title {
|
|
@@ -374,20 +426,21 @@
|
|
|
|
|
|
&-ticket {
|
|
&-ticket {
|
|
position: relative;
|
|
position: relative;
|
|
- width: 96%;
|
|
|
|
- height: 14vh;
|
|
|
|
- margin-bottom: 2vh;
|
|
|
|
|
|
+ width: 73%;
|
|
|
|
+ height: 10vh;
|
|
|
|
+ margin-top: 2vh;
|
|
|
|
|
|
image {
|
|
image {
|
|
position: absolute;
|
|
position: absolute;
|
|
top: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
width: 100%;
|
|
- height: 100%;
|
|
|
|
|
|
+ height: 95%;
|
|
}
|
|
}
|
|
|
|
|
|
&-info {
|
|
&-info {
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
|
|
+ width: 90%;
|
|
|
|
+ height: 75%;
|
|
|
|
+ left: 5%;
|
|
position: absolute;
|
|
position: absolute;
|
|
top: 0;
|
|
top: 0;
|
|
z-index: 5;
|
|
z-index: 5;
|
|
@@ -395,15 +448,15 @@
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
|
|
|
.title {
|
|
.title {
|
|
- font-size: 36rpx;
|
|
|
|
- line-height: 36rpx;
|
|
|
|
- font-weight: bold;
|
|
|
|
|
|
+ font-size: 30rpx;
|
|
|
|
+ line-height: 30rpx;
|
|
color: #FF6D2C;
|
|
color: #FF6D2C;
|
|
- margin-bottom: 2vh;
|
|
|
|
|
|
+ margin-top: 1vh;
|
|
|
|
+ margin-bottom: 1vh;
|
|
}
|
|
}
|
|
|
|
|
|
.serialNo {
|
|
.serialNo {
|
|
- font-size: 26rpx;
|
|
|
|
|
|
+ font-size: 24rpx;
|
|
color: #FF6D2C;
|
|
color: #FF6D2C;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -414,19 +467,26 @@
|
|
}
|
|
}
|
|
|
|
|
|
&-btn {
|
|
&-btn {
|
|
- padding: 0 13%;
|
|
|
|
- height: 8vh;
|
|
|
|
- line-height: 8vh;
|
|
|
|
|
|
+ padding: 0 8%;
|
|
|
|
+ height: 7vh;
|
|
|
|
+ line-height: 7vh;
|
|
background: linear-gradient(0deg, #FF4924, #F9D448);
|
|
background: linear-gradient(0deg, #FF4924, #F9D448);
|
|
box-shadow: 0px 6px 9px 0px rgba(135, 19, 3, 0.49);
|
|
box-shadow: 0px 6px 9px 0px rgba(135, 19, 3, 0.49);
|
|
border-radius: 4vh;
|
|
border-radius: 4vh;
|
|
text-align: center;
|
|
text-align: center;
|
|
color: #FEFEFE;
|
|
color: #FEFEFE;
|
|
font-size: 40rpx;
|
|
font-size: 40rpx;
|
|
|
|
+ margin-top: 1vh;
|
|
}
|
|
}
|
|
|
|
|
|
.code {
|
|
.code {
|
|
padding: 0 20%;
|
|
padding: 0 20%;
|
|
|
|
+ height: 7vh;
|
|
|
|
+ line-height: 10vh;
|
|
|
|
+ text-align: center;
|
|
|
|
+ color: #FEFEFE;
|
|
|
|
+ font-family: YouSheBiaoTiHei;
|
|
|
|
+ font-size: 38rpx
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -474,4 +534,26 @@
|
|
text-align: center;
|
|
text-align: center;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 支付后移动动画
|
|
|
|
+ @keyframes shadowMove {
|
|
|
|
+ 0% {
|
|
|
|
+ left: 0%;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 100% {
|
|
|
|
+ left: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 支付后移动动画
|
|
|
|
+ @keyframes shadowTwoMove {
|
|
|
|
+ 0% {
|
|
|
|
+ left: -20%;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 100% {
|
|
|
|
+ left: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
</style>
|
|
</style>
|