Commit de634f20 authored by zhangsan's avatar zhangsan

1

parent 5b004ee6
......@@ -20,12 +20,16 @@ async function getUserInfo() {
const res = await request.get('/system/user/')
userInfo.value = res.data
}
const isEdit = ref(false)
const cardinfo = ref([])
function getCardList() {
request.get('/ops/bankcard/list?cardtype=2').then((res) => {
if (res.rows?.length) {
cardinfo.value = JSON.parse(JSON.stringify(res.rows[0]))
formData.value = JSON.parse(JSON.stringify(res.rows[0]))
if(cardinfo.value.yjxm){
isEdit.value = true
}
}
})
}
......@@ -91,9 +95,11 @@ const handleSubmit = useDebounceFn(async () => {
}, 2000)
return false
}
if (cardinfo.value.yjxm) {
showFailToast('银行卡正在制作当中,3天后可邮寄到货')
return false
if(isEdit.value){
if (cardinfo.value.yjxm) {
showFailToast('银行卡正在制作当中,3天后可邮寄到货')
return false
}
}
await handleBankCardDelivery()
}, 500)
......@@ -109,7 +115,7 @@ const handleSubmit = useDebounceFn(async () => {
</div>
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input v-model="formData.yjxm" type="text" placeholder="请输入收件人姓名">
<input v-model="formData.yjxm" :disabled="isEdit" type="text" placeholder="请输入收件人姓名">
</div>
</div>
......@@ -119,7 +125,7 @@ const handleSubmit = useDebounceFn(async () => {
</div>
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input v-model="formData.bankPhone" type="tel" placeholder="请输入联系电话">
<input v-model="formData.bankPhone" :disabled="isEdit" type="tel" placeholder="请输入联系电话">
</div>
</div>
......@@ -130,7 +136,7 @@ const handleSubmit = useDebounceFn(async () => {
<div class="warpinput bankAddress">
<div style="display: flex;align-items: center;">
<textarea
v-model="formData.bankAddress" placeholder="请输入详细收件地址"
v-model="formData.bankAddress" :disabled="isEdit" placeholder="请输入详细收件地址"
rows="3"
/>
</div>
......@@ -144,6 +150,12 @@ const handleSubmit = useDebounceFn(async () => {
<div @click="handleSubmit" v-ripple class="buynow">
邮寄银行卡
</div>
<div v-if="cardinfo.yjxm && isEdit" @click="isEdit = false" v-ripple class="buynow buynow1">
修改邮寄地址
</div>
<div v-if="cardinfo.yjxm && !isEdit" @click="handleSubmit" v-ripple class="buynow buynow1">
提交邮寄地址
</div>
</div>
</div>
</template>
......@@ -234,6 +246,9 @@ const handleSubmit = useDebounceFn(async () => {
text-align: center;
line-height: 46px;
}
.buynow1 {
margin-top: 10px;
}
}
}
</style>
<script setup lang="ts">
import request from '@/utils/request'
import { useDebounceFn } from '@vueuse/core'
import { reactive, ref } from 'vue'
import { ref } from 'vue'
import { showFailToast, showSuccessToast } from 'vant'
import AppHeader from '@/components/AppHeader.vue'
const navigateTo = (path: string) => {
......@@ -92,12 +92,16 @@ async function handleBindBankCard() {
}
try {
loading.value = true
const res = await request.post('/ops/bankcard/add', {
let data = {
name: formData.value.name,
bankName: formData.value.bankName,
bankNum: formData.value.bankNum.replace(/\s/g, ''),
// extend3: encrypt(formData.extend3)
})
}
let url = bankInfo.value.bankId ? '/ops/bankcard/edit' : '/ops/bankcard/add'
bankInfo.value.bankId ? data.bankId = bankInfo.value.bankId : null
const res = await request.post(url, data)
if (res.code === 200) {
showSuccessToast('银行卡绑定成功')
......@@ -120,14 +124,18 @@ async function handleBindBankCard() {
// 表单提交(带防抖)
const handleSubmit = useDebounceFn(async () => {
if (formData.value.bankId) {
showFailToast('您已绑定银行卡')
return
if(isEdit.value){
formData.value.extend3 = ''
isEdit.value = false
return
}
}
if (!validateForm())
return
await handleBindBankCard()
}, 500)
const bankInfo = ref({})
const isEdit = ref(false)
function getBankList() {
request.get('/ops/bankcard/list?cardtype=1', {}).then((res) => {
if (res.code == 200) {
......@@ -135,23 +143,29 @@ function getBankList() {
const bankList = res.rows?.map(v =>
Object.assign({}, v, { switch: false }),
)
formData.value = bankList[0]
let bank = bankList[0]
bank.extend3 = ''
formData.value = bank
bankInfo.value = bank
isEdit.value = true
}
}
})
}
getBankList()
</script>
<template>
<AppHeader title="绑定银行卡"/>
<div class="auth-container">
<div class="label">
真实姓名
真实姓名
</div>
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input v-model="formData.name" type="text" autoComplete="off" placeholder="请填写您的真实姓名">
<input v-model="formData.name" :disabled="isEdit" type="text" autoComplete="off" placeholder="请填写您的真实姓名">
</div>
</div>
......@@ -160,7 +174,7 @@ getBankList()
</div>
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input v-model="formData.bankName" type="text" autoComplete="off" placeholder="请选择您的开户银行">
<input v-model="formData.bankName" :disabled="isEdit" type="text" autoComplete="off" placeholder="请选择您的开户银行">
</div>
<van-icon name="arrow" />
</div>
......@@ -171,7 +185,7 @@ getBankList()
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input
v-model="formData.bankNum" type="text" autoComplete="off" placeholder="请填写您的银行卡号" maxlength="23"
v-model="formData.bankNum" :disabled="isEdit" type="text" autoComplete="off" placeholder="请填写您的银行卡号" maxlength="23"
@input="handleCardInput"
>
</div>
......@@ -183,7 +197,7 @@ getBankList()
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input
v-model="formData.extend3" type="password" autoComplete="off" placeholder="请输入您的交易密码"
v-model="formData.extend3" :disabled="isEdit" type="password" autoComplete="off" placeholder="请输入您的交易密码"
maxlength="6"
>
</div>
......@@ -194,7 +208,10 @@ getBankList()
<div>* 为了您的资金安全,请务必填写真实信息</div>
</div>
<div @click="() => handleSubmit()" v-ripple class="buynow">
{{ !formData.bankId ? '确定绑定' : '绑定成功' }}
{{ !formData.bankId ? '确定绑定' : '修改绑定' }}
</div>
<div v-if="bankInfo.bankId && !isEdit" @click="handleSubmit" v-ripple class="buynow">
提交资料
</div>
</div>
</template>
......
<template>
<AppHeader title="修改交易密码"/>
<div class="auth-container">
<div class="label">密码</div>
<div class="label">登录密码</div>
<div class="warpinput">
<div style="display: flex;align-items: center;">
<input type="password" maxlength="6" v-model="formData.oldPassword" placeholder="请输入原交易密码" />
<input type="password" maxlength="6" v-model="formData.oldPassword" placeholder="请输入原登录密码" />
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment