377 lines
8.7 KiB
Vue
377 lines
8.7 KiB
Vue
<template>
|
||
<view class="recharge">
|
||
<u-navbar @rightClick="handlerRight" leftIconColor="#fff" bgColor="#3c96f3" :autoBack="true" title="充值" :placeholder="true" :titleStyle="titleStyle">
|
||
<view slot="right" class="button">
|
||
充值记录
|
||
</view>
|
||
</u-navbar>
|
||
<!-- 头部 -->
|
||
<view class="recharge-box recharge-card">
|
||
<view class="card-title">请直接转账到以下对公账户</view>
|
||
<view class="card-list" v-if="Accounts.length>0">
|
||
<view class="card-list-item">
|
||
<image class="card-list-left-img" src="@/static/indexIMG/recharge-icon3.png" mode="" />
|
||
<view class="card-list-text">{{Accounts[0].dictLabel}}:{{Accounts[0].dictValue}}</view>
|
||
<image class="card-list-left-img" src="@/static/indexIMG/copyImg.png"
|
||
@click="copyCode(Accounts[0].dictValue)" />
|
||
</view>
|
||
|
||
<view class="card-list-item">
|
||
<image class="card-list-left-img" src="@/static/indexIMG/recharge-icon1.png" mode="" />
|
||
<view class="card-list-text">{{Accounts[1].dictLabel}}:{{Accounts[1].dictValue}}</view>
|
||
<image class="card-list-left-img" src="@/static/indexIMG/copyImg.png"
|
||
@click="copyCode(Accounts[1].dictValue)" />
|
||
</view>
|
||
|
||
<view class="card-list-item">
|
||
<image class="card-list-left-img" src="@/static/indexIMG/recharge-icon2.png" mode="" />
|
||
<view class="card-list-text">{{Accounts[2].dictLabel}}:{{Accounts[2].dictValue}}</view>
|
||
<image class="card-list-left-img" src="@/static/indexIMG/copyImg.png"
|
||
@click="copyCode(Accounts[2].dictValue)" />
|
||
</view>
|
||
</view>
|
||
<u-empty
|
||
:show="!Accounts.length"
|
||
:icon="emptyIcon"
|
||
text="未设置收款信息"
|
||
>
|
||
</u-empty>
|
||
<u-gap height="20rpx"></u-gap>
|
||
</view>
|
||
<!-- 上传 -->
|
||
<view class="recharge-box recharge-upload">
|
||
<view class="upload-title">
|
||
<input placeholder="请输入充值金额" type="number" v-model="money">
|
||
<view class="upload-btn" @tap="uploadImage">上传凭证</view>
|
||
</view>
|
||
<view class="upload-box-img">
|
||
<image v-if="uploadIMG" class="upload-img" :src="uploadIMG" mode="aspectFit" />
|
||
<image v-else class="upload-bg-img" :src="uploadBgIMG" mode="aspectFit" @tap="uploadImage" />
|
||
</view>
|
||
|
||
</view>
|
||
<!-- 提交按钮 -->
|
||
<button class="btn" @tap="recharGe" :loading="confirmLoading">确认充值</button>
|
||
<!--页面加载动画-->
|
||
<!-- <rfLoading isFullScreen :loading="loading"></rfLoading> -->
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
upload,
|
||
rechargeMoney,
|
||
getBlBankAccount
|
||
} from "@/api/system/user.js"
|
||
import { toast } from '@/utils/common.js'
|
||
export default {
|
||
data() {
|
||
return {
|
||
assetType:5,
|
||
Accounts: [],
|
||
loading: false,
|
||
confirmLoading: false,
|
||
money: "",
|
||
emptyIcon: require('@/static/empty.png'),
|
||
uploadBgIMG: require('@/static/indexIMG/upload.png'),
|
||
uploadIMG: "",
|
||
cardList: [{
|
||
leftIcon: require('@/static/indexIMG/recharge-icon1.png'),
|
||
rightIcon: require('@/static/indexIMG/copyImg.png'),
|
||
title: "公司账号",
|
||
content: "110946777910101",
|
||
},
|
||
{
|
||
leftIcon: require('@/static/indexIMG/recharge-icon2.png'),
|
||
rightIcon: require('@/static/indexIMG/copyImg.png'),
|
||
title: "开户银行",
|
||
content: "招商银行北京分行十里河支行",
|
||
},
|
||
{
|
||
leftIcon: require('@/static/indexIMG/recharge-icon3.png'),
|
||
rightIcon: require('@/static/indexIMG/copyImg.png'),
|
||
title: "公司名称",
|
||
content: "中亿华商有限公司",
|
||
},
|
||
|
||
],
|
||
titleStyle: {
|
||
fontWeight: '700',
|
||
color: '#fff'
|
||
}
|
||
}
|
||
},
|
||
onLoad(options) {
|
||
if(options && options.assetType){
|
||
this.assetType = options.assetType
|
||
}
|
||
this.getTopUpAccount()
|
||
},
|
||
|
||
// 下拉刷新
|
||
onPullDownRefresh() {
|
||
this.$store.dispatch('fetchAsset', {
|
||
that: this
|
||
})
|
||
setTimeout(() => {
|
||
// uni.stopPullDownRefresh();
|
||
}, 500)
|
||
},
|
||
// #ifndef MP
|
||
onNavigationBarButtonTap(e) {
|
||
console.log(e, 'eee')
|
||
},
|
||
// #endif
|
||
methods: {
|
||
handlerRight () {
|
||
uni.navigateTo({
|
||
url: '/pages/licai/mine/recharge/recored?assetType='+this.assetType
|
||
})
|
||
},
|
||
// 获取收款信息
|
||
async getTopUpAccount() {
|
||
const res = await getBlBankAccount()
|
||
if (res.code == 200) this.Accounts = res.data
|
||
},
|
||
// 充值
|
||
async recharGe() {
|
||
|
||
const _this = this;
|
||
if (!_this.money) {
|
||
return toast('请填写充值金额');
|
||
}
|
||
if (!_this.uploadIMG) {
|
||
return toast('请上传充值凭证');
|
||
}
|
||
this.confirmLoading = true
|
||
await rechargeMoney({
|
||
price: _this.money,
|
||
credentials: _this.uploadIMG,
|
||
assetType:this.assetType
|
||
})
|
||
.then(r => {
|
||
console.log(r, "rr");
|
||
toast('充值申请已提交');
|
||
this.confirmLoading = false
|
||
_this.money = ''
|
||
_this.uploadIMG = ''
|
||
setTimeout(() => {
|
||
uni.navigateBack()
|
||
}, 1000)
|
||
});
|
||
},
|
||
// 上传头像
|
||
uploadImage() {
|
||
|
||
// 从相册选择图片
|
||
const _this = this;
|
||
uni.chooseImage({
|
||
count: 1,
|
||
sizeType: ['original'],
|
||
sourceType: ['album'],
|
||
success: function(res) {
|
||
uni.showLoading({title:"上传中"})
|
||
_this.handleUploadFile(res.tempFilePaths);
|
||
},
|
||
fail:function() {
|
||
uni.hideLoading()
|
||
}
|
||
});
|
||
},
|
||
// 上传凭证
|
||
async handleUploadFile(data) {
|
||
const _this = this;
|
||
const filePath = data.path || data[0];
|
||
let res = await upload(filePath)
|
||
console.log(res)
|
||
_this.uploadIMG = res.msg
|
||
// _this.profileInfo.head_portrait = r.url;
|
||
// _this.handleUpdateInfo(_this.profileInfo);
|
||
uni.hideLoading()
|
||
|
||
},
|
||
// 复制邀请码
|
||
copyCode(data1) {
|
||
// #ifdef H5
|
||
let tempInput = document.createElement("input");
|
||
tempInput.type = "text";
|
||
tempInput.id = "copyTempInput";
|
||
tempInput.value = data1;
|
||
tempInput.style.width = "1px";
|
||
tempInput.style.height = "1px";
|
||
tempInput.style.opacity = 0.1;
|
||
document.body.appendChild(tempInput);
|
||
tempInput.select();
|
||
document.execCommand("Copy");
|
||
uni.showToast({
|
||
title: "复制成功",
|
||
});
|
||
setTimeout(() => {
|
||
tempInput.remove();
|
||
}, 2000);
|
||
// #endif
|
||
/**
|
||
* 小程序端 和 app端的复制逻辑
|
||
*/
|
||
//#ifndef H5
|
||
let content = data1
|
||
|
||
uni.setClipboardData({
|
||
data: data1,
|
||
success: function() {
|
||
uni.showToast({
|
||
title: "复制成功",
|
||
});
|
||
},
|
||
fail: function(err) {
|
||
console.log(err, 'err')
|
||
}
|
||
});
|
||
//#endif
|
||
},
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.recharge {
|
||
height: calc(100vh - 40px);
|
||
padding: 22upx;
|
||
background-color: #F0F0F1;
|
||
|
||
.recharge-box {
|
||
background: #FFFFFF;
|
||
box-shadow: 0upx 3upx 15upx 1upx rgba(201, 208, 220, 0.3);
|
||
border-radius: 20upx 20upx 20upx 20upx;
|
||
}
|
||
|
||
// 头部卡片
|
||
.recharge-card {
|
||
.card-title {
|
||
width: 100%;
|
||
text-align: center;
|
||
font-size: 38upx;
|
||
font-weight: 700;
|
||
color: #333333;
|
||
padding: 22upx 0;
|
||
border-bottom: 1upx solid #F0F0F1;
|
||
;
|
||
}
|
||
|
||
.card-list {
|
||
padding: 20upx 24upx;
|
||
|
||
.card-list-item {
|
||
padding-bottom: 18upx;
|
||
|
||
&:last-child {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.card-list-left-img {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
.card-list-text {
|
||
flex: 1;
|
||
padding-left: 12upx;
|
||
font-size: 30upx;
|
||
font-weight: 400;
|
||
color: #333333;
|
||
}
|
||
|
||
.card-list-right-img {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
// 上传
|
||
.recharge-upload {
|
||
margin-top: 20upx;
|
||
text-align: center;
|
||
padding-bottom: 20upx;
|
||
|
||
.upload-title {
|
||
position: relative;
|
||
text-align: left;
|
||
padding: 20upx;
|
||
|
||
input {
|
||
background: #F2F4F8;
|
||
border-radius: 50upx 50upx 50upx 50upx;
|
||
font-size: 32upx;
|
||
height: 90upx;
|
||
padding-right: 200upx;
|
||
padding-left: 35upx;
|
||
font-family: PingFang SC-Regular, PingFang SC;
|
||
font-weight: 400;
|
||
color: #333333;
|
||
}
|
||
|
||
.upload-btn {
|
||
z-index: 99;
|
||
position: absolute;
|
||
right: 35upx;
|
||
top: 50%;
|
||
transform: translateY(-50%);
|
||
border-radius: 90upx 90upx 90upx 90upx;
|
||
border: 1upx solid #0076FF;
|
||
font-size: 32upx;
|
||
padding: 8upx 25upx;
|
||
font-family: PingFang SC-Regular, PingFang SC;
|
||
font-weight: 400;
|
||
color: #0076FF;
|
||
}
|
||
}
|
||
|
||
.upload-box-img {
|
||
margin: 0 20upx;
|
||
background: #F8F9FB;
|
||
border-radius: 20upx 20upx 20upx 20upx;
|
||
// padding: 220upx 0;
|
||
}
|
||
|
||
.upload-img {
|
||
width: 100%;
|
||
height: 380px;
|
||
}
|
||
|
||
.upload-bg-img {
|
||
width: 100px;
|
||
height: 68px;
|
||
margin: 245upx 0;
|
||
}
|
||
}
|
||
|
||
// 充值按钮
|
||
.btn {
|
||
margin-top: 20upx;
|
||
background: #0076FF;
|
||
border-radius: 40upx;
|
||
font-size: 32upx;
|
||
text-align: center;
|
||
font-family: PingFang SC-Bold, PingFang SC;
|
||
font-weight: 500;
|
||
color: #FFFFFF;
|
||
|
||
.uni-button:after {
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
}
|
||
.button {
|
||
color: #FFFFFF;
|
||
}
|
||
</style>
|