856 lines
26 KiB
Vue
856 lines
26 KiB
Vue
<template>
|
||
<view>
|
||
<view class="flex text-center text-lg bg" v-if="isAgency == 1 && tgCheck != '否'">
|
||
<view class="title_btn flex-sub bg" @click="cut(1)" :class="title_color==1?'bgCol2': ''">我的充值
|
||
</view>
|
||
<view class="title_btn flex-sub bg" @click="cut(2)" :class="title_color==2?'bgCol2': ''">我的收益
|
||
</view>
|
||
</view>
|
||
<view v-if="title_color==1" class="">
|
||
<view class="bgimg">
|
||
<view class="u-flex u-p-l-30" style="padding: 60rpx 0;">
|
||
<view class="u-m-r-20">
|
||
<u-avatar :src="avatar" size="80"></u-avatar>
|
||
</view>
|
||
<view class="u-flex-1 ">
|
||
<view class="" style="color: #ffffff;font-size: 30rpx;">账户余额(元)</view>
|
||
<view class="u-font-16text-bold"
|
||
style="color: #ffffff;font-size: 50rpx;font-weight: 600;margin-top: 10rpx;">{{money}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="u-font-14 u-m-t-10"
|
||
style="position: absolute;bottom: 30rpx;left: 30rpx;color: #ffffff;font-size: 28rpx;">
|
||
只能用于平台消费支付,充值后不可退款</view>
|
||
</view>
|
||
<!-- <view class="margin-top radius bg flex justify-between flex-wrap padding-lr padding-bottom">
|
||
<view v-for="(item,index) in wallet" :key='index'
|
||
class="flex justify-between padding-sm radius margin-top"
|
||
style="color:#20C675;background-color:#EAFFF5; width:48%;border: 1rpx solid #20C675;"
|
||
@click="active(item)" :class="{active:item.isSelect}">
|
||
<view>
|
||
¥{{item.price}}
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
<view class="bg padding-lr padding-bottom" style="border-radius: 30rpx;">
|
||
<view class="" style="padding-top: 30rpx;font-size: 30rpx;color: #000000;font-weight: bold;">
|
||
余额充值
|
||
</view>
|
||
<view class="flex justify-between flex-wrap" v-if="wallet.length > 0">
|
||
<view v-for="(item,index) in wallet" :key='index' class="padding-sm radius"
|
||
style="color: #18b567;background-color: #edf9f3;width: 48%; margin-top: 20rpx;"
|
||
@click="active(item)" :class="{active:item.isSelect}">
|
||
<view v-if="item.coupon && item.coupon.money" style="font-size: 32rpx;">
|
||
¥{{item.price}}
|
||
</view>
|
||
<view v-else
|
||
style="height: 100%;display: flex;align-items: center;font-size: 34rpx;font-weight: bold;">
|
||
¥{{item.price}}
|
||
</view>
|
||
<view v-if="item.coupon && item.coupon.money" style="font-size: 24rpx;">
|
||
赠送{{item.giveNum}}张{{item.coupon.money}}元优惠券
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="bg padding-lr radius" style="margin-top: 20rpx;">
|
||
<view>
|
||
<view class="flex align-center justify-between" style="height: 100upx;padding: 20upx 0;"
|
||
v-for="(item,index) in openLists" :key='index'>
|
||
<view class="flex align-center">
|
||
<image :src="item.image" style="width: 50upx;height: 50upx;border-radius: 50upx;"></image>
|
||
<view style="font-size: 30upx;margin-left: 20upx;">{{item.text}}
|
||
</view>
|
||
</view>
|
||
<radio-group name="openWay" style="margin-left: 20upx;" @tap='selectWay(item)'>
|
||
<label class="tui-radio">
|
||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||
</label>
|
||
</radio-group>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="bg radius padding" style="margin-top: 20rpx;margin-bottom: 20rpx;">
|
||
<view class="flex align-center justify-between" @click="goNav('/my/wallet/mymoneydetail')">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/da75d52b95a64fc349d0353ab16cb719.png"
|
||
style="width: 44rpx;height: 44rpx;"></image> -->
|
||
<view>钱包明细</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
<view class="flex align-center justify-between margin-top-xl" @click="goNav('/my/wallet/zhifubao')"
|
||
v-if="isAgency == 1">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/ba45c8489a14029c1782ac0a28fd8a49.png"
|
||
style="width: 48rpx;height: 34rpx;"></image> -->
|
||
<view>提现账号</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
|
||
<view class="flex align-center justify-between margin-top-xl" @click="goNav('/my/wallet/cashList')"
|
||
v-if="isAgency == 1">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/e90eb8a74548dc3b11c3c856e24e6fbc.png"
|
||
style="width: 40rpx;height: 52rpx;"></image> -->
|
||
<view>提现记录</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
<!-- <view @click="TuiPrice()" v-if="renzheng ==2||renzheng ==5">退保证金</view> -->
|
||
</view>
|
||
|
||
<view
|
||
style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;">
|
||
<view class="btn" @click="pay"
|
||
style="background: linear-gradient(to right, #223845, #00a85b);color: #FFFFFF;margin: 16rpx 30upx;position: fixed;bottom: 0upx;width: 90%;border-radius: 50rpx;height: 78rpx;line-height: 78rpx;font-size: 32rpx;">
|
||
确定充值</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="title_color==2 && isAgency == 1">
|
||
<view class="bg padding dhjsbg">
|
||
<view class="" style="font-size: 28rpx;color: #FFFFFF;margin-top: 6px;">可用余额(元)</view>
|
||
<view class="flex" style="font-size: 60rpx;color: #FFFFFF;margin-top: 6px;font-weight: bold;">
|
||
<!-- <view class="text-xxl"></view> -->
|
||
<view><text style="font-size: 32rpx;margin-right: 6px;">¥</text>{{money}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="padding" style="margin-top: -60px;">
|
||
<view class="bg padding" style="border-radius: 20rpx;">
|
||
<view class="text-lg margin-bottom">提现金额</view>
|
||
<input type="number" placeholder="请输入提现金额" v-model="moneyNum">
|
||
<view style="width: 100%;height: 1rpx;background: #F2F2F2;margin-top: 15rpx;"></view>
|
||
<view class="text-grey margin-top-sm">{{placeholder}}</view>
|
||
<view class="margin-top-xs" style="color: red;font-size: 26rpx;" v-if="txMsg">*{{txMsg}}</view>
|
||
</view>
|
||
<view class="bg margin-top padding-lr" style="border-radius: 20rpx;">
|
||
<view>
|
||
<view v-for="(item,index) in openList" :key='index'>
|
||
<view class="align-center justify-between"
|
||
style="display: flex;height: 100upx;padding: 20upx 0;"
|
||
v-if="item.text === '微信' && wxTxSel != '否'">
|
||
<view class="flex align-center">
|
||
<image :src="item.image" style="width: 50upx;height: 50upx;border-radius: 50upx;">
|
||
</image>
|
||
<view style="font-size: 30upx;margin-left: 20upx;">{{item.text}}
|
||
</view>
|
||
</view>
|
||
<radio-group name="openWay" style="margin-left: 20upx;" @tap='selectWay(item)'>
|
||
<label class="tui-radio">
|
||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||
</label>
|
||
</radio-group>
|
||
</view>
|
||
<view class="align-center justify-between"
|
||
style="display: flex;height: 100upx;padding: 20upx 0;"
|
||
v-if="item.text === '银联' && ylTxSel != '否'">
|
||
<view class="flex align-center">
|
||
<image src="../../static/images/yinlian.png"
|
||
style="width: 50upx;height: 50upx;border-radius: 50upx;"></image>
|
||
<view style="font-size: 30upx;margin-left: 20upx;">{{item.text}}
|
||
</view>
|
||
</view>
|
||
<radio-group name="openWay" style="margin-left: 20upx;" @tap='selectWay(item)'>
|
||
<label class="tui-radio" style="width: 30rpx;">
|
||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||
</label>
|
||
</radio-group>
|
||
</view>
|
||
<view class="align-center justify-between"
|
||
style="display: flex;height: 100upx;padding: 20upx 0;" v-if="item.text === '支付宝'">
|
||
<view class="flex align-center">
|
||
<image :src="item.image" style="width: 50upx;height: 50upx;border-radius: 50upx;">
|
||
</image>
|
||
<view style="font-size: 30upx;margin-left: 20upx;">{{item.text}}
|
||
</view>
|
||
</view>
|
||
<radio-group name="openWay" style="margin-left: 20upx;" @tap='selectWay(item)'>
|
||
<label class="tui-radio">
|
||
<radio color="#096f4b" :checked="openWay === item.id ? true : false" />
|
||
</label>
|
||
</radio-group>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="bg radius margin-top padding" style="border-radius: 20rpx;">
|
||
<view class="flex align-center justify-between" @click="goNav('/my/wallet/mymoneydetail')">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/da75d52b95a64fc349d0353ab16cb719.png"
|
||
style="width: 44rpx;height: 44rpx;"></image> -->
|
||
<view>钱包明细</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
<view class="flex align-center justify-between margin-top-xl" @click="goNav('/my/wallet/zhifubao')">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/ba45c8489a14029c1782ac0a28fd8a49.png"
|
||
style="width: 48rpx;height: 34rpx;"></image> -->
|
||
<view>提现账号</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
|
||
<view class="flex align-center justify-between margin-top-xl" @click="goNav('/my/wallet/cashList')">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/e90eb8a74548dc3b11c3c856e24e6fbc.png"
|
||
style="width: 40rpx;height: 52rpx;"></image> -->
|
||
<view>提现记录</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
<view class="flex align-center justify-between margin-top-xl" @click="goNav('/my/wallet/yinhangka')"
|
||
v-if="isAgency == 1 && ylTxSel != '否'">
|
||
<view class="flex align-center">
|
||
<!-- <image
|
||
src="https://admin.sjajk.com/file/uploadPath/2023/01/03/ba45c8489a14029c1782ac0a28fd8a49.png"
|
||
style="width: 48rpx;height: 34rpx;"></image> -->
|
||
<view>银行卡账号</view>
|
||
</view>
|
||
<image src="../../static/img/you.png" style="width: 16rpx;height: 28rpx;"></image>
|
||
</view>
|
||
<!-- <view @click="TuiPrice()" v-if="renzheng ==2||renzheng ==5">退保证金</view> -->
|
||
</view>
|
||
</view>
|
||
|
||
<view
|
||
style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;">
|
||
<view class="btn" @click="cashMoney">立即提现</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="flex justify-around margin-top " v-if="jsczSel != '否'">
|
||
<view @click="goNav('/pages/therapist/therapistList?index=2')">为TA充值</view>
|
||
<view @click="goNav('/pages/therapist/therapistList?index=3')">我的理疗师</view>
|
||
</view>
|
||
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
jsczSel: '否',
|
||
tgCheck: '否',
|
||
isAgency: 0,
|
||
tablist: [{
|
||
id: 1,
|
||
name: '我的充值'
|
||
}, {
|
||
id: 2,
|
||
name: '我的提现'
|
||
}],
|
||
title_color: 1,
|
||
money: 0,
|
||
avatar: '',
|
||
Profit: 0,
|
||
openLists: [{
|
||
image: '../static/zhifubao.png',
|
||
text: '支付宝',
|
||
id: 1
|
||
}, {
|
||
image: '../static/icon_weixin.png',
|
||
text: '微信',
|
||
id: 2
|
||
}],
|
||
openList: [{
|
||
image: '../static/zhifubao.png',
|
||
text: '支付宝',
|
||
id: 1
|
||
}, {
|
||
image: 'https://admin.sjajk.com/file/uploadPath/2023/02/22/88a1bd822b9632aaef8894021f7c9050.jpg',
|
||
text: '银联',
|
||
id: 2
|
||
}, {
|
||
image: '../static/icon_weixin.png',
|
||
text: '微信',
|
||
id: 3
|
||
}],
|
||
wxTxSel: '否',
|
||
ylTxSel: '否',
|
||
tabIndex: 0,
|
||
bankCard: '',
|
||
openWay: 2,
|
||
wallet: [],
|
||
moneyNum: null,
|
||
thisSelect: {},
|
||
charge: 0, //提现手续费
|
||
maxMoney: 0, //最高提现额度
|
||
minMoney: 0, //最低提现额度
|
||
ratio: '', //金元比例
|
||
placeholder: '',
|
||
renzheng: 0,
|
||
sp: 0,
|
||
txMsg: ''
|
||
}
|
||
},
|
||
onLoad(d) {
|
||
if (d.tabIndex) {
|
||
this.tabIndex = d.tabIndex;
|
||
this.title_color = 2;
|
||
} else {
|
||
this.tabIndex = 0;
|
||
}
|
||
this.wxTxSel = this.$queue.getData('wxTxSel');
|
||
this.ylTxSel = this.$queue.getData('ylTxSel');
|
||
this.jsczSel = this.$queue.getData('jsczSel');
|
||
this.txMsg = this.$queue.getData('txMsg');
|
||
this.avatar = uni.getStorageSync('avatar')
|
||
this.renzheng = uni.getStorageSync("renzheng")
|
||
this.getMoneyList();
|
||
// #ifndef MP-WEIXIN
|
||
this.openLists = [{
|
||
image: '../../static/images/my/zhifubao.png',
|
||
text: '支付宝',
|
||
id: 1
|
||
}, {
|
||
image: '../../static/images/my/icon_weixin.png',
|
||
text: '微信',
|
||
id: 2
|
||
}];
|
||
this.openWay = 1;
|
||
// #endif
|
||
|
||
// #ifdef MP-WEIXIN
|
||
this.openLists = [{
|
||
image: '../../static/share/icon_weixin.png',
|
||
text: '微信',
|
||
id: 2
|
||
}];
|
||
this.openWay = 2;
|
||
// #endif
|
||
|
||
},
|
||
onShow() {
|
||
this.tgCheck = this.$queue.getData('tgCheck');
|
||
this.getMoney()
|
||
this.getCharge()
|
||
this.getMinMoney()
|
||
this.getMaxMoney()
|
||
this.getRatio()
|
||
this.getUserInfo()
|
||
|
||
},
|
||
methods: {
|
||
getMoneyList() {
|
||
this.$Request.get("/app/payClassify/selectPayClassifyList").then(res => {
|
||
if (res.code == 0) {
|
||
this.wallet = [];
|
||
res.data.forEach((d, index) => {
|
||
// if(!d.coupon){
|
||
// return;
|
||
// }
|
||
if (index == 0) {
|
||
d.isSelect = true;
|
||
this.thisSelect = d;
|
||
} else {
|
||
d.isSelect = false;
|
||
}
|
||
this.wallet.push(d);
|
||
});
|
||
}
|
||
});
|
||
},
|
||
//退保证金
|
||
TuiPrice() {
|
||
let that = this
|
||
let zhiFuBao = uni.getStorageSync('zhiFuBao')
|
||
let zhiFuBaoName = uni.getStorageSync('zhiFuBaoName')
|
||
|
||
if (!zhiFuBao && !zhiFuBaoName) {
|
||
uni.navigateTo({
|
||
url: '/my/wallet/zhifubao'
|
||
})
|
||
|
||
} else {
|
||
let renzheng = uni.getStorageSync("renzheng")
|
||
console.log(renzheng)
|
||
if (renzheng == 2 || renzheng == 5) {
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '是否确定退还保证金?退还后将不能发布订单',
|
||
success: function(res) {
|
||
if (res.confirm) {
|
||
console.log('用户点击确定');
|
||
that.$Request.post("/app/userCertification/exitMoney").then(res => {
|
||
console.log(res)
|
||
if (res.msg == '您还有未下架的订单,请先下架!') {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none'
|
||
});
|
||
} else if (res.msg == '您还有未服务的订单,请先完成!') {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none'
|
||
});
|
||
} else if (res.msg == 'success') {
|
||
uni.showToast({
|
||
title: '退还成功',
|
||
icon: 'none'
|
||
});
|
||
uni.switchTab({
|
||
url: '/pages/my/index'
|
||
})
|
||
}
|
||
});
|
||
} else if (res.cancel) {
|
||
console.log('用户点击取消');
|
||
}
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
}
|
||
|
||
},
|
||
getUserInfo() {
|
||
this.$Request.get("/app/user/selectUserById").then(res => {
|
||
if (res.code == 0) {
|
||
this.avatar = res.data.avatar ? res.data.avatar : '../../static/logo.png'
|
||
if (this.tabIndex == 1) {
|
||
this.isAgency = 1
|
||
} else {
|
||
this.isAgency = res.data.isAgency ? res.data.isAgency : 0
|
||
}
|
||
if (res.data.bankCard) {
|
||
this.bankCard = res.data.bankCard
|
||
}
|
||
uni.setStorageSync('avatar', res.data.avatar)
|
||
}
|
||
});
|
||
},
|
||
// 提现手续费
|
||
getCharge() {
|
||
this.$Request.get("/app/common/type/152").then(res => {
|
||
if (res.code == 0) {
|
||
this.charge = res.data.value
|
||
this.placeholder = '服务费:' + this.charge * 100 + '%' + ',最低提现:' +
|
||
this.minMoney * 1 + ',最高提现:' + this.maxMoney * 1
|
||
}
|
||
});
|
||
},
|
||
// 最低提现额度
|
||
getMinMoney() {
|
||
this.$Request.get("/app/common/type/112").then(res => {
|
||
if (res.code == 0) {
|
||
this.minMoney = res.data.value
|
||
this.placeholder = '服务费:' + this.charge * 100 + '%' + ',最低提现:' +
|
||
this.minMoney * 1 + ',最高提现:' + this.maxMoney * 1
|
||
}
|
||
});
|
||
},
|
||
// 最高提现额度
|
||
getMaxMoney() {
|
||
this.$Request.get("/app/common/type/153").then(res => {
|
||
if (res.code == 0) {
|
||
this.maxMoney = res.data.value
|
||
this.placeholder = '服务费:' + this.charge * 100 + '%' + ',最低提现:' +
|
||
this.minMoney * 1 + ',最高提现:' + this.maxMoney * 1
|
||
}
|
||
});
|
||
},
|
||
// 金元比例
|
||
getRatio() {
|
||
this.$Request.get("/app/common/type/154").then(res => {
|
||
if (res && res.code == 0 && res.data) {
|
||
this.ratio = res.data.value
|
||
this.placeholder = '服务费:' + this.charge * 100 + '%' + ',最低提现:' +
|
||
this.minMoney * 1 + ',最高提现:' + this.maxMoney * 1
|
||
this.wallet.forEach(re => {
|
||
re.num = re.price * res.data.value
|
||
})
|
||
}
|
||
});
|
||
},
|
||
cut(e) {
|
||
this.title_color = e
|
||
},
|
||
goNav(url) {
|
||
uni.navigateTo({
|
||
url
|
||
})
|
||
},
|
||
active(e) {
|
||
this.wallet.forEach(res => {
|
||
if (res.payClassifyId == e.payClassifyId) {
|
||
res.isSelect = true
|
||
this.thisSelect = e
|
||
} else {
|
||
res.isSelect = false
|
||
}
|
||
})
|
||
},
|
||
// 我的余额
|
||
getMoney() {
|
||
this.$Request.get("/app/userMoney/selectMyMoney").then(res => {
|
||
if (res.code == 0 && res.data) {
|
||
console.log(res.data.money)
|
||
this.money = res.data.money
|
||
}
|
||
});
|
||
},
|
||
selectWay: function(item) {
|
||
this.openWay = item.id;
|
||
},
|
||
|
||
pay() {
|
||
if (this.openWay == 2) {
|
||
// #ifdef APP-PLUS
|
||
// 微信APP支付 根据订单id获取支付信息
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 1,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post("/app/wxPay/payMoney", data).then(ret => {
|
||
console.log(ret)
|
||
this.isCheckPay(ret.code, 'wxpay', JSON.stringify(ret.data));
|
||
});
|
||
// #endif
|
||
|
||
// #ifdef MP-WEIXIN
|
||
// 微信小程序支付
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 3,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post('/app/wxPay/payMoney', data).then(ret => {
|
||
uni.hideLoading()
|
||
uni.requestPayment({
|
||
provider: 'wxpay',
|
||
timeStamp: ret.data.timestamp,
|
||
nonceStr: ret.data.noncestr,
|
||
package: ret.data.package,
|
||
signType: ret.data.signType,
|
||
paySign: ret.data.sign,
|
||
success: function(suc) {
|
||
console.log('success:' + JSON.stringify(suc));
|
||
uni.showToast({
|
||
title: '支付成功',
|
||
icon: 'success'
|
||
})
|
||
setTimeout(d => {
|
||
uni.navigateBack(1)
|
||
}, 1000);
|
||
},
|
||
fail: function(err) {
|
||
console.log('fail:' + JSON.stringify(err));
|
||
uni.showToast({
|
||
title: '支付失败',
|
||
icon: 'none'
|
||
})
|
||
}
|
||
});
|
||
});
|
||
// #endif
|
||
|
||
// #ifdef H5
|
||
let ua = navigator.userAgent.toLowerCase();
|
||
if (ua.indexOf('micromessenger') !== -1) {
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 2,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post('/app/wxPay/payMoney', data).then(res => {
|
||
if (res.code == 0) {
|
||
this.callPay(res.data);
|
||
} else {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '支付失败!'
|
||
});
|
||
}
|
||
});
|
||
} else {
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 4,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post('/app/wxPay/payMoney', data).then(res => {
|
||
if (res.code == 0) {
|
||
const urlArr = window.location.href;
|
||
const hostUrl = urlArr.split("/");
|
||
const callBack = hostUrl[0] + "//" + hostUrl[2] + "/";
|
||
const url = '&redirect_url=' + callBack + 'my/wallet/index';
|
||
window.location = res.data.mweb_url + url
|
||
} else {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '支付失败!'
|
||
});
|
||
}
|
||
});
|
||
}
|
||
// #endif
|
||
|
||
} else {
|
||
// #ifdef H5
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 2,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post('/app/aliPay/payOrderMoney', data).then(
|
||
res => {
|
||
if (res.code === 0) {
|
||
const div = document.createElement('div')
|
||
div.innerHTML = res.data //此处form就是后台返回接收到的数据
|
||
document.body.appendChild(div)
|
||
document.forms[0].submit()
|
||
setTimeout(d => {
|
||
uni.navigateBack(1)
|
||
}, 1000);
|
||
} else {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '支付失败!'
|
||
});
|
||
}
|
||
});
|
||
// #endif
|
||
// #ifdef APP-PLUS
|
||
// APP支付宝支付
|
||
let data = {
|
||
payClassifyId: this.thisSelect.payClassifyId,
|
||
type: 1,
|
||
userId: uni.getStorageSync('userId')
|
||
}
|
||
this.$Request.post("/app/aliPay/payOrderMoney", data).then(ret => {
|
||
console.log(ret)
|
||
this.isCheckPay(ret.code, 'alipay', ret.data);
|
||
});
|
||
// #endif
|
||
}
|
||
|
||
},
|
||
callPay: function(response) {
|
||
if (typeof WeixinJSBridge === "undefined") {
|
||
if (document.addEventListener) {
|
||
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);
|
||
} else if (document.attachEvent) {
|
||
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));
|
||
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));
|
||
}
|
||
} else {
|
||
this.onBridgeReady(response);
|
||
}
|
||
},
|
||
onBridgeReady: function(response) {
|
||
let that = this;
|
||
if (!response.package) {
|
||
return;
|
||
}
|
||
console.log(response, '++++++++')
|
||
WeixinJSBridge.invoke(
|
||
'getBrandWCPayRequest', {
|
||
"appId": response.appid, //公众号名称,由商户传入
|
||
"timeStamp": response.timestamp, //时间戳,自1970年以来的秒数
|
||
"nonceStr": response.noncestr, //随机串
|
||
"package": response.package,
|
||
"signType": response.signType, //微信签名方式:
|
||
"paySign": response.sign //微信签名
|
||
},
|
||
function(res) {
|
||
console.log(res, '/*-/*-/*-')
|
||
if (res.err_msg === "get_brand_wcpay_request:ok") {
|
||
// 使用以上方式判断前端返回,微信团队郑重提示:
|
||
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
|
||
uni.showLoading({
|
||
title: '支付成功'
|
||
});
|
||
setTimeout(function() {
|
||
uni.hideLoading();
|
||
}, 1000);
|
||
} else {
|
||
uni.hideLoading();
|
||
}
|
||
WeixinJSBridge.log(response.err_msg);
|
||
}
|
||
);
|
||
},
|
||
isCheckPay(status, name, order) {
|
||
if (status == 0) {
|
||
this.setPayment(name, order);
|
||
} else {
|
||
uni.hideLoading();
|
||
uni.showToast({
|
||
title: '支付信息有误',
|
||
icon: 'none'
|
||
});
|
||
}
|
||
},
|
||
setPayment(name, order) {
|
||
console.log('*-*-*')
|
||
uni.requestPayment({
|
||
provider: name,
|
||
orderInfo: order, //微信、支付宝订单数据
|
||
success: function(res) {
|
||
console.log(res)
|
||
uni.hideLoading();
|
||
uni.showLoading({
|
||
title: '支付成功'
|
||
});
|
||
},
|
||
fail: function(err) {
|
||
console.log(err)
|
||
uni.hideLoading();
|
||
},
|
||
complete() {
|
||
uni.hideLoading();
|
||
}
|
||
});
|
||
},
|
||
// 提现
|
||
cashMoney() {
|
||
if (!this.moneyNum) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '请输入提现金额'
|
||
})
|
||
return
|
||
}
|
||
if (this.moneyNum > this.money * 1) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '您的余额不足'
|
||
})
|
||
return
|
||
}
|
||
if (this.moneyNum < this.minMoney * 1) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '最低可提现10元'
|
||
})
|
||
return
|
||
}
|
||
// if (this.moneyNum*1+this.charge*this.moneyNum > this.money*1) {
|
||
// uni.showToast({
|
||
// icon: 'none',
|
||
// title: '您的手续费不足'
|
||
// })
|
||
// return
|
||
// }
|
||
|
||
let zhiFuBao = uni.getStorageSync('zhiFuBao')
|
||
let zhiFuBaoName = uni.getStorageSync('zhiFuBaoName')
|
||
// if (this.openWay == 2) {
|
||
if (!zhiFuBao && !zhiFuBaoName && this.openWay == 1) {
|
||
uni.navigateTo({
|
||
url: '/my/wallet/zhifubao'
|
||
})
|
||
return
|
||
}
|
||
|
||
if (!this.bankCard && this.openWay == 2) {
|
||
uni.navigateTo({
|
||
url: '/my/wallet/yinhangka'
|
||
})
|
||
return
|
||
}
|
||
|
||
let that = this
|
||
that.sp = (that.moneyNum * this.charge).toFixed(2)
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '本次提现' + that.moneyNum + '元,服务费' + this.sp + '元,是否确认提现?',
|
||
success: function(res) {
|
||
if (res.confirm) {
|
||
that.$Request.get("/app/cash/cashMoney", {
|
||
money: that.moneyNum,
|
||
userType: 1,
|
||
classify: that.openWay
|
||
}).then(res => {
|
||
if (res.code == 0) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: res.msg
|
||
})
|
||
that.moneyNum = null
|
||
} else {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: res.msg
|
||
})
|
||
}
|
||
that.getMoney()
|
||
});
|
||
} else if (res.cancel) {
|
||
console.log('用户点击取消');
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
page {
|
||
background-color: #F7F7F7;
|
||
}
|
||
|
||
.bg {
|
||
background-color: #FFFFFF;
|
||
}
|
||
|
||
.dhjsbg {
|
||
background: linear-gradient(to right, #223845, #00a85b);
|
||
padding-bottom: 140rpx;
|
||
}
|
||
|
||
.bgimg {
|
||
background: url(../../static/img/qianbaoimg.png);
|
||
background-size: cover;
|
||
height: 300rpx;
|
||
position: relative;
|
||
margin: 30rpx 30rpx 0 30rpx;
|
||
}
|
||
|
||
.active {
|
||
/* border: 1px solid #096f4b !important; */
|
||
color: #FFFFFF !important;
|
||
background: #20C675 !important;
|
||
}
|
||
|
||
.title_btn {
|
||
height: 78upx;
|
||
line-height: 78upx;
|
||
color: #333333;
|
||
/* background: #f7f7f7; */
|
||
}
|
||
|
||
.btn {
|
||
background: linear-gradient(to right, #223845, #00a85b);
|
||
color: #FFFFFF;
|
||
margin: 16rpx 30upx;
|
||
position: fixed;
|
||
bottom: 0upx;
|
||
width: 90%;
|
||
border-radius: 50rpx;
|
||
height: 78rpx;
|
||
line-height: 78rpx;
|
||
font-size: 30rpx;
|
||
text-align: center;
|
||
}
|
||
|
||
.bgCol2 {
|
||
color: #096f4b;
|
||
font-weight: bold;
|
||
}
|
||
</style> |