oil-station/gasStation-uni/pagesRefuel/orderSuccess/index.vue
2024-10-08 17:58:46 +08:00

181 lines
4.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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 src="../../static/icon/zfcg.png" style="width: 80px; height: 80px; "></image>
</view>
<view style="margin: 20px auto;font-size: 16px;color: #22AF5B;">支付成功</view>
<view class="m_num">{{orderInfo.goodsMoney}}</view>
<view class="m_bs">
<view class="">门店名称</view>
<view class="">{{orderInfo.storeName}}</view>
</view>
<view class="x_"></view>
<view class="m_bs">
<view class="">交易类型</view>
<view class="">{{orderInfo.content}}</view>
</view>
<view class="m_bs">
<view class="">支付方式</view>
<view class="" v-if="orderInfo.payType=='ALIPAY'">支付宝</view>
<view class="" v-if="orderInfo.payType=='WECHAT'">微信</view>
<view class="" v-if="orderInfo.payType=='UNIONPAY'">银联二维码</view>
<view class="" v-if="orderInfo.payType=='CASH'">现金</view>
<view class="" v-if="orderInfo.payType=='APPLET_CODE'">小程序码</view>
<view class="" v-if="orderInfo.payType=='card_value'">储值卡</view>
<view class="" v-if="orderInfo.payType=='fule_card'">囤油卡</view>
<view class="" v-if="orderInfo.payType=='car_card_value'">车队卡</view>
<view class="" v-if="orderInfo.payType=='car_fule_card'">车队囤油卡</view>
<view class="" v-if="orderInfo.payType=='after_pay'">挂账</view>
</view>
<view class="m_bs">
<view class="">流水编号</view>
<view class="">{{orderInfo.orderNo}}</view>
</view>
<view v-if="orderInfo.type==1" @click="goOrderInfo" style="border: solid 1px #FA6400;margin: 20px auto;width: 70%;
height: 40px;line-height: 40px;color: #FA6400;">{{timestamp}}s后去评价</view>
<view v-else @click="goBack" style="border: solid 1px #FA6400;margin: 20px auto;width: 70%;
height: 40px;line-height: 40px;color: #FA6400;">{{timestamp}}s后返回首页</view>
</view>
</view>
</view>
</template>
<script>
import request from '../../utils/request'
export default {
data() {
return {
timestamp: 3,
timer: {},
orderNo: "234520241008171716e578f0",
orderInfo: {},
oilOrder:{},
}
},
onLoad(e) {
if (e.orderNo) {
this.orderNo = e.orderNo
}
this.getOrder()
this.countdown()
},
methods: {
getOrder() {
request({
url: "/business/allOrderInfo/queryByOrderNo",
method: 'get',
params: {
orderNo: this.orderNo,
},
}).then((res) => {
this.orderInfo = res.data
if (res.data.type == 1){
request({
url: "business/oilOrder/oilOrderId/" + this.orderNo,
method: 'get',
}).then((res) => {
if(res.data){
this.oilOrder = res.data
}
})
}
})
},
goOrderInfo() {
clearInterval(this.timer)
uni.navigateTo({
url: '/pagesMy/comment/comment?orderId=' + this.oilOrder.id
})
},
// 倒计时刷新
countdown() {
let _this = this
this.timer = setInterval(() => {
// countdown减1
_this.timestamp--;
// 如果倒计时为0清除定时器
if (_this.timestamp === 0) {
if (_this.orderInfo.type==1) {
_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;
}
.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;
}
.m_num {
font-size: 30px;
color: #333333;
}
.m_bs {
width: 100%;
box-sizing: border-box;
padding: 5px 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
.x_ {
width: 95%;
border-bottom: 1px solid #EEEEEE;
margin: 5px auto;
}
</style>