fix(walletBindBank): 修复绑定银行卡错误的问题 bug-67 bug-68
This commit is contained in:
parent
c09af127fa
commit
a06830e905
|
@ -20,8 +20,8 @@
|
|||
placeholder="请输入银行卡号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="银行选择:" prop="bankId">
|
||||
<el-select v-model="form.bankId" placeholder="请选择银行名称">
|
||||
<el-form-item label="银行选择:" prop="pkBank">
|
||||
<el-select v-model="form.pkBank" placeholder="请选择银行名称">
|
||||
<el-option
|
||||
v-for="(item, index) in bankCardChioceList"
|
||||
:key="index"
|
||||
|
@ -64,7 +64,7 @@
|
|||
placeholder="银行卡预留手机号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
<!-- <el-form-item
|
||||
v-if="isMainlandChinaUser && needsVerificationCode"
|
||||
label="验证码:"
|
||||
prop="verificationCode"
|
||||
|
@ -82,7 +82,7 @@
|
|||
>
|
||||
{{ verificationCodeButtonText }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="dialog-footer">
|
||||
|
@ -127,7 +127,7 @@ export default {
|
|||
accountName: "", // 姓名
|
||||
idCard: "", // 证件号码
|
||||
phone: "", // 手机号
|
||||
bankId: "", // 银行ID (原 pkBank)
|
||||
pkBank: "", // 银行ID (原 pkBank)
|
||||
verificationCode: "", // 验证码
|
||||
subBankName: "", // 开户支行
|
||||
idType: "", // 证件类型
|
||||
|
@ -168,7 +168,7 @@ export default {
|
|||
// { min: 11, message: '请输入正确的手机号', trigger: "blur" }, // 合并到 validator
|
||||
{ validator: validatePhoneNumber, trigger: "blur" },
|
||||
],
|
||||
bankId: [
|
||||
pkBank: [
|
||||
// 原 pkBank
|
||||
{ required: true, message: "请选择银行卡", trigger: "change" },
|
||||
],
|
||||
|
@ -176,7 +176,7 @@ export default {
|
|||
isBankCardVerified: false, // 银行卡是否已验证通过 (原 ifpass)
|
||||
bankCardChioceList: [], // 可选银行列表
|
||||
// pkCountry: "", // 由 isMainlandChinaUser 计算属性替代
|
||||
needsVerificationCode: true, // 是否需要验证码 (原 cancode)
|
||||
needsVerificationCode: false, // 是否需要验证码 (原 cancode)
|
||||
};
|
||||
},
|
||||
props: {
|
||||
|
@ -286,17 +286,17 @@ export default {
|
|||
// 实际执行绑卡操作
|
||||
performBindBank() {
|
||||
// 对于非中国大陆用户,或不需要验证码的情况,直接标记为已验证
|
||||
if (!this.isMainlandChinaUser || !this.needsVerificationCode) {
|
||||
this.isBankCardVerified = true;
|
||||
}
|
||||
// if (!this.isMainlandChinaUser || !this.needsVerificationCode) {
|
||||
// this.isBankCardVerified = true;
|
||||
// }
|
||||
|
||||
if (!this.isBankCardVerified) {
|
||||
this.$message({
|
||||
message: "请先完成银行卡验证", // 或 '银行卡验证不一致'
|
||||
type: "warning",
|
||||
});
|
||||
return;
|
||||
}
|
||||
// if (!this.isBankCardVerified) {
|
||||
// this.$message({
|
||||
// message: "请先完成银行卡验证", // 或 '银行卡验证不一致'
|
||||
// type: "warning",
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
|
||||
// let that = this; // 不再需要
|
||||
|
||||
|
@ -328,31 +328,32 @@ export default {
|
|||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
// 如果是中国大陆用户且需要验证码
|
||||
if (this.isMainlandChinaUser && this.needsVerificationCode) {
|
||||
walletApi
|
||||
.verifyBankCard(this.form)
|
||||
.then(() => {
|
||||
// 验证成功,标记状态并执行绑卡
|
||||
this.isBankCardVerified = true;
|
||||
this.performBindBank();
|
||||
})
|
||||
.catch((_err) => {
|
||||
// 使用 _err 表示未使用
|
||||
// 验证失败
|
||||
this.isBankCardVerified = false;
|
||||
// 提示后端返回的错误信息,或通用错误信息
|
||||
this.$message({
|
||||
message: _err?.msg || "银行卡验证失败", // 优先使用后端消息
|
||||
type: "warning",
|
||||
});
|
||||
// this.countdownSeconds = 0; // 不应在此重置倒计时,应在 clearCountdown 中处理
|
||||
this.clearCountdown(); // 验证失败时也应该能重新获取验证码
|
||||
});
|
||||
} else {
|
||||
// 非中国大陆用户或不需要验证码,直接尝试绑卡
|
||||
// isBankCardVerified 在 performBindBank 开始时会设置为 true
|
||||
this.performBindBank();
|
||||
}
|
||||
// if (this.isMainlandChinaUser && this.needsVerificationCode) {
|
||||
// walletApi
|
||||
// .verifyBankCard(this.form)
|
||||
// .then(() => {
|
||||
// // 验证成功,标记状态并执行绑卡
|
||||
// this.isBankCardVerified = true;
|
||||
// this.performBindBank();
|
||||
// })
|
||||
// .catch((_err) => {
|
||||
// // 使用 _err 表示未使用
|
||||
// // 验证失败
|
||||
// this.isBankCardVerified = false;
|
||||
// // 提示后端返回的错误信息,或通用错误信息
|
||||
// this.$message({
|
||||
// message: _err?.msg || "银行卡验证失败", // 优先使用后端消息
|
||||
// type: "warning",
|
||||
// });
|
||||
// // this.countdownSeconds = 0; // 不应在此重置倒计时,应在 clearCountdown 中处理
|
||||
// this.clearCountdown(); // 验证失败时也应该能重新获取验证码
|
||||
// });
|
||||
// } else {
|
||||
// // 非中国大陆用户或不需要验证码,直接尝试绑卡
|
||||
// // isBankCardVerified 在 performBindBank 开始时会设置为 true
|
||||
// this.performBindBank();
|
||||
// }
|
||||
this.performBindBank();
|
||||
} else {
|
||||
console.log("表单验证失败!");
|
||||
return false;
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<el-empty description="暂无公告" />
|
||||
</div>
|
||||
</div>
|
||||
<InSiteMessage />
|
||||
<!-- <InSiteMessage /> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -32,11 +32,11 @@
|
|||
import * as sid from "@/api/sidebaruserinfo.js";
|
||||
import { mapGetters } from "vuex";
|
||||
import "swiper/dist/css/swiper.css";
|
||||
import InSiteMessage from "./in-site-message.vue";
|
||||
// import InSiteMessage from "./in-site-message.vue";
|
||||
export default {
|
||||
name: "sidebarUserInfo",
|
||||
components: {
|
||||
InSiteMessage,
|
||||
// InSiteMessage,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userInfo"]),
|
||||
|
|
Loading…
Reference in New Issue