You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

204 lines
4.1 KiB

<template>
<view class="payWay">
<view class="card">
<view class="name">{{ orderName }}</view>
<view class="price"><text></text> {{ price }}</view>
</view>
<view class="card">
<view class="h1">请选择支付方式</view>
<view class="zfb" @click="changePayWay(2)">
<view class="leftCon">
<view class="icon">
<image src="@/static/images/jiaofei_zfbIphone@2x.png" mode=""></image>
</view>
<view class="text">
支付宝支付
</view>
</view>
<view class="rightStatusIcon">
<image src="@/static/images/jiaofei_zhifu_selectIphone@2x.png" mode="" v-if="payWay==2">
</image>
<image src="@/static/images/jiaofei_zhifu_unselectIphone@2x.png" mode="" v-else></image>
</view>
</view>
<view class="zfb" @click="changePayWay(1)">
<view class="leftCon">
<view class="icon">
<image src="@/static/images/jiaofei_wxIphone@2x.png" mode=""></image>
</view>
<view class="text">
微信支付
</view>
</view>
<view class="rightStatusIcon">
<image src="@/static/images/jiaofei_zhifu_selectIphone@2x.png" mode="" v-if="payWay==1">
</image>
<image src="@/static/images/jiaofei_zhifu_unselectIphone@2x.png" mode="" v-else></image>
</view>
</view>
</view>
<view class="footBox">
<view class="btn border" @click="cancelPay" >取消本次支付</view>
<view class="btn" @click="submitPay">确认支付</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue'
import { createPrepaidApi, memberVoicePage } from '@/config/api.js'
import carStore from '@/store/modules/car.js'
import {
onLoad,
} from "@dcloudio/uni-app"
let usecarStore = carStore()
const payWay = ref(1)
function cancelPay() {
uni.navigateBack()
}
function changePayWay(val) {
payWay.value = val
}
function submitPay() {
console.log('去支付吧')
}
let memberGradeId = 1
async function createPrepaidApiFn() {
let obj = {
"memberGradeId": memberGradeId,
"payType": 2,
"returnUrl": "",
"source": 1
}
const {data: res} = await createPrepaidApi(obj)
// vipItemData.value = res
console.log(res)
}
createPrepaidApiFn()
let orderName = ref('')
let price = ref(0)
onLoad((option)=>{
if(option.id) memberGradeId = option.id
if(option.name) orderName.value = option.name
if(option.price) orderName.value = option.price
})
</script>
<style lang="scss" scoped>
.payWay {
padding: 0 32rpx;
background: #F6F7FA;
min-height: 100vh;
overflow: hidden;
.h1 {
padding: 20rpx 0 20rpx 10rpx;
font-weight: 700;
}
.card {
border-radius: 20rpx;
background-color: #fff;
padding: 20rpx;
margin: 40rpx 0;
overflow: hidden;
.price {
font-size: 56rpx;
font-weight: 700;
text-align: center;
padding-bottom: 20rpx;
text {
font-size: 30rpx;
margin-right: -10rpx;
}
}
.name {
font-weight: 400;
font-size: 28rpx;
color: #CCCCCC;
padding: 24rpx;
text-align: center;
}
}
.zfb {
background-color: #fff;
border-radius: 16rpx;
padding: 0 16px;
height: 110rpx;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
.leftCon {
display: flex;
align-items: center;
.icon {
width: 48rpx;
height: 48rpx;
image {
display: block;
width: 100%;
height: 100%;
}
}
.text {
font-size: 32rpx;
color: #333;
margin: 0 10rpx 0 20rpx;
}
.recommendIcon {
width: 64rpx;
height: 34rpx;
image {
width: 100%;
height: 100%;
display: block;
}
}
}
.rightStatusIcon {
width: 42rpx;
height: 42rpx;
image {
display: block;
width: 100%;
height: 100%;
}
}
}
}
.footBox {
display: flex;
padding: 32rpx 0;
justify-content: space-between;
.btn {
width: 48%;
height: 98rpx;
background: #2168FC;
border-radius: 16rpx;
color: #fff;
text-align: center;
line-height: 98rpx;
&.border {
background: none;
border: 1px solid #2168FC;
color: #2168FC;
}
}
}
</style>