oil-station/gasStation-uni/pagesRefuel/orderSuccess/index.vue

112 lines
2.5 KiB
Vue
Raw Normal View History

2024-08-16 18:26:19 +08:00
<template>
<view class="content">
<view class="container">
<view class="my-header">
<view class="my-icons" @click="goBack"> <uni-icons type="left" size="16"></uni-icons> </view>
<view class="my-text">支付完成</view>
<view class="my-icons"></view>
</view>
<view style="text-align: center;margin-top: 20px;">
<view style="margin: 0 auto;">
<image style="width: 60%;" src="@/static/imgs/paymentSuccess.png"></image>
</view>
<view style="margin: 20px auto;font-size: 20px;color: #30a1ff;">支付成功</view>
<view style="color: gray">
您已完成支付<br/>
谢谢您对来个油惠的支持
</view>
<view v-if="orderNo" @click="goOrderInfo" style="border: solid 1px #30a1ff;border-radius: 50px;margin: 20px auto;width: 150px;
height: 40px;line-height: 40px;color: #30a1ff;">{{timestamp}}s后去评价</view>
<view v-else @click="goBack" style="border: solid 1px #30a1ff;border-radius: 50px;margin: 20px auto;width: 150px;
height: 40px;line-height: 40px;color: #30a1ff;">{{timestamp}}s后返回首页</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
timestamp:3,
timer:{},
orderNo:"",
}
},
onLoad(e) {
if (e.orderNo){
this.orderNo = e.orderNo
}
this.countdown()
},
methods: {
goOrderInfo(){
clearInterval(this.timer)
uni.navigateTo({
url: '/pagesMy/details/details?orderNo=' + this.orderNo,
})
},
// 倒计时刷新
countdown(){
let _this = this
this.timer = setInterval(() => {
// countdown减1
_this.timestamp--;
// 如果倒计时为0清除定时器
if(_this.timestamp === 0) {
if (_this.orderNo){
_this.goOrderInfo()
}else{
_this.goBack()
}
clearInterval(this.timer)
_this.timestamp = 3
}
}, 1000);
},
goBack() {
clearInterval(this.timer)
uni.reLaunch({
url: '/pages/index/index'
})
}
}
}
</script>
<style scoped lang="scss">
.content {
background: white;
}
.container {
width: 100%;
height: 100vh;
box-sizing: border-box;
padding-top: 88px;
}
.my-header {
width: 100%;
height: 88px;
background: #ffffff;
display: flex;
align-items: center;
justify-content: space-between;
color: #000;
box-sizing: border-box;
padding: 0px 15px;
padding-top: 40px;
.my-icons {
width: 20px;
}
position: fixed;
top: 0px;
}
</style>