<template> <view class="content"> <view class="content-money"> <view class="flex"> <view class="buttom"> <view class="icon" v-if="type == 0">{{ userInfo.brokerage_price || 0}}</view> <view class="icon" v-if="type == 1">{{ userInfo.now_money || 0}}</view> <view class="icon" v-if="type == 3">{{ pUser.points || 0}}</view> <text class="text">可转账余额</text> </view> </view> </view> <view class="row-box"> <view class="title">收款人UID</view> <view class="row"><input class="input" type="number" v-model="phone" placeholder="请输入收款人UID" placeholder-class="placeholder" /></view> </view> <view class="row-box"> <view class="title">转账金额</view> <view class="row"> <input class="input" type="number" v-model="withdrawal" placeholder="转入金额" placeholder-class="placeholder" /> <view class="buttom" @click="getAll" >全部转账</view> </view> </view> <button class="add-btn up" @click="!loding ? confirm('zz') : ''">转账</button> </view> </template> <script> import { getUserInfo, jfzz } from '@/api/user.js'; import { passUser,createGs } from '@/api/zero.js' import { mapMutations, mapState } from 'vuex'; export default { data() { return { phone: '', money: '0.00', //可提现金额 withdrawal: '', //提现金额 password: '', //支付密码 card: '', //转账卡号 name: '', // #ifdef H5 weichatBsrowser: false, // #endif loding: true, type: 0, pUser: {} }; }, onLoad(options) { // #ifdef H5 this.weichatBsrowser = uni.getStorageSync('weichatBrowser'); // #endif this.dataUp(); if (options.type) { this.type = options.type; if(this.type == 1) { uni.setNavigationBarTitle({ title:'余额转账' }) }else if(this.type == 3) { uni.setNavigationBarTitle({ title:'阅读积分转账' }) } } }, computed: { ...mapState('user', ['userInfo']) }, methods: { ...mapMutations('user', ['setUserInfo']), passUser() { passUser().then(res => { // console.log(res); this.pUser = res.data }) }, getAll() { if(this.type == 0) { this.withdrawal = this.userInfo.brokerage_price }else if(this.type == 2){ this.withdrawal = this.userInfo.now_money }else if(this.type == 3) { this.withdrawal = this.pUser.points } }, // 更新数据 dataUp() { let obj = this; getUserInfo({}) .then(e => { obj.loding = false; // 保存返回用户数据 obj.setUserInfo(e.data); // this.passUser() }) .catch(e => { console.log(e); }); }, // 切换选中对象 tabRadio(e) { this.type = e.detail.value; }, // 提交 confirm(tit) { let obj = this; obj.loding = true; if(obj.phone == '') { return obj.$api.msg('请输入用户UID/手机号'); } if ( !obj.withdrawal || obj.withdrawal<=0 ) { obj.loding = false; obj.$api.msg('转账金额须大于0'); return; } let data = { to_uid: obj.phone, //编号 num: obj.withdrawal ,//金额 type: obj.type }; if(obj.type == 3) { createGs({ amount: obj.withdrawal, to_uid: obj.phone, type: tit == 'jy'? 1: 2 }).then(res => { uni.showToast({ title: tit == 'jy'? '交易成功': '转账成功', duration:2000 }); obj.dataUp(); obj.loding = false; }).catch(err => { obj.dataUp(); obj.loding = false; }) }else { jfzz(data) .then(e => { // 初始化提现金额 obj.withdrawal = ''; uni.showToast({ title: '转账成功', duration: 2000, position: 'top' }); obj.dataUp(); }) .catch(e => { obj.$api.msg(e.msg); obj.loding = false; console.log(); }); } }, boblack() { uni.navigateBack({ fail() { uni.switchTab({ url: '/pages/index/index' }) } }) }, } }; </script> <style lang="scss"> page { height: 100%; } .content-money { padding: 30rpx 0; background: #ffffff; } .item { padding: 0 $page-row-spacing; background-color: #ffffff; } .flex { background-color: #ffffff; text-align: center; margin: 0 30rpx; border-radius: $border-radius-sm; justify-content: center; .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 { width: 520rpx; height: 80rpx; border-radius: 20rpx; margin: 140rpx auto 0; font-size: 36rpx; font-weight: bold; color: #fff; background-color:$base-color; } .back-btn { width: 520rpx; height: 80rpx; border-radius: 20rpx; margin: 40rpx auto; font-size: 36rpx; font-weight: bold; color: #303030; background-color: #F8DABA; } .name { background: #fff; padding: 30rpx; } .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; } } } } .tip { padding: 20rpx; color: #ff0000; } /deep/ .uni-radio-input { width: 45rpx; height: 45rpx; } .psw-wrapper { width: 548rpx; height: 344rpx; background-color: #FFFFFF; border-radius: 15rpx 15rpx; .psw-title { width: 100%; font-size: 35rpx; padding: 43rpx 0 49rpx; text-align: center; font-weight: 800; } .psw-ipt { display: block; background-color: #dce3ed; height: 90rpx; width: 464rpx; padding-left: 30rpx; margin: 0 auto; font-size: 80rpx; } .psw-btn text { display: inline-block; text-align: center; width: 50%; padding-top: 29rpx; font-size: 35rpx; } .psw-qd { color: #5771DF; } } .jy { background-color: $base-color; color: #fff; margin-top: 30rpx; } </style>