426 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			426 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Vue
		
	
	
	
| <template>
 | |
| 	<view class="cash-form">
 | |
| 		<form @submit="formSubmit" @reset="formReset">
 | |
| 			<view class="bg-white cash-box f28">
 | |
| 				<picker :range="bankList" disabled :value="bank_index" @change="bindPickerChange" range-key="cardNumber">
 | |
| 					<view class="d-s-c border-b">
 | |
| 						<text class="key-name">
 | |
| 							<text class="domation mr10">*</text>
 | |
| 							{{ $t('MY_WAL_24') }}
 | |
| 						</text>
 | |
| 						<view class="input-box flex-1 d-b-c">
 | |
| 							<input
 | |
| 								class="ml20 f32 flex-1 cash-input"
 | |
| 								type="text"
 | |
| 								placeholder-class="grary9"
 | |
| 								placeholder=""
 | |
| 								:value="bank_index == -1 ? $t('CK_KS_38') : bankList[bank_index].cardNumber"
 | |
| 								disabled="true"
 | |
| 							/>
 | |
| 							<!-- <view class="icon iconfont fb icon-icon1"></view> -->
 | |
| 						</view>
 | |
| 					</view>
 | |
| 				</picker>
 | |
| 				<view class="d-s-c border-b">
 | |
| 					<text class="key-name">
 | |
| 						<text class="domation mr10">*</text>
 | |
| 						{{ $t('MY_WAL_26') }}({{ currencyIcon() }})
 | |
| 					</text>
 | |
| 					<input
 | |
| 						@input="upDatainfo"
 | |
| 						class="ml20 f32 flex-1 cash-input"
 | |
| 						name="name"
 | |
| 						type="digit"
 | |
| 						v-model="form.cashAmount"
 | |
| 						placeholder-class="grary9"
 | |
| 						:placeholder="$t('S_C_70')"
 | |
| 					/>
 | |
| 				</view>
 | |
| 				<view class="d-s-c border-b">
 | |
| 					<text class="key-name">
 | |
| 						<text class="domation mr10">*</text>
 | |
| 						{{ $t('MY_WAL_21') }}
 | |
| 					</text>
 | |
| 					<view class="input-box flex-1 d-b-c">
 | |
| 						<input
 | |
| 							class="ml20 f32 flex-1 cash-input"
 | |
| 							name="phone"
 | |
| 							type="text"
 | |
| 							:password="openPassword"
 | |
| 							v-model="form.payPwd"
 | |
| 							placeholder-class="grary9"
 | |
| 							:placeholder="$t('S_C_70')"
 | |
| 						/>
 | |
| 						<image @click="showSubmit" v-if="!openPassword" class="eyes-icon" src="/static/icon/eyes-open.png" mode=""></image>
 | |
| 						<image @click="hideSubmit" v-else class="eyes-icon" src="/static/icon/eyes-close.png" mode=""></image>
 | |
| 					</view>
 | |
| 				</view>
 | |
| 				<view class="d-s-s border-b">
 | |
| 					<text class="key-name">
 | |
| 						<text class="white mr10">*</text>
 | |
| 						{{ $t('MY_WAL_22') }}
 | |
| 					</text>
 | |
| 					<textarea
 | |
| 						class="ml20 flex-1 f32  lh150 addtextarea"
 | |
| 						name="detail"
 | |
| 						placeholder-class="grary9"
 | |
| 						:auto-height="true"
 | |
| 						v-model="form.remarks"
 | |
| 						:placeholder="$t('S_C_70')"
 | |
| 					></textarea>
 | |
| 				</view>
 | |
| 				<view class="mb20">
 | |
| 					<view class="d-s-c border-b" @click="storeShow= true">
 | |
| 						<text class="key-name">
 | |
| 							<text class="domation mr10">*</text>
 | |
| 							{{ $t('MY_WAL_28') }}
 | |
| 						</text>
 | |
| 						<view class="input-box flex-1 d-b-c">
 | |
| 							<view class="ml20 f32 flex-1 cash-input">{{ account_index == '' ? $t('CK_KS_38') : account_index }}</view>
 | |
| 							<!-- <input
 | |
| 								class="ml20 f32 flex-1 cash-input"
 | |
| 								type="text"
 | |
| 								placeholder-class="grary9"
 | |
| 								placeholder=""
 | |
| 								:value="account_index == -1 ? $t('CK_KS_38') : accountList[account_index].pkAccountVal"
 | |
| 								disabled="true"
 | |
| 							/> -->
 | |
| 							<view class="icon iconfont fb icon-icon1"></view>
 | |
| 						</view>
 | |
| 					</view>
 | |
| 					<u-picker
 | |
| 						:cancelText="$t('MN_F_31')"
 | |
| 						:confirmText="$t('MN_F_32')"
 | |
| 						@cancel="storeShow = false"
 | |
| 						:show="storeShow"
 | |
| 						ref="accountList"
 | |
| 						:columns="[accountList]"
 | |
| 						@confirm="accountPickerChange"
 | |
| 						keyName="pkAccountVal"
 | |
| 					></u-picker>
 | |
| 					<!-- <picker :range="accountList" :value="account_index" @change="accountPickerChange" range-key="pkAccountVal">
 | |
| 						<view class="d-s-c border-b">
 | |
| 							<text class="key-name">
 | |
| 								<text class="domation mr10">*</text>
 | |
| 								{{ $t('MY_WAL_28') }}
 | |
| 							</text>
 | |
| 							<view class="input-box flex-1 d-b-c">
 | |
| 								<input
 | |
| 									class="ml20 f32 flex-1 cash-input"
 | |
| 									type="text"
 | |
| 									placeholder-class="grary9"
 | |
| 									placeholder=""
 | |
| 									:value="account_index == -1 ? $t('CK_KS_38') : accountList[account_index].pkAccountVal"
 | |
| 									disabled="true"
 | |
| 								/>
 | |
| 								<view class="icon iconfont fb icon-icon1"></view>
 | |
| 							</view>
 | |
| 						</view>
 | |
| 					</picker> -->
 | |
| 				</view>
 | |
| 				<view class="f24 gray3 account-box">
 | |
| 					<!-- 可提现金额 -->
 | |
| 					<view class="d-b-c">
 | |
| 						<view>{{ $t('MY_WAL_13') }}({{ currencyIcon() }}):</view>
 | |
| 						<view>{{ formatNum(cashAccount.amount) || 0.0 }}</view>
 | |
| 					</view>
 | |
| 					<!-- 账户余额 -->
 | |
| 					<view class="d-b-c">
 | |
| 						<view>{{ $t('MY_WAL_29') }}({{ currencyIcon() }}):</view>
 | |
| 						<view>{{ formatNum(cashAccount.balance) || 0.0 }}</view>
 | |
| 					</view>
 | |
| 					<!-- 提现手续费 -->
 | |
| 					<!-- <view class="d-b-c">
 | |
| 						<view>{{ $t('MY_WAL_30') }}:</view>
 | |
| 						<view>{{ formatNum(cashAccount.srviceCharge) || 0.0 }}</view>
 | |
| 					</view> -->
 | |
| 					<!-- 最低提现额度 -->
 | |
| 					<view class="d-b-c">
 | |
| 						<view>{{ $t('MY_WAL_31') }}({{ currencyIcon() }}):</view>
 | |
| 						<view>{{ formatNum(cashAccount.minAmount) || 0.0 }}</view>
 | |
| 					</view>
 | |
| 					<!-- 最高提现额度 -->
 | |
| 					<!-- <view class="d-b-c">
 | |
| 						<view>{{$t('MN_F_T_90')}}({{ currencyIcon() }}):</view>
 | |
| 						<view>{{ cashAccount.maxAmount || 0.0 }}</view>
 | |
| 					</view> -->
 | |
| 				</view>
 | |
| 			</view>
 | |
| 			<view class="addBtn d-c">
 | |
| 				<button form-type="submit" style="margin-bottom:20rpx" class="f32 normal-sub-btn">{{ $t('ENU_TRADE_T_200') }}</button>
 | |
| 				<view class="f26 tc gray6" @click="gotoPage('/pages/user/my-wallet/cash-detail')">{{ $t('MN_F_T_90') }}</view>
 | |
| 			</view>
 | |
| 		</form>
 | |
| 		<!-- <template v-if="showPop">
 | |
| 			<view class="pop-bg"></view>
 | |
| 			<view class="pop-success" v-if="showPop">
 | |
| 				<view class="d-c d-b-c hh100">
 | |
| 					<view class="d-e-c ww100"><u-icon name="close" size="34rpx" color="#999"></u-icon></view>
 | |
| 					<view><u-icon size="77rpx" name="/static/icon/success.png"></u-icon></view>
 | |
| 					<view class="f30 gray3 fb">提现成功</view>
 | |
| 					<view class="f28 gray3">请等待审核结果</view>
 | |
| 					<button class="pop-btn">{{$t('w_0035')}}</button>
 | |
| 				</view>
 | |
| 			</view>
 | |
| 		</template> -->
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| export default {
 | |
| 	data() {
 | |
| 		return {
 | |
| 			form: {
 | |
| 				pkBank: '',
 | |
| 				cashAmount: '',
 | |
| 				remarks: '',
 | |
| 				payPwd: '',
 | |
| 				pkAccount: ''
 | |
| 			},
 | |
| 			showPop: false,
 | |
| 			bank_index: -1,
 | |
| 			account_index: '',
 | |
| 			accountList: [],
 | |
| 			bankList: [],
 | |
| 			openPassword: true,
 | |
| 			cashAccount: {
 | |
| 				amount: '',
 | |
| 				balance: '',
 | |
| 				minAmount: '',
 | |
| 				maxAmount: '',
 | |
| 				srviceCharge: ''
 | |
| 			},
 | |
| 			storeShow:false
 | |
| 		};
 | |
| 	},
 | |
| 	onLoad: function(options) {
 | |
| 		this.getBankData();
 | |
| 		this.getAccountData();
 | |
| 	},
 | |
| 	methods: {
 | |
| 		/*提交*/
 | |
| 		formSubmit: function(e) {
 | |
| 			let self = this;
 | |
| 			var formdata = self.form;
 | |
| 			formdata.pkBank = self.bankList[0].pkId;
 | |
| 			if (formdata.pkBank == '') {
 | |
| 				uni.showToast({
 | |
| 					title: self.$t('w_0302'),
 | |
| 					duration: 1000,
 | |
| 					icon: 'none'
 | |
| 				});
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (formdata.cashAmount == '') {
 | |
| 				uni.showToast({
 | |
| 					title: self.$t('S_C_70') + self.$t('MY_WAL_26'),
 | |
| 					duration: 1000,
 | |
| 					icon: 'none'
 | |
| 				});
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (formdata.payPwd == '') {
 | |
| 				uni.showToast({
 | |
| 					title: self.$t('PER_DA_50'),
 | |
| 					duration: 1000,
 | |
| 					icon: 'none'
 | |
| 				});
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (formdata.remarks == '') {
 | |
| 				uni.showToast({
 | |
| 					title: self.$t('w_0072'),
 | |
| 					duration: 1000,
 | |
| 					icon: 'none'
 | |
| 				});
 | |
| 				return false;
 | |
| 			}
 | |
| 			if (formdata.pkAccount == '') {
 | |
| 				uni.showToast({
 | |
| 					title: self.$t('CK_KS_38') + self.$t('MY_WAL_28'),
 | |
| 					duration: 1000,
 | |
| 					icon: 'none'
 | |
| 				});
 | |
| 				return false;
 | |
| 			}
 | |
| 			self._post('member/api/withdraw/add', formdata, function(res) {
 | |
| 				self.showSuccess(res.msg, function() {
 | |
| 					// #ifndef H5
 | |
| 					uni.navigateBack({
 | |
| 						delta: parseInt(self.delta)
 | |
| 					});
 | |
| 					// #endif
 | |
| 					// #ifdef H5
 | |
| 					history.go(-self.delta);
 | |
| 					// #endif
 | |
| 				});
 | |
| 			});
 | |
| 		},
 | |
| 		showSubmit(e) {
 | |
| 			this.openPassword = true;
 | |
| 		},
 | |
| 		hideSubmit(e) {
 | |
| 			this.openPassword = false;
 | |
| 		},
 | |
| 		bindPickerChange: function(e) {
 | |
| 			this.bank_index = e.detail.value;
 | |
| 			// console.log(this.bank_index);
 | |
| 			this.account_info = this.accountList[this.bank_index];
 | |
| 			this.form.pkBank = this.account_info.pkId;
 | |
| 		},
 | |
| 		upDatainfo() {
 | |
| 			if (!this.form.pkAccount) {
 | |
| 				return;
 | |
| 			}
 | |
| 			this.getBalanceData();
 | |
| 		},
 | |
| 		accountPickerChange: function(e) {
 | |
| 			this.account_index = e.value[0].pkAccountVal;
 | |
| 			this.account_info = e.value[0];
 | |
| 			this.form.pkAccount = this.account_info.pkAccountId;
 | |
| 			// console.log(this.bank_index);
 | |
| 			// console.log(this.form.pkAccountId);
 | |
| 			this.getBalanceData();
 | |
| 		},
 | |
| 		/*余额信息*/
 | |
| 		getBalanceData() {
 | |
| 			let self = this;
 | |
| 			self.loadding = true;
 | |
| 			self._get(
 | |
| 				'member/api/withdraw/show/add',
 | |
| 				{
 | |
| 					pkAccount: self.form.pkAccount,
 | |
| 					cashAmount: self.form.cashAmount
 | |
| 				},
 | |
| 				function(res) {
 | |
| 					if (res.code == 200) {
 | |
| 						self.cashAccount = res.data;
 | |
| 					}
 | |
| 					self.storeShow = false;
 | |
| 					self.loadding = false;
 | |
| 					uni.hideLoading();
 | |
| 				}
 | |
| 			);
 | |
| 		},
 | |
| 		/*获取银行卡号*/
 | |
| 		getBankData() {
 | |
| 			let self = this;
 | |
| 			self.loadding = true;
 | |
| 			self._get('member/api/bank/list', {}, function(res) {
 | |
| 				self.bankList = res.data;
 | |
| 				if (self.bankList.length <= 0) {
 | |
| 					self.gotoPage('/pages/user/card/list', 'redirect');
 | |
| 					return;
 | |
| 				}
 | |
| 				self.bank_index = 0;
 | |
| 				self.loadding = false;
 | |
| 				uni.hideLoading();
 | |
| 			});
 | |
| 		},
 | |
| 		getAccountData() {
 | |
| 			let self = this;
 | |
| 			if (self.loading) {
 | |
| 				return;
 | |
| 			}
 | |
| 			self.loading = true;
 | |
| 			self._get(
 | |
| 				'member/api/wallet/balance',
 | |
| 				{},
 | |
| 				function(res) {
 | |
| 					let list = [];
 | |
| 					if (res.data.memberWalletBalanceVOList.length > 0) {
 | |
| 						res.data.memberWalletBalanceVOList.forEach(item => {
 | |
| 							if (item.isWithdrawal == 0) {
 | |
| 								list.push(item);
 | |
| 							}
 | |
| 						});
 | |
| 					}
 | |
| 
 | |
| 					self.accountList = list;
 | |
| 
 | |
| 					// self.codeimg = res.img;
 | |
| 				},
 | |
| 				{},
 | |
| 				() => {
 | |
| 					self.loading = false;
 | |
| 				}
 | |
| 			);
 | |
| 		}
 | |
| 	}
 | |
| };
 | |
| </script>
 | |
| 
 | |
| <style lang="scss">
 | |
| .cash-form {
 | |
| 	padding: 0;
 | |
| 	border-radius: 0;
 | |
| }
 | |
| 
 | |
| .cash-box {
 | |
| 	padding: 0 31rpx 43rpx 27rpx;
 | |
| }
 | |
| 
 | |
| .cash-form .key-name {
 | |
| 	width: 220rpx;
 | |
| 	min-height: 116rpx;
 | |
| 	line-height: 1.5;
 | |
| 	font-size: 28rpx;
 | |
| 	display: flex;
 | |
| 	justify-content: flex-start;
 | |
| 	align-items: center;
 | |
| }
 | |
| 
 | |
| .cash-form .btn-red {
 | |
| 	height: 88rpx;
 | |
| 	line-height: 88rpx;
 | |
| 	border-radius: 44rpx;
 | |
| 	box-shadow: 0 8rpx 16rpx 0 rgba(226, 35, 26, 0.6);
 | |
| }
 | |
| 
 | |
| .addBtn {
 | |
| 	// position: fixed;
 | |
| 	// bottom: 60rpx;
 | |
| 	// left: 0rpx;
 | |
| 	// margin: 0 auto;
 | |
| 	margin-top: 40rpx;
 | |
| 	width: 750rpx;
 | |
| 	display: flex;
 | |
| 	justify-content: center;
 | |
| 	align-items: center;
 | |
| }
 | |
| 
 | |
| .cash-input {
 | |
| 	line-height: 116rpx;
 | |
| 	height: 116rpx;
 | |
| 	box-sizing: border-box;
 | |
| 	font-size: 28rpx;
 | |
| }
 | |
| 
 | |
| .addtextarea {
 | |
| 	font-size: 28rpx;
 | |
| 	line-height: 1.5;
 | |
| 	padding: 25rpx 0;
 | |
| }
 | |
| 
 | |
| .icon.icon-icon1 {
 | |
| 	font-size: 28rpx;
 | |
| 	color: #999;
 | |
| }
 | |
| 
 | |
| .eyes-icon {
 | |
| 	width: 38rpx;
 | |
| 	height: 38rpx;
 | |
| 	margin-left: 20rpx;
 | |
| }
 | |
| 
 | |
| .account-box {
 | |
| 	width: 705rpx;
 | |
| 	// height: 264px;
 | |
| 	background: #f5f5f5;
 | |
| 	border-radius: 20rpx;
 | |
| 	padding: 38rpx 20rpx;
 | |
| 	line-height: 2;
 | |
| 	box-sizing: border-box;
 | |
| }
 | |
| </style>
 |