Browse Source

2021-12-20

cmy 4 years ago
parent
commit
4fc66bfb10
3 changed files with 143 additions and 263 deletions
  1. 64 82
      pages/money/account.vue
  2. 79 181
      pages/user/withdrawal.vue
  3. BIN
      static/icon/i8.png

+ 64 - 82
pages/money/account.vue

@@ -46,7 +46,6 @@
 
 <script>
 	import {
-		aliInfo,
 		bankInfo,
 		setAliInfo,
 		setBankInfo,
@@ -87,9 +86,8 @@
 						state: 1,
 						text: '银行卡',
 						loadingType: 'more',
-
 						orderList: {
-							phone:'',
+							phone: '',
 							name: '',
 							code: '',
 							id: '',
@@ -104,7 +102,6 @@
 		onLoad(options) {
 			this.tabCurrentIndex = +options.state || 0;
 			// this.loadAli();
-			// this.loadBank();
 			this.onCityClick();
 		},
 		computed: {
@@ -118,35 +115,63 @@
 			},
 			//选择下拉框
 			onCityClick() {
+				uni.showLoading({
+					title: '载入中...',
+					mask: true
+				});
 				extractBank({}).then(({
 					data
 				}) => {
 					console.log(data, '22222');
 					// this.navList.orderList.name = data.extractBank
 					this.bankList = data.extractBank
+					// 列表加载完成后加载数据
+					this.loadBank();
+				}).catch((e) => {
+					uni.hideLoading()
 				})
 			},
 			//加载数据
-			loadAli(source) {
-				aliInfo({}).then(({
-					data
-				}) => {
-					let order = this.navList[0].orderList;
-					this.$set(order, 'name', data.fullname);
-					this.$set(order, 'code', data.alino);
-					this.$set(order, 'id', data.id);
-				});
-			},
+			// loadAli(source) {
+			// 	aliInfo({}).then(({
+			// 		data
+			// 	}) => {
+			// 		let order = this.navList[0].orderList;
+			// 		this.$set(order, 'name', data.fullname);
+			// 		this.$set(order, 'code', data.alino);
+			// 		this.$set(order, 'id', data.id);
+			// 	});
+			// },
 			loadBank() {
 				bankInfo({}).then(({
 					data
 				}) => {
 					console.log(data, '22222');
-					let order = this.navList[1].orderList;
-					this.$set(order, 'name', data.fullname);
-					this.$set(order, 'code', data.bankno);
-					this.$set(order, 'bankName', data.bank);
-					this.$set(order, 'id', data.id);
+					let order = this.navList[0].orderList;
+					const fullname = data.fullname.split(',')
+					const bank = data.bank.split(',')
+					let upData = {
+							phone: fullname[1],
+							name: fullname[0],
+							code: data.bankno,
+							id: data.id,
+							bank: bank[0],
+							zhiBank: bank[1]
+					}
+					console.log(fullname[0]);
+					console.log(bank[0]);
+					const inde = this.bankList.findIndex((n) => {
+						console.log(n,bank[0],'数字');
+						return  n ==bank[0]
+					})
+					console.log(inde,'sz');
+					// 设置默认银行
+					this.bankIndex = inde
+					// 更新数据
+					this.$set( this.navList[0],'orderList',upData);
+					uni.hideLoading()
+				}).catch((e) => {
+					uni.hideLoading()
 				});
 			},
 			//swiper 切换
@@ -163,18 +188,14 @@
 				let arr = obj.navList[0].orderList;
 				arr.bank = obj.bankList[obj.bankIndex]
 				this.addBank(arr);
-		
-				// prevPage.$vm.sh = 100; //修改上一页data里面的sh参数值为100
-
 				if (obj.tabCurrentIndex == 0) {
 					if (!arr.name) {
 						return this.$api.msg('请输入提款人姓名');
 					}
 					if (!obj.bankList[obj.bankIndex]) {
-						// console.log(obj.bankList[obj.bankIndex]);
 						return this.$api.msg('请输入所属银行');
 					}
-					if(!arr.phone){
+					if (!arr.phone) {
 						return this.$api.msg('请输入手机号码')
 					}
 					if (!arr.code) {
@@ -185,73 +206,34 @@
 					}
 					let data = {
 						fullname: arr.name,
-
 						bank: obj.bankList[obj.bankIndex] + '(' + arr.zhiBank + ')',
 						bankno: arr.code
 					};
-					console.log(data, '4444');
-					// #ifdef H5
-					// prevPage.$vm.bankData = data;
-					// console.log(data, '54454');
-					// #endif
-					// #ifdef MP
-					// prevPage.setData({
-					// 	bankData: data
-					// });
-					// #endif
-					// obj.setBankInfo({
-					// 	fullname: arr.name,
-					// 	bank: arr.bankName,
-					// 	bankno: arr.code,
-					// 	id:arr.id
-					// });
-					uni.navigateBack({
-						delta: 1
-					});
+					console.log(arr,'数据');
+					obj.setBankInfo({
+						fullname: arr.name+','+arr.phone,
+						bank: obj.bankList[obj.bankIndex]+','+arr.zhiBank,
+						bankno: arr.code,
+						id: arr.id
+					})
 				}
-				// if (obj.tabCurrentIndex == 0) {
-				// 	if (!arr.name) {
-				// 		return this.$api.msg('请输入提款人姓名');
-				// 	}
-				// 	if (!arr.code) {
-				// 		return this.$api.msg('请输入支付宝账号');
-				// 	}
-				// 	let data = {
-				// 		fullname: arr.name,
-				// 		alino: arr.code
-				// 	};
-				// 	// #ifdef H5
-				// 	prevPage.$vm.aliData = data;
-				// 	// #endif
-
-				// 	// #ifdef MP
-				// 	prevPage.setData({
-				// 		bankData: data
-				// 	});
-				// 	// #endif
-				// 	// obj.setAliInfo({
-				// 	// 	fullname: arr.name,
-				// 	// 	alino: arr.code,
-				// 	// 	id:arr.id
-				// 	// });
-				// 	uni.navigateBack({
-				// 		delta: 1
-				// 	});
-				// }
 			},
 			/* 保存银行卡详细 */
 			setBankInfo(obj) {
 				setBankInfo(obj)
 					.then(e => {
-						uni.showToast({
-							title: '修改成功',
-							duration: 2000,
-							position: 'top'
+						uni.showModal({
+							title: '提示',
+							content: '保存成功是否返回提现页面',
+							success: res => {
+								if(res.confirm){
+									uni.navigateBack();
+								}
+							},
+							fail: () => {},
+							complete: () => {}
 						});
 						this.$api.prePage().dataUp();
-						setTimeout(() => {
-							uni.navigateBack();
-						}, 1500);
 					})
 					.catch(e => {
 						console.log(e);
@@ -328,8 +310,8 @@
 		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
 		z-index: 10;
-	
-	.nav-item {
+
+		.nav-item {
 			flex: 1;
 			display: flex;
 			justify-content: center;

+ 79 - 181
pages/user/withdrawal.vue

@@ -1,60 +1,36 @@
 <template>
 	<view class="content">
-		<view class="tishi">
-			提示:提现税率为{{suilv}}%
+		<!-- <uni-notice-bar single="true" text="每月25号到月底可提现上月结算余额"></uni-notice-bar> -->
+		<view class="content-money">
+			<view class="flex ">
+				<view class="buttom">
+					<view class="icon">{{ money | getMoneyStyle }}</view>
+					<text class="text">可提现佣金</text>
+				</view>
+				<view class="interval"></view>
+				<view class="buttom">
+					<view class=" icon">{{ freeze | getMoneyStyle }}</view>
+					<text class="text">待审核提现佣金</text>
+				</view>
+			</view>
 		</view>
 		<view class="row-box">
-			<view class="could">
-				<text class="">
-					可提现金额
-				</text>
-				<text class="num" v-if="money*1 >= 0">
-					¥{{ money | getMoneyStyle }}
-				</text>
-				<text class="num" v-else>
-					¥{{ money*-1 | getMoneyStyle }}(冻结中)
-				</text>
-			</view>
-			<view class="jg"></view>
-			<view class="sq">
-				<text class="">
-					申请提现金额
-				</text>
-				<text class="num">
-					¥{{ withdrawal | getMoneyStyle }}
-				</text>
-			</view>
-			<view class="jg"></view>
+			<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>
-			<template v-if="withdrawal*1 > 0">
-				<!-- <view class="sq">
-					<text class="" style="font-size: 28rpx;">
-						手续费
-					</text>
-					<text class="num" style="font-size: 28rpx;">
-						¥{{ sxf | getMoneyStyle }}
-					</text>
-				</view> -->
-				<view class="sq" >
-					<text class="" style="font-size: 28rpx;">
-						实际到账
-					</text>
-					<text class="num" style="font-size: 28rpx;">
-						¥{{ sjdz | getMoneyStyle }}
-					</text>
-				</view>
-			</template>
-			
 		</view>
-		
-		<view class="list">
-			<view style="padding-top: 28rpx; font-size: 32rpx; font-weight: 600;color: #4d4d4d;">
-				提现到
+		<!-- <view class="row-box">
+			<view class="title">手续费</view>
+			<view class="row">
+				<text class="tit">¥</text>
+				<view class="placeholder">{{ withdrawal * 0.01*charge }}</view>
 			</view>
+		</view> -->
+		<!-- #ifndef MP-WEIXIN -->
+		<view class="list">
 			<radio-group @change="tabRadio">
 				<!-- <label>
 					<view class="box">
@@ -62,7 +38,7 @@
 						<view class="title-box">
 							<view class="title"><text>提现至微信</text></view>
 						</view>
-						<view class="right"><radio value="weixin" color="#ff4c4c" :checked="type == 'weixin'" /></view>
+						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
 					</view>
 				</label> -->
 				<!-- <label>
@@ -77,41 +53,36 @@
 								<text v-if="aliData.fullname">真实姓名({{ aliData.fullname }})</text>
 							</view>
 						</view>
-						<view class="right"><radio value="alipay" color="#ff4c4c" :checked="type == 'alipay'" /></view>
+						<view class="right"><radio value="alipay" color="#5dbc7c" :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="icon"><image class="icon-img" src="/static/icon/i8.png" mode="aspectFit"></image></view>
 						<view class="title-box">
 							<view class="title">
-								<text v-if="bankData.code">{{ bankData.bank +'(' + bankData.zhiBank + ')' + ' ' + bankData.code }}</text>
+								<text v-if="bankData.bankno">{{ bankData.bank + ' ' + bankData.bankno }}</text>
 								<text v-else>请创建银行账号</text>
 							</view>
 							<view class="node">
-								<text v-if="bankData.name">真实姓名({{ bankData.name +')'+' '+'('+bankData.phone }})</text>
+								<text v-if="bankData.fullname">真实姓名({{ bankData.fullname }})</text>
 							</view>
 						</view>
-						<view class="right"><radio value="bank" color="#ff4c4c" :checked="type == 'bank'" /></view>
+						<view class="right"><radio value="bank" color="#5dbc7c" :checked="type == 'bank'" /></view>
 					</view>
 				</label>
 			</radio-group>
 		</view>
-	
+		<!-- #endif -->
 		<button class="add-btn up" @click="confirm">提交申请</button>
-		<button class="add-btn up" @click="navTo('/pages/money/account')">账号管理</button>
+		<button class="add-btn modified" @click="navTo('/pages/money/account')">账号管理</button>
 	</view>
 </template>
 
 <script>
 import { getMoneyStyle } from '@/utils/rocessor.js';
-import { extractCash, extractBank, aliInfo, bankInfo, } from '@/api/wallet.js';
+import { extractCash, extractBank, bankInfo } from '@/api/wallet.js';
 import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
-import { getSpreadCount } from '@/api/user.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
 export default {
 	filters: {
 		getMoneyStyle
@@ -121,32 +92,19 @@ export default {
 	},
 	data() {
 		return {
-			// sxf: '0.00',
-			type: 'alipay', //提现方式
+			type: 'bank', //提现方式
 			money: '0.00', //可提现金额
 			freeze: '0.0', //冻结金额
 			withdrawal: '', //提现金额
 			minPrice: '', //最少提现金额
-			suilv:'',
 			aliData: {},
 			bankData: {},
+			charge:0,
 			// #ifdef H5
 			weichatBsrowser: false
 			// #endif
-			
 		};
 	},
-	computed: {
-		//提现手续费
-		sxf() {
-			return (this.withdrawal*1*this.suilv*0.01)
-		},
-		//实际到账
-		sjdz() {
-			return (this.withdrawal*1*(1-this.suilv*0.01))
-		},
-		...mapState('user',['bankInfo'])
-	},
 	onLoad(options) {
 		// #ifdef H5
 		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
@@ -155,51 +113,33 @@ export default {
 		this.loadData();
 		// 加载提款账号信息
 		// this.loadAli();
-		// this.loadBank();
-	},
-	onShow() {
-		console.log(this.bankInfo,"33333")
-		this.bankData= this.bankInfo
+		this.loadBank();
 	},
 	methods: {
-		
 		// 更新数据
-		dataUp(){
-			this.loadAli();
+		dataUp() {
+			// this.loadAli();
 			this.loadBank();
 		},
 		//加载数据
-		async loadAli(source) {
-			aliInfo({}).then(e => {
-				this.aliData = e.data;
-			});
-		},
+		// async loadAli(source) {
+		// 	aliInfo({}).then(e => {
+		// 		this.aliData = e.data;
+		// 	});
+		// },
 		// 加载银行卡信息
 		async loadBank() {
 			bankInfo({}).then(e => {
-				// this.bankData = e.data;
-				console.log(this.bankData,'银行卡信息');
-				
+				this.bankData = e.data;
 			});
 		},
 		// 加载余额信息
 		async loadData() {
-			// spreadInfo().then( ({data}) => {
-			// 	console.log(data,"spreadInfo++++++++++++++++++")
-			// 	this.money = data.brokerage_price//可提现余额
-			// 	this.minPrice = data.user_extract_min//最小提现
-			// 	this.freeze = data.lock_brokerage//冻结金额
-			// })
-			// getSpreadCount({}, 3).then(({ data }) => {
-			// 	console.log(data);
-			// 	this.money = data.count;
-			// });
 			extractBank({}).then(({ data }) => {
-				this.money = data.commissionCount;//可提现余额
-				this.suilv = data.commission//税率
-				console.log(this.money)
-				this.minPrice = data.minPrice;//最小提现
-				this.freeze =data.inmoneyCount//提现中的余额
+				this.money = data.commissionCount;
+				this.minPrice = data.minPrice;
+				this.freeze = data.incommissionCount;
+				this.charge = data.cash_out;
 			});
 		},
 		// 跳转
@@ -214,47 +154,31 @@ export default {
 		},
 		// 提交
 		confirm() {
-			console.log(this.withdrawal,this.money)
-			if(+this.withdrawal == 0) {
-				return this.$api.msg('请输入提现金额')
-			}
-			if(+this.withdrawal < +this.minPrice){
-				return this.$api.msg('提现金额不足最低提现金额')
-			}
-			if(+this.withdrawal > +this.money){
-				return this.$api.msg('可提现佣金不足')
-			}
+			let obj = this;
 			let data = {
-				extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
-				money: this.withdrawal, //金额
-				money_type: 0//0佣金1余额
+				extract_type: obj.type, //bank -银行卡 alipay-支付宝 weixin-微信
+				money: obj.withdrawal, //金额
+				money_type: 0 //0佣金1余额
+			};
+			if (+obj.withdrawal < +obj.minPrice) {
+				uni.showToast({
+					title: '提现金额不可少于' + obj.minPrice,
+					duration: 2000,
+					mask: false,
+					icon: 'none'
+				});
+				return;
 			}
-			if (this.type=='alipay') {
-				data.name = this.aliData.fullname;
-				data.alipay_code = this.aliData.alino;
-				if(!data.name){
-					return this.$api.msg('请完善账户名称')
-				}
-				if(!data.alipay_code){
-					return this.$api.msg('请完善支付宝账号')
-				}
+			if (obj.type == 'alipay') {
+				data.name = obj.aliData.fullname;
+				data.alipay_code = obj.aliData.alino;
 			}
-			if (this.type=='bank') {
-				data.name = this.bankData.name+'('+this.bankData.phone+')';
-				data.bankname = this.bankData.bank + '(' + this.bankData.zhiBank + ')';
-				data.cardnum = this.bankData.code;
-				if(!data.name) {
-					return this.$api.msg('请完善银行卡信息')
-				}
-				if(!data.bankname) {
-					return this.$api.msg('请完善银行卡信息')
-				}
-				if(!data.cardnum) {
-					return this.$api.msg('请完善银行卡信息')
-				}
+			if (obj.type == 'bank') {
+				data.name = obj.bankData.fullname;
+				data.bankname = obj.bankData.bank;
+				data.cardnum = obj.bankData.bankno;
 			}
-			
-			
+
 			extractCash(data)
 				.then(e => {
 					uni.showToast({
@@ -262,6 +186,8 @@ export default {
 						duration: 2000,
 						position: 'top'
 					});
+					// 清空提现金额
+					obj.withdrawal = '';
 				})
 				.catch(e => {
 					console.log();
@@ -284,8 +210,6 @@ page {
 	text-align: center;
 	margin: 0 30rpx;
 	border-radius: $border-radius-sm;
-	justify-content: space-between;
-	flex-direction: row;
 	.buttom {
 		font-size: $font-lg;
 		width: 50%;
@@ -309,7 +233,7 @@ page {
 }
 
 .row-box {
-	// margin-top: 30rpx;
+	margin-top: 30rpx;
 	padding: 20rpx 30rpx;
 	background: #fff;
 	.title {
@@ -338,8 +262,7 @@ page {
 		}
 
 		.buttom {
-			// color: $font-color-spec;
-			color: #f34358;
+			color: $font-color-spec;
 			font-size: $font-base;
 		}
 	}
@@ -372,16 +295,16 @@ page {
 		display: flex;
 		align-items: center;
 		width: 100%;
-		padding:0 21rpx ;
 		height: 120rpx;
+		justify-content: space-between;
 		border-bottom: 1px solid $border-color-light;
 		.icon {
-			font-size: 48rpx;
-			padding-right: 20rpx;
-			.icon-img {
-				height: 50rpx;
-				width: 50rpx;
-			}
+		line-height: 0;
+		}
+		.icon-img {
+			height: 50rpx;
+			width: 50rpx;
+			margin-right: 20rpx;
 		}
 		.iconweixin1 {
 			color: #18bf16;
@@ -392,6 +315,7 @@ page {
 		.title-box {
 			flex-grow: 1;
 			text-align: left;
+			line-height: 1;
 			.title {
 				font-size: $font-base + 2rpx;
 				color: $font-color-base;
@@ -407,30 +331,4 @@ page {
 	width: 45rpx;
 	height: 45rpx;
 }
-
-.could, .sq {
-	height: 110rpx;
-	font-size: 32rpx;
-	font-weight: 600;
-	color: #333333;
-	line-height: 110rpx;
-	display: flex;
-	justify-content: space-between;
-	.num {
-		font-size: 40rpx;
-		font-weight: bold;
-		color: #333333;
-		// line-height: 46px;
-	}
-}
-.jg {
-	width: 100%;
-	height: 1px;
-	background-color: #E6E6E6;
-}
-.tishi {
-	padding:10rpx 30rpx;
-	font-size: 28rpx;
-	color: #eb8a31;
-}
 </style>

BIN
static/icon/i8.png