<template> <view class="content"> <uni-notice-bar single="true" :text="'提现手续费:' + extract_commission + '%'" v-if="!userInfo.is_server"></uni-notice-bar> <view class="content-money"> <view class="flex " style="width: 750rpx;justify-content: space-around;margin-left: 0;"> <view class="buttom"> <view class="icon">{{ money | getMoneyStyle }}</view> <text class="text">可提现红积分</text> </view> </view> </view> <view class="row-box"> <view class="title">提现金额</view> <view class="row"> <text class="tit">¥</text> <input class="input" type="number" v-model="withdrawal" :placeholder="'最低提现金额' + minPrice + '元'" placeholder-class="placeholder" /> <view class="buttom" @click="withdrawal = money">全部提现</view> </view> </view> <view class="list"> <radio-group @change="tabRadio"> <!-- <label> <view class="box"> <view class="icon iconfont iconweixin1"></view> <view class="title-box"> <view class="title"> <text v-if="weixin_no">提现至微信</text> <text v-else>请创建微信账号</text> </view> <view class="node"> <text v-if="weixin_no">账号({{ weixin_no }})</text> </view> </view> <view class="right"> <radio value="weixin" color="#c29963" :checked="type == 'weixin'" /> </view> </view> </label> --> <!-- <label> <view class="box"> <view class="icon iconfont iconzhifubao"></view> <view class="title-box"> <view class="title"> <text v-if="aliData.name">提现至支付宝</text> <text v-else>请创建支付宝账号</text> </view> <view class="node"> <text v-if="aliData.name">真实姓名({{ aliData.name }})</text> </view> </view> <view class="right"> <radio value="alipay" color="#ff4072" :checked="type == 'alipay'" /> </view> </view> </label> --> <!-- <label> <view class="box"> <view class="icon iconfont"> <image class="icon-img" src="/static/icon/i8.png" mode="aspectFit"></image> </view> <view class="title-box"> <view class="title"> <text v-if="bankData.name">{{ bankData.bank + ' ' + bankData.payment }}</text> <text v-else>请创建银行账号</text> </view> <view class="node"> <text v-if="bankData.name">真实姓名({{ bankData.name }})</text> </view> </view> <view class="right"> <radio value="bank" color="#ff4072" :checked="type == 'bank'" /> </view> </view> </label> --> </radio-group> </view> <view class="row b-b" v-if="type == 'weixin'"> <text class="tit">微信账号</text> <input class="input" type="text" v-model="weixin_no" placeholder="请输入微信账号" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'alipay'"> <text class="tit">支付宝账号</text> <input class="input" type="text" v-model="alipay_code" placeholder="请输入支付宝账号" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'alipay'"> <text class="tit">支付宝姓名</text> <input class="input" type="text" v-model="alipay_name" placeholder="请输入支付宝姓名" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'bank'"> <text class="tit">银行卡号</text> <input class="input" type="text" v-model="bankInfo.bankno" placeholder="请输入银行卡" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'bank'"> <text class="tit">姓名</text> <input class="input" type="text" v-model="bankInfo.fullname" placeholder="请输入银行卡" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'bank'"> <text class="tit">所属银行</text> <input class="input" type="text" v-model="bankInfo.bank" placeholder="请输入银行卡" placeholder-class="placeholder" /> </view> <view class="row b-b" v-if="type == 'bank'"> <text class="tit">所属支行</text> <input class="input" type="text" v-model="bankInfo.subbranch" placeholder="请输入银行卡" placeholder-class="placeholder" /> </view> <!-- <button class="add-btn modified" @click="navTo('/pages/user/sqdl')">银行卡管理</button> --> <button class="add-btn up" @click="confirm">提交申请</button> </view> </template> <script> import { getLevelList, bank, bankInfo } from '@/api/user.js' import { getMoneyStyle } from '@/utils/rocessor.js'; import { extractCash, extractBank, aliInfo, setBank, getBank } from '@/api/wallet.js'; import { orderData, getUserInfo, getUser } from '@/api/user.js'; import { mapState, mapMutations } from 'vuex'; import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue'; export default { filters: { getMoneyStyle }, components: { uniNoticeBar }, computed: { ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']) }, data() { return { extract_commission: '', trade_commission: '', bankInfo: {}, weixin_no: '', type: 'bank', //提现方式 money: '0.00', //可提现金额 freeze: '0.0', //冻结金额 withdrawal: '', //提现金额 minPrice: '', //最少提现金额 aliData: {}, weixin: {}, alipay_code: '', alipay_name: '', bank_code: '', bank_people: '', bank_name: '', bank_belonging: '', jftype: 0, }; }, onLoad(options) { //加载提现信息 this.loadData(); // // 加载提款账号信息 // this.loadAli(); // this.loadBank(); }, onShow() { this.dataUp() this.getUser() }, methods: { ...mapMutations('user', ['setUserInfo', 'setOrderInfo']), getUser() { getUser().then(res=> { this.setUserInfo(res.data) }) }, dataUp() { let obj = this bankInfo().then(res => { console.log('ddddd') }) }, // 加载余额信息 async loadData() { extractBank({}).then(({ data }) => { this.extract_commission = data.extract_commission this.trade_commission = data.trade_commission this.minPrice = data.minPrice; this.money = data.brokerage_price if(data.extractInfo && data.extractInfo.real_name) { this.bankInfo = { bankno: data.extractInfo.bank_code, fullname:data.extractInfo.real_name, bank: data.extractInfo.bank_address.split(',')[0], subbranch: data.extractInfo.bank_address.split(',')[1] } } }); }, // 跳转 navTo(url) { uni.navigateTo({ url: url }); }, // 切换选中对象 tabRadio(e) { this.type = e.detail.value; }, // 提交 confirm() { let obj = this let data = { extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信 money: this.withdrawal, //金额 type: 0 //0佣金1余额 }; if (this.withdrawal < this.minPrice) { uni.showToast({ title: '提现金额不可少于' + this.minPrice, duration: 2000, mask: false, icon: 'none' }); return; } if (this.type == 'alipay') { console.log('alipay'); data.name = this.aliData.name; data.alipay_code = this.aliData.payment; } if (this.type == 'bank') { console.log('bank'); data.name = this.bankInfo.fullname; data.bankname = this.bankInfo.bank + ','+this.bankInfo.subbranch; data.cardnum = this.bankInfo.bankno; } if(this.type == 'weixin') { console.log('weixin'); data.weixin = this.weixin_no } uni.showLoading({ title:'提交中...' }) extractCash(data) .then(e => { obj.loadData() uni.showToast({ title: '提交成功', duration: 2000, position: 'top' }); }) .catch(e => { console.log(); }); } } }; </script> <style lang="scss"> page { height: 100%; } .content-money { padding: 30rpx 0; background: #ffffff; } .flex { background-color: #ffffff; text-align: center; margin: 0 30rpx; border-radius: $border-radius-sm; .buttom { font-size: $font-lg; width: 50%; } .interval { width: 2px; height: 60rpx; background-color: #eeeeee; } .icon { background-size: 100%; font-size: 42rpx; color: $font-color-dark; font-weight: bold; background-repeat: no-repeat; background-position: center; } .text { color: $font-color-light; } } .row-box { margin-top: 30rpx; padding: 20rpx 30rpx; background: #fff; .title { font-size: $font-base + 2rpx; color: $font-color-dark; } .row { display: flex; align-items: center; position: relative; height: 80rpx; .tit { flex-shrink: 0; width: 40rpx; font-size: 30rpx; color: $font-color-dark; } .input { flex: 1; font-size: 30rpx; color: $font-color-dark; } .iconlocation { font-size: 36rpx; color: $font-color-light; } .buttom { color: $base-color; font-size: $font-base; } } } .add-btn { &.modified { // color: #ffffff; border:1px solid $base-color; // background-color: #fff; color: $base-color; background-color: #fff; } &.up { background: $base-color; color: #fff; } display: flex; align-items: center; justify-content: center; width: 690rpx; height: 80rpx; margin: 0 auto; margin-top: 30rpx; font-size: $font-lg; border-radius: 10rpx; // box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4); } .list { padding-left: 30rpx; margin-top: 30rpx; background-color: #ffffff; .box { display: flex; align-items: center; width: 100%; height: 120rpx; border-bottom: 1px solid $border-color-light; .icon { font-size: 48rpx; padding-right: 20rpx; .icon-img { height: 50rpx; width: 50rpx; } } .iconweixin1 { color: #18bf16; } .iconzhifubao { color: #08aaec; } .title-box { flex-grow: 1; text-align: left; .title { font-size: $font-base + 2rpx; color: $font-color-base; } .node { font-size: $font-sm; color: $font-color-light; } } } } /deep/ .uni-radio-input { width: 45rpx; height: 45rpx; } .row { display: flex; align-items: center; position: relative; padding: 0 30upx; height: 110upx; background: #fff; .tit { flex-shrink: 0; width: 250upx; font-size: 30upx; color: $font-color-dark; } .input { flex: 1; font-size: 30upx; color: $font-color-dark; } .iconlocation { font-size: 36upx; color: $font-color-light; } } .tip { padding: 20rpx; color: #fd3b39; } </style>