Commit de634f20 authored by zhangsan's avatar zhangsan

1

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