|
|
@@ -1,139 +1,274 @@
|
|
|
<template>
|
|
|
- <view class="integralTransforms">
|
|
|
- <view class="header">
|
|
|
- <text class="title">{{ jifen || '0.00' }}</text><br>
|
|
|
- <text>可转换积分</text>
|
|
|
+ <view class="content">
|
|
|
+ <view class="content-money">
|
|
|
+ <view class="flex">
|
|
|
+ <view class="buttom">
|
|
|
+ <view class="icon">{{ userInfo.now_money | getMoneyStyle }}</view>
|
|
|
+ <text class="text">可用余额</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="account">
|
|
|
- <text class="title">收款人UID</text>
|
|
|
- <input type="number" placeholder="请输入收款人UID" v-model="account" />
|
|
|
+ <view class="name" v-if="name != ''">用户昵称:{{ name }}</view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="title">用户编号</view>
|
|
|
+ <view class="row"><input class="input" type="text" v-model="card" placeholder="输入转入的用户编号" @blur="userName" placeholder-class="placeholder" /></view>
|
|
|
</view>
|
|
|
- <view class="num">
|
|
|
- <text class="title">转账数量</text>
|
|
|
- <view class="">
|
|
|
- <text class="ti">¥</text>
|
|
|
- <input type="number" v-model.number="num" placeholder="请输入转账数量" />
|
|
|
- </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="title">支付密码</view>
|
|
|
+ <view class="row"><input class="input" type="password" v-model="password" placeholder="输入支付密码" placeholder-class="placeholder" /></view>
|
|
|
</view>
|
|
|
- <view class="button" @click="submit">
|
|
|
- 提交申请
|
|
|
+ <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" @click="withdrawal = userInfo.now_money">全部转账</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">转入</button>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-// import { goPay } from '@/api/finance.js';
|
|
|
-import { spreadCommission, userBalance } from '@/api/wallet.js';
|
|
|
-import { mapState, mapMutations } from 'vuex';
|
|
|
-
|
|
|
- export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- password:'',//交易密码
|
|
|
- jifen:'',//可转积分
|
|
|
- num: '', //转账数量
|
|
|
- account: '', //收款人账户
|
|
|
- type:''
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
-
|
|
|
- submit() {
|
|
|
- let obj = this
|
|
|
- if(obj.account == ''){
|
|
|
- obj.$api.msg('请输入对方账号ID')
|
|
|
- return
|
|
|
- }
|
|
|
- if(obj.num ==''){
|
|
|
- obj.$api.msg('请输入转账数量')
|
|
|
- return
|
|
|
- }
|
|
|
- if(obj.account == this.userInfo.uid){
|
|
|
- obj.$api.msg('请勿转账给自己')
|
|
|
- return
|
|
|
- }
|
|
|
- goPay({
|
|
|
- num: obj.num,
|
|
|
- uid: obj.account,
|
|
|
- }).then(data =>{
|
|
|
- console.log(data,'转账')
|
|
|
- obj.num = ''
|
|
|
- obj.account = ''
|
|
|
- obj.$api.msg('转账成功')
|
|
|
+import { getMoneyStyle } from '@/utils/rocessor.js';
|
|
|
+import { getUserInfo, transfer, nickname } from '@/api/user.js';
|
|
|
+import { mapMutations, mapState } from 'vuex';
|
|
|
+export default {
|
|
|
+ filters: {
|
|
|
+ getMoneyStyle
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ money: '0.00', //可提现金额
|
|
|
+ withdrawal: '', //提现金额
|
|
|
+ password: '', //支付密码
|
|
|
+ card: '', //转账卡号
|
|
|
+ name: '',
|
|
|
+ // #ifdef H5
|
|
|
+ weichatBsrowser: false,
|
|
|
+ // #endif
|
|
|
+ loding: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ // #ifdef H5
|
|
|
+ this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
|
|
|
+ // #endif
|
|
|
+ this.dataUp();
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState('user', ['userInfo'])
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...mapMutations('user', ['setUserInfo', 'login']),
|
|
|
+ // 更新数据
|
|
|
+ dataUp() {
|
|
|
+ let obj = this;
|
|
|
+ getUserInfo({})
|
|
|
+ .then(e => {
|
|
|
+ obj.login();
|
|
|
+ // 保存返回用户数据
|
|
|
+ obj.setUserInfo(e.data);
|
|
|
})
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ });
|
|
|
},
|
|
|
- computed: {
|
|
|
-
|
|
|
- ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
|
|
|
+ // 切换选中对象
|
|
|
+ tabRadio(e) {
|
|
|
+ this.type = e.detail.value;
|
|
|
},
|
|
|
- onLoad(option) {
|
|
|
-
|
|
|
- // 获取用户余额
|
|
|
- userBalance({}).then(({ data }) => {
|
|
|
- this.jifen = data.now_money;
|
|
|
- });
|
|
|
+ userName() {
|
|
|
+ if (this.card != '') {
|
|
|
+ nickname({ uid: this.card }).then(data => {
|
|
|
+ this.name = data.msg;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ console.log(this.card);
|
|
|
},
|
|
|
- watch: {
|
|
|
- num() {
|
|
|
- if (this.num > this.jifen) {
|
|
|
- this.num = this.jifen
|
|
|
- }
|
|
|
+ // 提交
|
|
|
+ confirm() {
|
|
|
+ let obj = this;
|
|
|
+ obj.loding = true;
|
|
|
+ if (obj.withdrawal == 0) {
|
|
|
+ obj.loding = false;
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content: '转账金额不要为0'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (obj.card == obj.userInfo.uid) {
|
|
|
+ obj.loding = false;
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content: '不要输入自己的用户编号'
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ let data = {
|
|
|
+ to_uid: obj.card, //编号
|
|
|
+ pass: obj.password, //交易密码
|
|
|
+ merber: obj.withdrawal //金额
|
|
|
+ };
|
|
|
+ transfer(data)
|
|
|
+ .then(e => {
|
|
|
+ // 允许按钮点击
|
|
|
+ obj.loding = false;
|
|
|
+ // 初始化提现金额
|
|
|
+ obj.withdrawal = '';
|
|
|
+ uni.showToast({
|
|
|
+ title: '提交成功',
|
|
|
+ duration: 2000,
|
|
|
+ position: 'top'
|
|
|
+ });
|
|
|
+ obj.dataUp();
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ obj.$api.msg(e.msg);
|
|
|
+ obj.loding = false;
|
|
|
+ console.log();
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped>
|
|
|
- .integralTransforms {
|
|
|
+<style lang="scss">
|
|
|
+page {
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+.content-money {
|
|
|
+ padding: 30rpx 0;
|
|
|
+ background: #ffffff;
|
|
|
+}
|
|
|
|
|
|
- .header,
|
|
|
- .account,
|
|
|
- .num {
|
|
|
- background-color: #fff;
|
|
|
- margin: 20rpx 0;
|
|
|
- padding: 30rpx;
|
|
|
+.item {
|
|
|
+ padding: 20rpx $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;
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- input {
|
|
|
- margin-top: 10rpx;
|
|
|
- }
|
|
|
+.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;
|
|
|
+ }
|
|
|
|
|
|
- .title {
|
|
|
- font-size: 30rpx;
|
|
|
- color: #333333;
|
|
|
- font-family: PingFang-SC-Regular;
|
|
|
+ .buttom {
|
|
|
+ color: $base-color;
|
|
|
+ font-size: $font-base;
|
|
|
+ }
|
|
|
+}
|
|
|
+.add-btn {
|
|
|
+ background: $base-color;
|
|
|
+ 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;
|
|
|
+ color: #fff;
|
|
|
+ // box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
|
|
|
+}
|
|
|
+.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;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .header {
|
|
|
- text-align: center;
|
|
|
-
|
|
|
- text:nth-child(1) {
|
|
|
- font-size: 45rpx;
|
|
|
- }
|
|
|
-
|
|
|
- text:nth-child(3) {
|
|
|
- font-size: 30rpx;
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
+ .iconweixin1 {
|
|
|
+ color: #18bf16;
|
|
|
}
|
|
|
-
|
|
|
- .num {
|
|
|
- .ti {
|
|
|
- float: left;
|
|
|
- }
|
|
|
+ .iconzhifubao {
|
|
|
+ color: #08aaec;
|
|
|
}
|
|
|
-
|
|
|
- .button {
|
|
|
- width: 520rpx;
|
|
|
- margin: 60rpx auto;
|
|
|
- padding: 20rpx;
|
|
|
- text-align: center;
|
|
|
- border-radius: 10rpx;
|
|
|
- background: #FF4C4C;
|
|
|
- color: #fff;
|
|
|
+ .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;
|
|
|
+}
|
|
|
</style>
|