123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- <template>
- <view>
- <van-radio-group >
- <van-cell-group
- v-for="(item, index) in list"
- :key="index"
- >
- <van-cell
- title-class="changtitle"
- :title="item.title"
- @click="onChange(index)"
- >
- <template slot="icon" style="padding-right: 10upx;">
- <van-radio-group :value="radio" >
- <van-radio checked-color="#D9332E" :name="index" >
- </van-radio>
- </van-radio-group>
- </template>
- </van-cell>
- </van-cell-group>
- </van-radio-group>
- <view class="payMoney" @click="payMoney" v-if="radio == 1">支付(圈币{{prices*ratio_points}})</view>
- <view class="payMoney" @click="payMoney" v-if="radio == 0">支付(¥{{prices}})</view>
- <Dialog :orderCancel="orderCancel"
- :titles="titles"
- :values="values"
- @colseDialog="cancelDialog"
- @confirmPay="confirmOrder"
- />
- </view>
- </template>
- <script>
- import Dialog from '@/component/Dialog.vue'
- export default {
- components: {
- Dialog
- },
- data() {
- return {
- values:'',
- orderCancel: false,
- titles:'',
- list:[
- {title:'微信支付'},
- {title:'圈币支付'}
- ],
- radio: 0,
- prices: '',
- order_id:'',
- isform: 0,
- ratio_points: 2,
- }
- },
- onLoad(e) {
- this.prices = e.prices;
- this.order_id = e.order_id;
- this.getuserInfo();
- //this.ratio_points = e.ratio_points;
- // this.isform = e.isform; // 1 dingdanfukuanguolai
- // if(this.ratio_points > 0) {
- // this.list = [
- // {title:'微信支付'},
- // {title:'圈币支付'}
- // ];
- // }else {
- // this.list = [
- // {title:'微信支付'}
-
- // ];
- // }
- },
- methods: {
- //获取用户信息
- getuserInfo() {
- this.request({
- url: '/v2/member/info',
- method:'post',
- success: (res) => {
- this.ratio_points = res.data.data.ratio_points;
- if(this.ratio_points > 0) {
- this.list = [
- {title:'微信支付'},
- {title:'圈币支付'}
- ];
- }else {
- this.list = [
- {title:'微信支付'}
-
- ];
- }
- }
- })
- },
- // 圈币取消支付
- cancelDialog() {
- this.orderCancel = false;
- },
- // 圈币确定支付
- confirmOrder() {
- this.orderCancel = false;
- this.request({
- url:'/v1/payment/pay',
- method:'POST',
- data: {
- pay_code: 'point',
- order_id: this.order_id
- },
- success: (res) => {
- if(res.data.code == 1000) {
- setTimeout(()=> {
- uni.navigateTo({
- url: `/pages/myOrder/finsh?isform=${this.isform}&order_id=${this.order_id}`
- })
- //uni.navigateBack()
- }, 1000)
- }
-
- }
- })
- },
- onChange(index) {
- this.radio = index;
- },
- payMoney() {
- if(this.radio == 0) {
- // 微信支付
- this.request({
- url:'/v1/payment/pay',
- method: 'post',
- data: {
- pay_code: 'wx',
- type: 1,
- order_id: this.order_id
- },
- success:(res) => {
- let { wx } = res.data.data;
- uni.requestPayment({
- provider: 'wxpay',
- timeStamp: wx.timeStamp,
- nonceStr: wx.nonceStr,
- package: wx.package,
- signType: 'MD5',
- paySign: wx.paySign,
- success: (res) => {
- let isform = 2;
- let order_id = this.order_id;
- uni.navigateTo({
- url: `/pages/myOrder/finsh?isform=${isform}&order_id=${order_id}`
- })
- },
- fail: function (err) {
- }
- })
- }
- })
- }else {
- this.titles = "圈币支付";
- this.values = "使用圈币支付"+this.prices*this.ratio_points;
- this.orderCancel = true;
- // 圈币支付
- // this.request({
- // url:'/v1/payment/pay',
- // method:'POST',
- // data: {
- // pay_code: 'point',
- // order_id: this.order_id
- // },
- // success: (res) => {
- // console.log(res);
-
- // }
- // })
- }
- }
- }
- }
- </script>
- <style>
- .payMoney {
- width: 90%;
- color: #fff;
- background-color: #D9332E;
- position: fixed;
- text-align: center;
- padding: 20upx 0;
- bottom: 5%;
- left: 5%;
- }
- .changtitle {
- padding-left: 10upx;
- }
- </style>
|