Files
jsowell-charger-web/jsowell-ui/src/views/pile/merchant/components/adapayMember.vue

385 lines
14 KiB
Vue
Raw Normal View History

2023-06-09 10:38:23 +08:00
<template>
<div>
2023-06-12 16:01:39 +08:00
<el-card class="box-card" shadow="hover" style="margin-bottom: 10px">
2023-06-15 09:38:12 +08:00
<!-- <div style="margin: 12px 0">汇付会员</div> -->
<h2>汇付会员</h2>
<hr>
<div style="margin: 12px 0" v-if="ruleForm.adapayMemberId == null">
没有查询到汇付会员配置请点击按钮创建汇付会员汇付结算账号
2023-06-09 11:37:58 +08:00
<!-- 刷新按钮 -->
2023-06-13 16:36:32 +08:00
<el-button
size="medium"
type="primary"
2023-06-15 09:38:12 +08:00
@click="openCreateAdapaySettleAccount = true"
2023-06-13 16:36:32 +08:00
>
2023-06-15 09:38:12 +08:00
创建汇付会员与结算账号
2023-06-09 11:37:58 +08:00
</el-button>
</div>
2023-06-15 09:38:12 +08:00
<el-descriptions :column="2" v-else>
2023-06-13 16:36:32 +08:00
<el-descriptions-item label="会员昵称">{{
ruleForm.nickname
}}</el-descriptions-item>
<el-descriptions-item label="会员邮箱">{{
ruleForm.email
}}</el-descriptions-item>
<el-descriptions-item label="会员性别">{{
ruleForm.gender === "FEMALE" ? "女" : "男"
}}</el-descriptions-item>
<el-descriptions-item label="会员地址">{{
ruleForm.location
}}</el-descriptions-item>
2023-06-09 17:09:33 +08:00
</el-descriptions>
2023-06-09 11:37:58 +08:00
</el-card>
2023-06-15 09:38:12 +08:00
<el-card class="box-card" shadow="hover" style="margin-top:20px" v-if="ruleForm.adapayMemberId !== null">
<!-- <div style="margin: 12px 0">汇付结算账户</div> -->
<h2>汇付结算账户</h2>
<hr>
<el-descriptions :column="2">
<el-descriptions-item label="银行账户类型">{{
ruleForm.nickname
}}</el-descriptions-item>
<el-descriptions-item label="银行卡号">{{
ruleForm.email
}}</el-descriptions-item>
<el-descriptions-item label="银行卡对应的户名">{{
ruleForm.gender === "FEMALE" ? "女" : "男"
}}</el-descriptions-item>
<el-descriptions-item label="手机号">{{
ruleForm.location
}}</el-descriptions-item>
<el-descriptions-item label="银行编码">{{
ruleForm.location
}}</el-descriptions-item>
<el-descriptions-item label="开户银行名称">{{
ruleForm.location
}}</el-descriptions-item>
<el-descriptions-item label="银行账户开户银行所在省份编码">{{
ruleForm.location
}}</el-descriptions-item>
</el-descriptions>
2023-06-09 11:37:58 +08:00
</el-card>
2023-06-13 16:36:32 +08:00
<el-dialog
2023-06-15 09:38:12 +08:00
title="创建汇付会员与结算账户"
:visible.sync="openCreateAdapaySettleAccount"
2023-06-13 16:36:32 +08:00
width="150"
append-to-body
>
2023-06-09 11:59:23 +08:00
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="250px"
class="demo-ruleForm"
>
2023-06-15 09:38:12 +08:00
<el-form-item label="会员昵称" prop="nickname">
2023-06-09 11:59:23 +08:00
<el-input v-model="ruleForm.nickname"></el-input>
</el-form-item>
<el-form-item label="会员邮箱" prop="email">
<el-input v-model="ruleForm.email"></el-input>
</el-form-item>
<el-form-item label="会员性别" prop="gender">
<el-radio-group v-model="ruleForm.gender">
<el-radio label="MALE"></el-radio>
<el-radio label="FEMALE"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="会员地址" prop="location">
<!-- type="textarea" -->
<el-input v-model="ruleForm.location"></el-input>
</el-form-item>
2023-06-14 16:41:55 +08:00
<el-form-item label="银行账户类型" prop="bankAcctType">
<el-radio-group v-model="ruleForm.bankAcctType">
2023-06-09 11:59:23 +08:00
<el-radio label="1">对公</el-radio>
<el-radio label="2">对私</el-radio>
</el-radio-group>
</el-form-item>
2023-06-14 16:41:55 +08:00
<el-form-item label="银行卡号" prop="cardId">
<el-input v-model="ruleForm.cardId"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
2023-06-14 16:41:55 +08:00
<el-form-item label="银行卡对应的户名" prop="cardName">
<el-input v-model="ruleForm.cardName"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
<el-form-item
label="证件号"
2023-06-14 16:41:55 +08:00
prop="certId"
2023-06-09 11:59:23 +08:00
:rules="
2023-06-14 16:41:55 +08:00
ruleForm.bankAcctType === '2'
? rules.certId
2023-06-13 16:36:32 +08:00
: [{ required: false }]
"
2023-06-09 11:59:23 +08:00
>
2023-06-14 16:41:55 +08:00
<el-input v-model="ruleForm.certId"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
2023-06-09 10:38:23 +08:00
2023-06-14 16:41:55 +08:00
<el-form-item label="手机号" prop="telNo">
<el-input v-model="ruleForm.telNo"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
<el-form-item
label="银行编码"
2023-06-14 16:41:55 +08:00
prop="bankCode"
2023-06-09 11:59:23 +08:00
:rules="
2023-06-14 16:41:55 +08:00
ruleForm.bankAcctType === '1'
? rules.bankCode
2023-06-13 16:36:32 +08:00
: [{ required: false }]
"
2023-06-09 11:59:23 +08:00
>
2023-06-14 16:41:55 +08:00
<el-input v-model="ruleForm.bankCode"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
2023-06-14 16:41:55 +08:00
<el-form-item label="开户银行名称" prop="bankName">
<el-input v-model="ruleForm.bankName"></el-input>
2023-06-09 11:59:23 +08:00
</el-form-item>
<el-form-item
2023-06-14 16:41:55 +08:00
label="银行账户开户银行所在省份编码"
prop="provCode"
2023-06-09 11:59:23 +08:00
:rules="
2023-06-14 16:41:55 +08:00
ruleForm.bankAcctType === '1'
? rules.provCode
2023-06-13 16:36:32 +08:00
: [{ required: false }]
"
2023-06-09 11:59:23 +08:00
>
2023-06-14 16:41:55 +08:00
<el-cascader
v-model="value"
:options="options"
@change="handleChange"
:props="cateProps"
></el-cascader>
<!-- <el-input v-model="ruleForm.provCode"></el-input> -->
2023-06-09 11:59:23 +08:00
</el-form-item>
2023-06-14 16:41:55 +08:00
<!-- <el-form-item
2023-06-09 11:59:23 +08:00
label="银行账户开户银行所在地区编码"
2023-06-14 16:41:55 +08:00
prop="areaCode"
2023-06-09 11:59:23 +08:00
:rules="
2023-06-14 16:41:55 +08:00
ruleForm.bankAcctType === '1'
? rules.areaCode
2023-06-13 16:36:32 +08:00
: [{ required: false }]
"
2023-06-09 11:59:23 +08:00
>
2023-06-14 16:41:55 +08:00
<el-input v-model="ruleForm.areaCode"></el-input>
</el-form-item> -->
2023-06-09 16:03:32 +08:00
<el-form-item>
2023-06-13 16:36:32 +08:00
<el-button type="primary" @click="submitForm('ruleForm')"
>提交</el-button
2023-06-09 16:03:32 +08:00
>
</el-form-item>
2023-06-09 11:59:23 +08:00
</el-form>
</el-dialog>
2023-06-09 10:38:23 +08:00
</div>
</template>
<script>
import {
selectAdapayMember,
2023-06-15 09:38:12 +08:00
createAdapayMember
2023-06-09 10:38:23 +08:00
} from "@/api/adapayMember/adapayMember";
export default {
props: ["merchantId"],
data() {
return {
2023-06-09 11:37:58 +08:00
// 汇付会员
adapayMember: null,
2023-06-09 11:59:23 +08:00
openCreateAdapayMember: false,
2023-06-09 11:37:58 +08:00
// 汇付结算账户
adapaySettleAccount: null,
2023-06-09 11:59:23 +08:00
openCreateAdapaySettleAccount: false,
2023-06-09 10:38:23 +08:00
ruleForm: {
2023-06-15 09:38:12 +08:00
adapayMemberId:null,
2023-06-09 10:38:23 +08:00
nickname: "",
email: "",
gender: "",
location: "",
2023-06-14 16:41:55 +08:00
cardId: "",
cardName: "",
certId: "",
telNo: "",
bankCode: "",
bankName: "",
bankAcctType: "",
provCode: "",
areaCode: "",
2023-06-09 10:38:23 +08:00
merchantId: this.merchantId,
},
rules: {
email: [
{
required: true,
message: "请填写会员邮箱",
trigger: "blur",
},
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: "blur",
},
],
gender: [
{
required: true,
message: "请选择会员性别",
trigger: "blur",
},
],
location: [
{
required: true,
message: "请填写会员地址",
trigger: "blur",
},
],
nickname: [
{
required: true,
message: "请填写会员昵称",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
cardId: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写银行卡号",
trigger: "blur",
},
{
pattern: /^[1-9]\d{9,29}$/,
message: "银行卡号格式有误",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
cardName: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写银行卡号对应的户名",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
telNo: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写手机号",
trigger: "blur",
},
{
pattern: /^(?:(?:\+|00)86)?1\d{10}$/,
message: "手机号格式有误",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
bankAcctType: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请选择银行账户类型",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
areaCode: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "银行账户开户银行所在地区编码",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
provCode: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写银行账户开户银行所在省份编码",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
certId: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写证件号",
trigger: "blur",
},
],
2023-06-14 16:41:55 +08:00
bankCode: [
2023-06-09 10:38:23 +08:00
{
required: true,
message: "请填写银行编码",
trigger: "blur",
},
2023-06-15 09:38:12 +08:00
{
pattern: /^(?:(?:\+|00)86)?1\d{10}$/,
message: "手机号格式有误",
trigger: "change",
},
2023-06-09 10:38:23 +08:00
],
},
2023-06-14 09:35:55 +08:00
cateProps: {
expandTrigger: "click",
label: "title",
value: "value",
children: "cities",
},
2023-06-13 16:36:32 +08:00
value: [],
2023-06-14 09:35:55 +08:00
options: [],
2023-06-14 16:41:55 +08:00
settleAccount:{}
2023-06-09 10:38:23 +08:00
};
},
methods: {
2023-06-13 16:36:32 +08:00
handleChange(value) {
console.log(value);
2023-06-14 16:41:55 +08:00
this.ruleForm.provCode = value[0]
this.ruleForm.areaCode = value[1]
2023-06-13 16:36:32 +08:00
},
2023-06-09 11:37:58 +08:00
// 创建汇付会员
2023-06-09 10:38:23 +08:00
submitForm(formName) {
2023-06-14 16:41:55 +08:00
console.log('省 市',this.ruleForm.provCode,this.ruleForm.areaCode)
2023-06-09 10:38:23 +08:00
this.$refs[formName].validate((valid) => {
if (valid) {
console.log("valid", this.ruleForm);
2023-06-09 11:37:58 +08:00
createAdapayMember(this.ruleForm).then((response) => {
2023-06-09 10:38:23 +08:00
console.log("新增", response);
2023-06-14 16:41:55 +08:00
this.openCreateAdapaySettleAccount = false
2023-06-13 16:36:32 +08:00
this.selectAdapayMember();
2023-06-09 10:38:23 +08:00
});
} else {
console.log("提交表格失败");
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
2023-06-09 11:37:58 +08:00
// 查询汇付会员
2023-06-09 14:44:32 +08:00
selectAdapayMember() {
2023-06-09 10:38:23 +08:00
console.log("this.merchantId", this.merchantId);
let param = {
merchantId: this.merchantId,
};
2023-06-09 11:37:58 +08:00
selectAdapayMember(param).then((response) => {
2023-06-15 09:38:12 +08:00
console.log("查询 response", response);
2023-06-09 15:56:08 +08:00
if (response.data != null) {
this.ruleForm = response.data;
this.adapayMember = response.data;
}
2023-06-09 10:38:23 +08:00
});
},
2023-06-14 09:35:55 +08:00
jsonHttp() {
var that = this;
2023-06-13 17:02:28 +08:00
//(1).实例化ajax对象
2023-06-14 09:35:55 +08:00
let xhr = new XMLHttpRequest();
2023-06-13 17:02:28 +08:00
//(2).设置请求方法和地址
//get请求的数据直接添加在url的后面 格式是 url?key=value
2023-06-14 09:35:55 +08:00
xhr.open(
"get",
"https://cdn.cloudpnr.com/adapayresource/documents/Adapay%E7%9C%81%E5%B8%82%E7%BC%96%E7%A0%81%EF%BC%88%E5%9B%9B%E4%BD%8D%EF%BC%89.json"
);
2023-06-13 17:02:28 +08:00
//(3).发送请求
2023-06-14 09:35:55 +08:00
xhr.send();
2023-06-13 17:02:28 +08:00
//(4).注册回调函数
2023-06-14 09:35:55 +08:00
xhr.onload = function () {
// console.log(xhr.responseText,'responseText')
that.options = JSON.parse(xhr.responseText);
};
},
2023-06-09 10:38:23 +08:00
},
created() {
2023-06-09 14:44:32 +08:00
this.selectAdapayMember();
2023-06-13 16:51:41 +08:00
this.jsonHttp();
2023-06-09 10:38:23 +08:00
},
};
</script>