You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
payment/public/account.html

318 lines
15 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- import CSS -->
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.14/theme-chalk/index.min.css">
<title>我的账户</title>
</head>
<body>
<div id="app">
<el-container>
<el-main>
<el-tabs v-model="activeName">
<el-tab-pane label="账户信息" name="user">
<el-row>
<el-col :span="24">
<el-descriptions title="用户信息">
<el-descriptions-item label="用户名">{{username}} <el-button type="primary" @click="logout" size="mini" round>退出登录</el-button></el-descriptions-item>
<el-descriptions-item label="登录密码"><el-button type="primary" @click="updatePasswordVisible = true" size="mini" round>修改</el-button></el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-descriptions title="开户信息">
<el-descriptions-item label="用户名" v-if="userInfo != null && userInfo.realname_flag==='Y'">{{userInfo.real_name}}</el-descriptions-item>
<el-descriptions-item label="用户名" v-else><el-button type="primary" @click="openAccount" size="mini" round>开户</el-button></el-descriptions-item>
<el-descriptions-item label="身份证号" v-if="userInfo != null && userInfo.realname_flag==='Y'">{{userInfo.certificate_no}}</el-descriptions-item>
<el-descriptions-item label="身份证号" v-else>--</el-descriptions-item>
<el-descriptions-item label="支付密码" v-if="userInfo != null && userInfo.set_pwd_flag==='Y'">********** <el-button type="primary" @click="resetPayPassword" size="mini" round>修改</el-button></el-descriptions-item>
<el-descriptions-item label="支付密码" v-else><el-button type="primary" @click="setPayPassword" size="mini" round>设置</el-button></el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-descriptions title="绑卡信息">
<el-descriptions-item label="开户行" v-if="bankCard != null && userInfo.bind_card_flag!=='N'">{{bankCard.bank_name}} <el-button type="primary" @click="unbindCard" size="mini" round>解绑</el-button></el-descriptions-item>
<el-descriptions-item label="开户行" v-else><el-button type="primary" @click="bindCard" size="mini" round>绑卡</el-button></el-descriptions-item>
<el-descriptions-item label="开户姓名" v-if="bankCard != null && userInfo.bind_card_flag!=='N'">{{bankCard.card_user_name}}</el-descriptions-item>
<el-descriptions-item label="开户姓名" v-else>--</el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="充值" name="recharge">
<div>
<el-form ref="payForm" :model="payForm" label-width="80px">
<el-form-item label="金额">
<el-input v-model="payForm.amount"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="transferPay">充值</el-button>
</el-form-item>
</el-form>
</div>
<div>
<h2>充值流程</h2>
<p>1. 输入金额,点击充值按钮</p>
<p>2. 按弹窗提示转账</p>
</div>
</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
<el-dialog title="转账信息" :visible.sync="payInfoVisible" width="50%">
<div>
<h3>您可通过网银或手机银行app向专属打款账户进行转账其中</h3>
<p><el-tag type="success">订单号:{{outOrderNo}}</el-tag></p>
<p><el-tag type="success">户名:宝付网络科技(上海)有限公司</el-tag></p>
<p><el-tag type="success">银行:支付机构备付金集中存管账户</p>
<p><el-tag type="success">开户城市:上海</el-tag></p>
<p><el-tag type="success">开户网点:宝付网络-备付金账户</el-tag></p>
<p><el-tag type="success">行号991290000793</el-tag></p>
<p><el-tag type="success">专属打款账户:{{acsNo}}</el-tag></p>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="payInfoVisible = false">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="修改登录密码" :visible.sync="updatePasswordVisible" width="40%">
<div>
<el-form ref="updatePasswordForm" :model="updatePasswordForm" label-width="80px">
<el-form-item label="原密码">
<el-input show-password v-model="updatePasswordForm.oldPassword"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input show-password v-model="updatePasswordForm.password"></el-input>
</el-form-item>
<el-form-item label="确认密码">
<el-input show-password v-model="updatePasswordForm.confirm_password"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="updatePasswordVisible = false">取 消</el-button>
<el-button type="primary" @click="updatePassword">确 定</el-button>
</div>
</el-dialog>
</div>
</body>
<!-- import Vue before Element -->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.9/vue.min.js"></script>
<!-- import JavaScript -->
<script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.14/index.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/1.5.0/axios.min.js"></script>
<script>
new Vue({
el: '#app',
data() {
return {
activeName: 'user',
updatePasswordVisible: false,
username: '',
payForm: {
amount: 0
},
userInfo: {
realname_flag: '',
bind_card_flag: '',
mobile: '',
real_name: '',
certificate_no: '',
user_type: '',
apply_no: '',
is_platform_account: ''
},
updatePasswordForm: {
oldPassword: '',
password: '',
confirm_password: ''
},
bankCard: {
id: 0,
bank_name: '',
card_user_name: ''
},
acsNo: '',
outOrderNo: '',
payInfoVisible: false
}
},
created() {
if (!window.sessionStorage.getItem('token')) {
window.location.href = '/login.html'
return;
} else {
this.getUserInfo();
}
},
methods: {
logout() {
window.sessionStorage.removeItem('token');
window.location.href = '/login.html';
},
getUserInfo() {
axios.post('/account/user-info', {token: window.sessionStorage.getItem('token')})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
this.$message.error(response.data.message);
window.sessionStorage.removeItem('token');
window.location.href = '/login.html';
return;
}
this.username = result.data.username;
this.userInfo = result.data.userInfo;
this.bankCard = result.data.bankCard;
console.log('result', result);
console.log('username', this.username);
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
openAccount() {
axios.post('/account/open-account', {token: window.sessionStorage.getItem('token')})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
window.open(result.data.url)
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
updatePassword() {
if (this.updatePasswordForm.confirm_password != this.updatePasswordForm.password) {
this.$message.error('密码和确认密码不一致');
return;
}
axios.post('/account/update-password', {token: window.sessionStorage.getItem('token'), oldPassword: this.updatePasswordForm.oldPassword, password: this.updatePasswordForm.password})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
this.$message.success('修改成功');
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
resetPayPassword() {
axios.post('/account/reset-pay-password', {token: window.sessionStorage.getItem('token')})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
window.open(result.data.url)
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
setPayPassword() {
axios.post('/account/set-pay-password', {token: window.sessionStorage.getItem('token')})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
window.open(result.data.url)
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
bindCard() {
axios.post('/account/bind-card', {token: window.sessionStorage.getItem('token')})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
window.open(result.data.url)
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
unbindCard() {
axios.post('/account/unbind-card', {token: window.sessionStorage.getItem('token'), id: this.bankCard.id})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
if (result.data.result) {
this.$message.success('解绑成功');
window.location.href = window.location.href;
} else {
return this.$message.error('解绑失败');
}
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
transferPay() {
axios.post('/account/transfer-pay', {token: window.sessionStorage.getItem('token'), amount: this.payForm.amount})
.then( (response) => {
console.log(response);
let result = response.data
if (result.code != 1000) {
return this.$message.error(response.data.message);
}
this.acsNo = result.data.acsNo;
this.outOrderNo = result.data.outOrderNo;
this.payInfoVisible = true;
})
.catch((error) => {
this.$message.error('请求错误');
console.log(error);
});
console.log('submit!');
},
getQueryParam(name) {
var query = window.location.search.substring(1);
console.log(query)
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
console.log(pair[0], name)
if(pair[0] == name) {
return pair[1];
}
}
return undefined;
}
}
})
</script>
</html>