代码推送
This commit is contained in:
321
yq/src/views/Withdrawal/index.js
Normal file
321
yq/src/views/Withdrawal/index.js
Normal file
@@ -0,0 +1,321 @@
|
||||
import { Apply ,getEmailCode} from "../../api/pay"
|
||||
import { GetUserAccount } from "../../api/help"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
params: {
|
||||
coin: 'USDT',
|
||||
chain: '',
|
||||
amount: '',
|
||||
address: "",
|
||||
emailCode: "",
|
||||
},
|
||||
value: "",
|
||||
options: [{
|
||||
value: '10',
|
||||
label: '10'
|
||||
}, {
|
||||
value: '20',
|
||||
label: '20'
|
||||
}, {
|
||||
value: '50',
|
||||
label: '50'
|
||||
}, {
|
||||
value: '100',
|
||||
label: '100'
|
||||
}, {
|
||||
value: '200',
|
||||
label: '200'
|
||||
}, {
|
||||
value: '500',
|
||||
label: '500'
|
||||
}, {
|
||||
value: '1000',
|
||||
label: '1000'
|
||||
}],
|
||||
coinOptions: [{
|
||||
value: 'USDT',
|
||||
label: 'USDT'
|
||||
}, {
|
||||
value: 'USDC',
|
||||
label: 'USDC'
|
||||
}, {
|
||||
value: 'BUSD',
|
||||
label: 'BUSD'
|
||||
}],
|
||||
chainOptions: [{
|
||||
value: 'TRX',
|
||||
label: 'TRX-TRC20',
|
||||
disabled: false
|
||||
}, {
|
||||
value: 'ETH',
|
||||
label: 'ETH-ERC20',
|
||||
disabled: false
|
||||
}, {
|
||||
value: 'BSC',
|
||||
label: 'BSC-BEP20',
|
||||
disabled: true
|
||||
}],
|
||||
outerVisible: false,
|
||||
innerVisible: false,
|
||||
transactionData: {
|
||||
orderId: "",
|
||||
address: ""
|
||||
},
|
||||
WithdrawalLoading: false,
|
||||
ConfirmationLoading: false,
|
||||
CloseTransferLoading: false,
|
||||
ProblemLoading: false,
|
||||
dialogVisibleSuccess: false,
|
||||
codeBtn: {
|
||||
btnStatus: false,
|
||||
btnText: "login.getCode",
|
||||
btnType: "primary",
|
||||
},
|
||||
balances: {
|
||||
total: "",
|
||||
usdc: "",
|
||||
usdt: "",
|
||||
userId: "",
|
||||
userName: ""
|
||||
|
||||
},
|
||||
outTimer: "",
|
||||
codeTimer: null,
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.fetchUserAccount()//请求当前余额
|
||||
|
||||
},
|
||||
methods: {
|
||||
//请求邮箱验证码
|
||||
async fetchCode(params) {
|
||||
|
||||
const { data } = await getEmailCode(params)
|
||||
|
||||
if (data.code === 200) {//提现成功
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message:this.$t(`pay.mailbox`),
|
||||
duration: 3000,
|
||||
showClose: true,
|
||||
});
|
||||
|
||||
|
||||
} else {
|
||||
//获取验证码失败清除按钮倒计时
|
||||
clearTimeout(this.outTimer);
|
||||
clearInterval(this.codeTimer);
|
||||
//取消按钮禁用
|
||||
this.codeBtn.btnStatus = false;
|
||||
//按钮文字改成获取验证码
|
||||
this.codeBtn.btnText = "login.getCode";
|
||||
}
|
||||
|
||||
},
|
||||
//请求申请提现
|
||||
async fetchWithdrawal(params) {
|
||||
this.WithdrawalLoading = true
|
||||
const { data } = await Apply(params)
|
||||
|
||||
if (data.code === 200) {//提现成功
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: data.msg,
|
||||
duration: 3000,
|
||||
showClose: true,
|
||||
});
|
||||
|
||||
this.$router.push(`/personal`)
|
||||
}
|
||||
|
||||
this.WithdrawalLoading = false
|
||||
},
|
||||
//请求当前余额
|
||||
async fetchUserAccount(params) {
|
||||
const { data } = await GetUserAccount(params)
|
||||
this.balances = data.data
|
||||
this.params.amount = this.balances.usdt
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
//点击确认提交提现
|
||||
handelWithdrawal() {
|
||||
|
||||
let pattern = /^\d+(\.\d+)?$/; //金额只能是数字正则表达
|
||||
if (!pattern.test(this.params.amount)) {
|
||||
this.$message({
|
||||
message: this.$t(`pay.rechargeAmount`),
|
||||
type: "error",
|
||||
});
|
||||
|
||||
return
|
||||
}
|
||||
if (this.params.amount <= 0) {
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentAmount`),
|
||||
type: "error",
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
for (const key in this.params) { //判空
|
||||
|
||||
|
||||
if (this.params[key] == "") {
|
||||
switch (key) {
|
||||
case "coin":
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentCurrency`),
|
||||
type: "error",
|
||||
});
|
||||
break;
|
||||
case "chain":
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentNetwork`),
|
||||
type: "error",
|
||||
});
|
||||
break;
|
||||
case "address":
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentAddress`),
|
||||
type: "error",
|
||||
});
|
||||
break;
|
||||
case "emailCode":
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentCode`),
|
||||
type: "error",
|
||||
});
|
||||
break;
|
||||
case "amount":
|
||||
this.$message({
|
||||
message: this.$t(`pay.paymentAmount`),
|
||||
type: "error",
|
||||
});
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 判断总金额是否足够
|
||||
switch (this.params.coin) {
|
||||
case "USDT":
|
||||
|
||||
|
||||
if (this.balances.usdt - this.params.amount < 0) {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message:this.$t(`pay.Insufficient`)
|
||||
});
|
||||
return
|
||||
}
|
||||
break;
|
||||
case "USDC":
|
||||
|
||||
if (this.balances.usdc - this.params.amount < 0) {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message:this.$t(`pay.Insufficient`)
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
break;
|
||||
case "BUSD":
|
||||
|
||||
if (this.balances.busd - this.params.amount < 0) {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message:this.$t(`pay.Insufficient`)
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
this.fetchWithdrawal(this.params)
|
||||
},
|
||||
//选择币种 金额随之变化
|
||||
handelCoin(value) {
|
||||
// 币种变化 金额随之变化
|
||||
// switch (this.params.coin) {
|
||||
// case "USDT":
|
||||
// this.params.amount = this.balances.usdt
|
||||
// break;
|
||||
// case "USDC":
|
||||
// this.params.amount = this.balances.usdc
|
||||
|
||||
|
||||
// break;
|
||||
// case "BUSD":
|
||||
|
||||
// this.params.amount = this.balances.busd
|
||||
|
||||
// break;
|
||||
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
},
|
||||
//获取邮箱验证
|
||||
handelCodeBtn(){
|
||||
|
||||
this.fetchCode()
|
||||
// 获取验证码后禁用按钮
|
||||
this.codeBtn.btnStatus = true;
|
||||
// 按钮倒计时
|
||||
this.outTimer = setTimeout(() => {
|
||||
this.countDown(60);
|
||||
}, 5);
|
||||
|
||||
},
|
||||
//验证码倒计时
|
||||
countDown(val) {
|
||||
//判断定时器是否存在
|
||||
if (this.codeTimer) {
|
||||
clearInterval(this.codeTimer);
|
||||
}
|
||||
//按钮文字改成发送中
|
||||
this.codeBtn.btnText = "login.sending";
|
||||
this.codeBtn.btnStatus = false;
|
||||
//setTiemOut 执行一次
|
||||
// setInterval 不断执行,需要条件才会停止
|
||||
let tim = val;
|
||||
this.codeTimer = setInterval(() => {
|
||||
tim--;
|
||||
if (tim === 0) {
|
||||
clearInterval(this.codeTimer);
|
||||
this.codeBtn.btnStatus = false;
|
||||
//按钮文字改成获取验证码
|
||||
this.codeBtn.btnText = "login.getCode";
|
||||
} else {
|
||||
this.codeBtn.btnStatus = true;
|
||||
this.codeBtn.btnText = tim;
|
||||
}
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user