<template> <view class="content"> <!-- <uni-notice-bar single="true" text="实际到账98%"></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">可提现{{showType}}</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="请输入提现金额" placeholder-class="placeholder" /> <view class="buttom butt" @click="withdrawal = money">全部提现</view> </view> </view> <!-- #ifndef MP-WEIXIN --> <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>提现至微信</text></view> </view> <view class="right"><radio value="weixin" color="#5dbc7c" :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.fullname">提现至支付宝</text> <text v-else>请创建支付宝账号</text> </view> <view class="node"> <text v-if="aliData.fullname">真实姓名({{ aliData.fullname }})</text> </view> </view> <view class="right"> <radio value="alipay" color="#A581FF" :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.bankno">{{ bankData.bank + ' ' + bankData.bankno }}</text> <text v-else>请创建银行账号</text> </view> <view class="node"> <text v-if="bankData.fullname">真实姓名({{ bankData.fullname }})</text> </view> </view> <view class="right"> <radio value="bank" color="#ff0060" :checked="type == 'bank'" /> </view> </view> </label> --> </radio-group> </view> <!-- #endif --> <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 == 'alipay'"> <text class="tit">手机号</text> <input class="input" v-model="alipay_phone" type="number" 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="bank_code" 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="bank_people" 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="bank_name" placeholder="请输入所属银行" placeholder-class="placeholder" /> </view> <button class="add-btn up" @click="confirm" :class="{'loading': load}">提交申请</button> <!-- <button class="add-btn " v-if="!weichatBsrowser" @click="navTo('/pages/money/account')">账号管理</button> --> </view> </template> <script> import { getMoneyStyle } from '@/utils/rocessor.js'; import { extractCash, extractBank, setAliInfo, aliInfo, bankInfo, getMoneyType } from '@/api/wallet.js'; import { orderData, getUserInfo } 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 { load: true, showType: '', from: '', type: 'alipay', //提现方式 money: '0.00', //可提现金额 freeze: '0.0', //冻结金额 withdrawal: '', //提现金额 minPrice: '', //最少提现金额 aliData: {}, bankData: {}, alipay_code: '', alipay_name: '', alipay_phone: '', bank_code: '', bank_people: '', bank_name: '', // #ifdef H5 weichatBsrowser: false // #endif }; }, onLoad(options) { // #ifdef H5 this.weichatBsrowser = uni.getStorageSync('weichatBrowser'); // #endif if (options.type) { this.from = options.type if (this.from == 'purple') { this.showType = '阳光积分' } if (this.from == 'shop') { this.showType = '美好积分' } } //加载提现信息 this.loadData(); // // 加载提款账号信息 // this.loadAli(); // this.loadBank(); }, methods: { ...mapMutations('user', ['setUserInfo', 'setOrderInfo']), // 加载余额信息 async loadData() { let obj = this aliInfo().then(e => { console.log(e, 'eeee'); obj.alipay_code = e.data.zfb.payment obj.alipay_name = e.data.zfb.name obj.alipay_phone = e.data.zfb.phone }); getUserInfo({}) .then(({ data }) => { console.log(data, 'data') this.setUserInfo(data); obj.money = data.brokerage_price obj.load = false }) .catch(e => { console.log(e); }); }, // 跳转 navTo(url) { uni.navigateTo({ url: url }); }, // 切换选中对象 tabRadio(e) { this.type = e.detail.value; }, // 提交 confirm() { if (this.load) { return } let zfbData = { phone: this.alipay_phone, type: 2, payment: this.alipay_code, name: this.alipay_name } let data = { extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信 money: this.withdrawal, //金额 type: this.from == 'purple' ? 1 : 2 //0佣金1余额 1紫积分 2商家积分 }; // if (this.withdrawal % 100 != 0) { // uni.showToast({ // title: '提现金额为100的倍数', // duration: 2000, // mask: false, // icon: 'none' // }); // return; // } 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.alipay_name; data.alipay_code = this.alipay_code; zfbData.phone = this.alipay_phone; } if (this.type == 'bank') { data.name = this.bank_people; data.bankname = this.bank_name; data.cardnum = this.bank_code; } this.load = true getMoneyType(zfbData) .then(e => { console.log(e, "eeeeee"); // uni.showToast({ // title: '修改成功', // duration: 2000, // position: 'top' // }); // setTimeout(() => { // uni.navigateBack({ // url:'pages/user/shopJf' // }) // },1500) this.$api.prePage().dataUp() }) .catch(e => { console.log(e); }); extractCash(data) .then(e => { console.log(e, 'eeeeee'); this.loadData() uni.showToast({ title: '提交成功', duration: 2000, position: 'top' }); this.withdrawal = '' }) .catch(e => { this.load = false console.log(); }); } } }; </script> <style lang="scss"> page { height: 100%; background: #111111; } .content-money { padding: 30rpx 0; background: #111111; } .flex { background-color: #111111; text-align: center; margin: 0 30rpx; border-radius: $border-radius-sm; .buttom { font-size: $font-lg; width: 50%; } .butt { font-size: 26rpx; font-weight: normal; color: #A581FF; line-height: 42rpx; } .interval { width: 2px; height: 60rpx; background-color: #111111; } .icon { background-size: 100%; font-size: 42rpx; color: #fff; font-weight: bold; background-repeat: no-repeat; background-position: center; } .text { color: #fff; } } .row-box { margin-top: 30rpx; padding: 20rpx 30rpx; background: #111111; .title { font-size: $font-base + 2rpx; color: #fff; } .row { display: flex; align-items: center; position: relative; height: 80rpx; background: #111111; color: #fff; .tit { flex-shrink: 0; width: 40rpx; font-size: 30rpx; color: #fff; } .input { flex: 1; font-size: 30rpx; color: #fff; } .iconlocation { font-size: 36rpx; color: #fff; } .buttom { color: #A581FF; } } } .add-btn { &.modified { color: #ffffff; } &.up { background: linear-gradient(270deg, #6E8DF7, #9977F6); 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; background: #111111; .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: #111111; .tit { flex-shrink: 0; width: 250upx; font-size: 30upx; color: #fff; } .input { flex: 1; font-size: 30upx; color: #fff; } .iconlocation { font-size: 36upx; color: $font-color-light; } } .tip { padding: 20rpx; color: #fd3b39; } .loading { background: #999; } </style>