国际化
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<j-nav-bar />
|
||||
<div class="contract" v-if="contractHtml" v-html="contractHtml"></div>
|
||||
<div v-else class="noData">暂无合同</div>
|
||||
<div v-else class="noData">{{ $t('app.none') + $t('app.contract') }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -11,8 +11,10 @@ import {onMounted, ref} from 'vue'
|
||||
import {getContract} from "@/api";
|
||||
import {showToast} from "vant";
|
||||
import {useRoute} from "vue-router";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const route = useRoute()
|
||||
const { t } = useI18n()
|
||||
|
||||
const contractHtml = ref('')
|
||||
|
||||
@@ -24,7 +26,7 @@ const _getContract = () => {
|
||||
contractHtml.value = res
|
||||
})
|
||||
} else {
|
||||
showToast('暂无合同')
|
||||
showToast(t('app.none') + t('app.contract'))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,19 +10,19 @@
|
||||
>
|
||||
|
||||
<view class="j-item" v-for="item in borrowList" :key="item.id" @click="goInfo(item.tradeNo)">
|
||||
<view class="j-item-t">贷款编号:{{item.tradeNo}}</view>
|
||||
<view class="j-item-t">{{ $t('borrowInfo.loanNo') }}:{{item.tradeNo}}</view>
|
||||
|
||||
<view style="display: flex; justify-content: space-between">
|
||||
|
||||
<view class="j-item-c">
|
||||
<view>贷款总额:{{ item.totalLoanMoney }}元</view>
|
||||
<view class="yellow_color1">每期还款:{{ item.avgRepayment }}*{{ item.totalMonth }}</view>
|
||||
<view>贷款申请日期:{{ new Date(item.createTime).format('yyyy-MM-dd hh:mm:ss') }}</view>
|
||||
<view>{{ $t('app.totalLoan') }}:{{ item.totalLoanMoney }}{{ $t('app.yuan') }}</view>
|
||||
<view class="yellow_color1">{{ $t('home.repaymentPerInstallment') }}:{{ item.avgRepayment }}*{{ item.totalMonth }}</view>
|
||||
<view>{{ $t('borrowInfo.applicationTime') }}:{{ new Date(item.createTime).format('yyyy-MM-dd hh:mm:ss') }}</view>
|
||||
</view>
|
||||
|
||||
<view :style="{paddingRight: px2vw(20)}" @click.stop="toContract(item.tradeNo)" style="display: flex; justify-content: center; align-items: center; flex-flow: column">
|
||||
<van-icon size="50" name="orders-o" />
|
||||
合同
|
||||
{{ $t('app.contract') }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
>
|
||||
|
||||
<view class="j-item" v-for="item in borrowList" :key="item.id" @click="goInfo(item.tradeNo)">
|
||||
<view class="j-item-t">贷款编号:{{item.tradeNo}}</view>
|
||||
<view class="j-item-t">{{ $t('borrowInfo.loanNo') }}:{{item.tradeNo}}</view>
|
||||
|
||||
<view class="j-item-c">
|
||||
<view>贷款总额:{{ item.totalLoanMoney }}元</view>
|
||||
<view class="yellow_color1">每期还款:{{ item.avgRepayment }}*{{ item.totalMonth }}</view>
|
||||
<view>贷款申请日期:{{ new Date(item.createTime).format('yyyy-MM-dd hh:mm:ss') }}</view>
|
||||
<view>{{ $t('app.totalLoan') }}:{{ item.totalLoanMoney }}{{ $t('app.yuan') }}</view>
|
||||
<view class="yellow_color1">{{ $t('home.repaymentPerInstallment') }}:{{ item.avgRepayment }}*{{ item.totalMonth }}</view>
|
||||
<view>{{ $t('borrowInfo.applicationTime') }}:{{ new Date(item.createTime).format('yyyy-MM-dd hh:mm:ss') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<j-nav-bar v-if="!useEdit" />
|
||||
<van-signature v-if="!useEdit" @submit="onSubmit" @clear="onClear" />
|
||||
<div class="my-signature">我的签名:</div>
|
||||
<div class="my-signature">{{ $t('app.my') + $t('app.signature') }}:</div>
|
||||
<van-image class="my-signature-image" v-if="userInfo.signature" :src="userInfo.signature" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<div class="content">
|
||||
<j-gap height="120" background="#F9BF3A" opacity="0"/>
|
||||
<van-cell-group inset>
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的资料" is-link to="userInfo1" :value="userInfo.cardFlag ? '完整' : '不完整'">
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的资料" is-link to="userInfo1" :value="userInfo.cardFlag ? $t('app.complete') : $t('app.noComplete')">
|
||||
<template #title>
|
||||
<div class="t">身份信息</div>
|
||||
<div class="t2">*让我们了解您的资料信息</div>
|
||||
<div class="t">{{ $t('app.identityInformation') }}</div>
|
||||
<div class="t2">*{{ $t('app.rwmljndzlxx') }}</div>
|
||||
</template>
|
||||
<template #icon>
|
||||
<div style="display: flex; justify-content: center; align-items: center; padding-right: 12px">
|
||||
@@ -15,10 +15,10 @@
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的借款" is-link to="userInfo2" :value="userInfo.infoFlag ? '完整' : '不完整'">
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的借款" is-link to="userInfo2" :value="userInfo.infoFlag ? $t('app.complete') : $t('app.noComplete')">
|
||||
<template #title>
|
||||
<div class="t">资料信息</div>
|
||||
<div class="t2">*让我们了解您的资料信息</div>
|
||||
<div class="t">{{ $t('app.information') }}</div>
|
||||
<div class="t2">*{{ $t('app.rwmljndzlxx') }}</div>
|
||||
</template>
|
||||
<template #icon>
|
||||
<div style="display: flex; justify-content: center; align-items: center; padding-right: 12px">
|
||||
@@ -27,10 +27,10 @@
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的还款" is-link to="userInfo3" :value="userInfo.bankFlag ? '完整' : '不完整'">
|
||||
<van-cell :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的还款" is-link to="userInfo3" :value="userInfo.bankFlag ? $t('app.complete') : $t('app.noComplete')">
|
||||
<template #title>
|
||||
<div class="t">收款银行卡</div>
|
||||
<div class="t2">*让我们了解您的资料信息</div>
|
||||
<div class="t">{{ $t('app.receivingBank') }}</div>
|
||||
<div class="t2">*{{ $t('app.rwmljndzlxx') }}</div>
|
||||
</template>
|
||||
<template #icon>
|
||||
<div style="display: flex; justify-content: center; align-items: center; padding-right: 12px">
|
||||
@@ -38,10 +38,10 @@
|
||||
</div>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-cell v-if="userInfo.allowSignature" :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" title="我的借款" is-link to="signature" :value="userInfo.signatureFlag ? '完整' : '不完整'" >
|
||||
<van-cell v-if="userInfo.allowSignature" :style="{ padding: px2vw(40) + ' ' + px2vw(35)}" :title="$t('my.loan')" is-link to="signature" :value="userInfo.signatureFlag ? $t('app.complete') : $t('app.noComplete')" >
|
||||
<template #title>
|
||||
<div class="t">签名信息</div>
|
||||
<div class="t2">*让我们了解您的资料信息</div>
|
||||
<div class="t">{{ $t('app.signatureInformation') }}</div>
|
||||
<div class="t2">*{{ $t('app.rwmljndzlxx') }}</div>
|
||||
</template>
|
||||
<template #icon>
|
||||
<div style="display: flex; justify-content: center; align-items: center; padding-right: 12px">
|
||||
@@ -59,7 +59,7 @@
|
||||
style="width: 100%; "
|
||||
@click.stop="goHome"
|
||||
>
|
||||
立即借款
|
||||
{{ $t('home.immediateBorrowing') }}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,9 +4,23 @@
|
||||
<div class="content">
|
||||
<j-gap height="120" background="#F9BF3A" opacity="0"/>
|
||||
<div class="action">
|
||||
<view class="tt">填写真实有效的信息,审核才会通过哦~</view>
|
||||
<van-field required v-model="userInfo.realName" type="text" label="姓名" placeholder="请输入真实姓名" :rules="[{ required: true, message: '请输入真实姓名' }]"/>
|
||||
<van-field required v-model="userInfo.cardNum" type="text" label="身份证号" placeholder="请输入真实身份证号" :rules="[{ required: true, message: '请输入真实身份证号' }]"/>
|
||||
<view class="tt">{{ $t('userInfo.realPrompt') }}~</view>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.realName"
|
||||
type="text"
|
||||
:label="$t('userInfo.name')"
|
||||
:placeholder="$t('userInfo.enter') + $t('userInfo.name')"
|
||||
:rules="[{ required: true, message: $t('userInfo.enter') + $t('userInfo.name') }]"
|
||||
/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.cardNum"
|
||||
type="text"
|
||||
:label="$t('userInfo.idCard')"
|
||||
:placeholder="$t('userInfo.enter') + $t('userInfo.idCard')"
|
||||
:rules="[{ required: true, message: $t('userInfo.enter') + $t('userInfo.idCard') }]"
|
||||
/>
|
||||
<!-- <van-field required label="身份证号" placeholder="请输入真实身份证号" v-model="userInfo.cardNum" readonly clickable @touchstart.stop="idCardKeyboardShow = true" :rules="[{ required: true, message: '请输入真实身份证号' }]"/>-->
|
||||
|
||||
<!-- <van-number-keyboard-->
|
||||
@@ -20,49 +34,55 @@
|
||||
|
||||
<div class="action">
|
||||
<view class="tt">
|
||||
<view>*需本人身份证,且内容清晰可辨</view>
|
||||
<view>请您确认拍照权限已开启</view>
|
||||
<view>*{{ $t('userInfo.idCardPrompt') }}</view>
|
||||
<view>{{ $t('userInfo.photographPrompt') }}</view>
|
||||
</view>
|
||||
|
||||
<view class="action-content">
|
||||
|
||||
<view class="action-content-item">
|
||||
<van-uploader :rules="[{ required: true, message: '点击上传身份证人像面' }]" required :after-read="afterReadIdFront" :before-read="beforeRead" :max-count="1">
|
||||
<van-uploader
|
||||
:rules="[{ required: true, message: $t('userInfo.idCardUp1') }]"
|
||||
required
|
||||
:after-read="afterReadIdFront"
|
||||
:before-read="beforeRead"
|
||||
:max-count="1"
|
||||
>
|
||||
<div class="id-card-box">
|
||||
<van-image v-if="userInfo.cardBackPicture" :height="px2vw(156)" :src="userInfo.cardBackPicture"
|
||||
:width="px2vw(236)"/>
|
||||
<van-image v-if="!userInfo.cardBackPicture" :height="px2vw(156)" :src="getAssetsImages('my/idcard1.png')"
|
||||
:width="px2vw(236)"/>
|
||||
<div :style="{fontSize: px2vw(26)}" style="color: #858B9C; width: 100%; text-align: center; padding-top: 10px">
|
||||
点击上传身份证人像面
|
||||
{{ $t('userInfo.idCardUp1') }}
|
||||
</div>
|
||||
</div>
|
||||
</van-uploader>
|
||||
</view>
|
||||
|
||||
<view class="action-content-item">
|
||||
<van-uploader :rules="[{ required: true, message: '点击上传身份证国徽面' }]" required :after-read="afterReadIdBack" :before-read="beforeRead" :max-count="1">
|
||||
<van-uploader :rules="[{ required: true, message: $t('userInfo.idCardUp2') }]" required :after-read="afterReadIdBack" :before-read="beforeRead" :max-count="1">
|
||||
<div class="id-card-box">
|
||||
<van-image v-if="userInfo.cardFrontPicture" :height="px2vw(156)" :src="userInfo.cardFrontPicture"
|
||||
:width="px2vw(236)"/>
|
||||
<van-image v-if="!userInfo.cardFrontPicture" :height="px2vw(156)" :src="getAssetsImages('my/idcard1.png')"
|
||||
:width="px2vw(236)"/>
|
||||
<div :style="{fontSize: px2vw(26)}" style="color: #858B9C; width: 100%; text-align: center; padding-top: 10px">
|
||||
点击上传身份证国徽面
|
||||
{{ $t('userInfo.idCardUp2') }}
|
||||
</div>
|
||||
</div>
|
||||
</van-uploader>
|
||||
</view>
|
||||
|
||||
<view class="action-content-item">
|
||||
<van-uploader :rules="[{ required: true, message: '点击上传手持身份证照' }]" required :after-read="afterReadAvatar" :before-read="beforeRead" :max-count="1">
|
||||
<van-uploader :rules="[{ required: true, message: $t('userInfo.idCardUp3' }]" required :after-read="afterReadAvatar" :before-read="beforeRead" :max-count="1">
|
||||
<div class="id-card-box">
|
||||
<van-image v-if="userInfo.handCardPicture" :height="px2vw(156)" :src="userInfo.handCardPicture"
|
||||
:width="px2vw(236)"/>
|
||||
<van-image v-if="!userInfo.handCardPicture" :height="px2vw(156)" :src="getAssetsImages('my/idcard1.png')"
|
||||
:width="px2vw(236)"/>
|
||||
<div :style="{fontSize: px2vw(26)}" style="color: #858B9C; width: 100%; text-align: center; padding-top: 10px">
|
||||
点击上传手持身份证照
|
||||
{{ $t('userInfo.idCardUp3') }}
|
||||
</div>
|
||||
</div>
|
||||
</van-uploader>
|
||||
@@ -70,23 +90,23 @@
|
||||
|
||||
|
||||
<view style="width: 100%; padding: 20px 0">
|
||||
<view>拍摄要求</view>
|
||||
<view>{{ $t('userInfo.shootingRequirements') }}</view>
|
||||
<view style="display: flex; justify-content: space-between; align-items: center">
|
||||
<view style="display: flex; justify-content: center; align-items: center; flex-flow: column">
|
||||
<van-image :height="px2vw(92)" :width="px2vw(148)" :src="getAssetsImages('my/idcard2.png')"/>
|
||||
<view class="gray_color font-22">√标准拍摄</view>
|
||||
<view class="gray_color font-22">√{{ $t('userInfo.standardShooting') }}</view>
|
||||
</view>
|
||||
<view style="display: flex; justify-content: center; align-items: center; flex-flow: column">
|
||||
<van-image :height="px2vw(92)" :width="px2vw(148)" :src="getAssetsImages('my/idcard3.png')"/>
|
||||
<view class="gray_color font-22">×边框缺失</view>
|
||||
<view class="gray_color font-22">×{{ $t('userInfo.missingBorder') }}</view>
|
||||
</view>
|
||||
<view style="display: flex; justify-content: center; align-items: center; flex-flow: column">
|
||||
<van-image :height="px2vw(92)" :width="px2vw(148)" :src="getAssetsImages('my/idcard4.png')"/>
|
||||
<view class="gray_color font-22">×照片模糊</view>
|
||||
<view class="gray_color font-22">×{{ $t('userInfo.outOfFocus') }}</view>
|
||||
</view>
|
||||
<view style="display: flex; justify-content: center; align-items: center; flex-flow: column">
|
||||
<van-image :height="px2vw(92)" :width="px2vw(148)" :src="getAssetsImages('my/idcard5.png')"/>
|
||||
<view class="gray_color font-22">×闪光强烈</view>
|
||||
<view class="gray_color font-22">×{{ $t('userInfo.flashStrongly') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -105,7 +125,7 @@
|
||||
native-type="submit"
|
||||
:disabled="!useEdit || !(userInfo.realName && userInfo.cardNum)"
|
||||
>
|
||||
提交
|
||||
{{ $t('app.submit') }}
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
@@ -119,8 +139,10 @@ import {getAssetsImages, px2vw} from "@/utils";
|
||||
import {showToast} from "vant";
|
||||
import {useRouter} from "vue-router";
|
||||
import {useUpload} from "@/hooks/useUpload";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const idCardKeyboardShow = ref(false)
|
||||
const { t } = useI18n()
|
||||
|
||||
const userInfo = reactive({
|
||||
backCardNum: '',
|
||||
@@ -163,7 +185,7 @@ const _getBorrowPage = () => {
|
||||
|
||||
const beforeRead = (file) => {
|
||||
if (file.type !== 'image/jpeg' && file.type !== 'image/png') {
|
||||
showToast('请上传 jpg 或者 png 格式图片');
|
||||
showToast(t('app.upPNGOrJPG'));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1,37 +1,78 @@
|
||||
<template>
|
||||
<j-nav-bar color="#FFF" nav-bar-background="#f9bf3a" :placeholder="false"/>
|
||||
<j-nav-bar color="#FFF" nav-bar-background="#f9bf3a" :placeholder="false" />
|
||||
|
||||
<van-form @submit="saveUserInfoBtn">
|
||||
<div class="content">
|
||||
<j-gap height="120" background="#F9BF3A" opacity="0"/>
|
||||
<j-gap height="120" background="#F9BF3A" opacity="0" />
|
||||
<div class="action">
|
||||
<view class="tt">填写真实有效的信息,审核才会通过哦~</view>
|
||||
<!-- <van-field required v-model="userInfo.realName" type="text" label="姓名" placeholder="请输入真实姓名" :rules="[{ required: true, message: '请输入真实姓名' }]"/>-->
|
||||
<van-field required v-model="userInfo.companyName" type="text" label="单位名称" placeholder="请输入单位名称" :rules="[{ required: true, message: '请输入单位名称' }]"/>
|
||||
<van-field required v-model="userInfo.companyTitle" type="text" label="职位" placeholder="请输入职位" :rules="[{ required: true, message: '请输入职位' }]"/>
|
||||
<van-field required v-model="userInfo.companyPhone" type="tel" label="单位电话" placeholder="号码加区号(非必填)" :rules="[{ required: true, message: '号码加区号' }]"/>
|
||||
<van-field required v-model="userInfo.companyYear" type="number" label="工作年龄" placeholder="请输入工龄" :rules="[{ required: true, message: '请输入工龄' }]"/>
|
||||
<van-field required v-model="userInfo.incomeWan" type="number" label="月薪" placeholder="请输入月薪" :rules="[{ required: true, message: '请输入月薪' }]"/>
|
||||
<view class="tt">{{ $t('userInfo.realPrompt') }}~</view>
|
||||
<!-- <van-field required v-model="userInfo.realName" type="text" label="姓名" placeholder="请输入真实姓名" :rules="[{ required: true, message: '请输入真实姓名' }]"/>-->
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.companyName"
|
||||
type="text"
|
||||
:label="$t('userInfo.unitName')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.unitName')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.unitName') }]"
|
||||
/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.companyTitle"
|
||||
type="text"
|
||||
:label="$t('userInfo.position')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.position')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.position') }]"
|
||||
/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.companyPhone"
|
||||
type="tel"
|
||||
:label="$t('userInfo.workTelephone')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.workTelephone')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.workTelephone') }]"
|
||||
/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.companyYear"
|
||||
type="number"
|
||||
:label="$t('userInfo.workingAge')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.workingAge')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.workingAge') }]"
|
||||
/>
|
||||
<van-field
|
||||
required v-model="userInfo.incomeWan"
|
||||
type="number"
|
||||
:label="$t('userInfo.monthlyPay')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.monthlyPay')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.monthlyPay') }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="userInfo.companyAddress"
|
||||
is-link
|
||||
required
|
||||
readonly
|
||||
:rules="[{ required: true, message: '请选择省市区' }]"
|
||||
label="单位地址"
|
||||
placeholder="请选择省市区"
|
||||
:label="$t('userInfo.unitAddress')"
|
||||
:placeholder="$t('app.select') + $t('userInfo.unitAddress')"
|
||||
:rules="[{ required: true, message: $t('app.select') + $t('userInfo.unitAddress') }]"
|
||||
@click="companyAddressShow = true"
|
||||
/>
|
||||
<van-popup v-model:show="companyAddressShow" round position="bottom">
|
||||
<van-cascader
|
||||
v-model="cascaderValue"
|
||||
title="请选择所在地区"
|
||||
:title="$t('app.select') + $t('userInfo.unitAddress')"
|
||||
:options="options"
|
||||
@close="companyAddressShow = false"
|
||||
@finish="onFinish"
|
||||
/>
|
||||
</van-popup>
|
||||
<van-field required v-model="userInfo.companyAddressInfo" type="text" label="详细地址" placeholder="请输入详细地址" :rules="[{ required: true, message: '请输入详细地址' }]"/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.companyAddressInfo"
|
||||
type="text"
|
||||
:label="$t('userInfo.addressInfo')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.addressInfo')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.addressInfo') }]"
|
||||
/>
|
||||
|
||||
|
||||
<van-field
|
||||
@@ -39,38 +80,58 @@
|
||||
is-link
|
||||
required
|
||||
readonly
|
||||
:rules="[{ required: true, message: '请选择所在地区' }]"
|
||||
label="现居住地址"
|
||||
placeholder="请选择所在地区"
|
||||
:label="$t('userInfo.currentResidentialAddress')"
|
||||
:placeholder="$t('app.select') + $t('userInfo.currentResidentialAddress')"
|
||||
:rules="[{ required: true, message: $t('app.select') + $t('userInfo.currentResidentialAddress') }]"
|
||||
@click="customerAddressShow = true"
|
||||
/>
|
||||
<van-popup v-model:show="customerAddressShow" round position="bottom">
|
||||
<van-cascader
|
||||
v-model="customerAddressValue"
|
||||
title="请选择所在地区"
|
||||
:title="$t('app.select') + $t('userInfo.currentResidentialAddress')"
|
||||
:options="options"
|
||||
@close="customerAddressShow = false"
|
||||
@finish="onCustomerAddressFinish"
|
||||
/>
|
||||
</van-popup>
|
||||
<van-field required v-model="userInfo.customerAddressInfo" type="text" label="详细地址" placeholder="例:东北石油大学启智寝室楼2A603" :rules="[{ required: true, message: '请输入详细地址' }]"/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.customerAddressInfo"
|
||||
type="text"
|
||||
:label="$t('userInfo.addressInfo')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.addressInfo')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.addressInfo') }]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="action">
|
||||
<view class="tt">
|
||||
直系亲属联系人
|
||||
{{ $t('userInfo.directFamilyContactPerson') }}
|
||||
</view>
|
||||
|
||||
<van-field required v-model="userInfo.kinsfolkName" type="text" label="姓名" placeholder="请输入真实姓名" :rules="[{ required: true, message: '请输入真实姓名' }]"/>
|
||||
<van-field required v-model="userInfo.kinsfolkPhone" type="tel" label="手机号码" placeholder="请输入手机号码" :rules="[{ required: true, message: '请输入手机号码' }]"/>
|
||||
<van-field
|
||||
required
|
||||
v-model="userInfo.kinsfolkName"
|
||||
type="text"
|
||||
:label="$t('userInfo.name')"
|
||||
:placeholder="$t('userInfo.enter') + $t('userInfo.name')"
|
||||
:rules="[{ required: true, message: $t('userInfo.enter') + $t('userInfo.name') }]"
|
||||
/>
|
||||
<van-field
|
||||
required v-model="userInfo.kinsfolkPhone"
|
||||
type="tel"
|
||||
:label="$t('app.phoneNumber')"
|
||||
:placeholder="$t('app.enter') + $t('app.phoneNumber')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('app.phoneNumber') }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="userInfo.kinsfolkRefText"
|
||||
is-link
|
||||
:rules="[{ required: true, message: '请选择关系' }]"
|
||||
:rules="[{ required: true, message: $t('app.select') + $t('userInfo.relationship') }]"
|
||||
required
|
||||
readonly
|
||||
label="关系"
|
||||
placeholder="请选择关系"
|
||||
:label="$t('userInfo.relationship')"
|
||||
:placeholder="$t('app.select') + $t('userInfo.relationship')"
|
||||
@click="showPicker = true"
|
||||
/>
|
||||
<van-popup v-model:show="showPicker" round position="bottom">
|
||||
@@ -93,29 +154,31 @@
|
||||
native-type="submit"
|
||||
:disabled="!useEdit"
|
||||
>
|
||||
提交
|
||||
{{ $t('app.submit') }}
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {onMounted, reactive, ref} from "vue";
|
||||
import {getBorrowPage, getUserInfo, updateCustomerCard} from "@/api";
|
||||
import {resetData} from "@/utils/dataUtil";
|
||||
import {showToast} from "vant";
|
||||
import {useRouter} from "vue-router";
|
||||
import {useCascaderAreaData} from "@vant/area-data";
|
||||
import { onMounted, reactive, ref } from 'vue';
|
||||
import { getBorrowPage, getUserInfo, updateCustomerCard } from '@/api';
|
||||
import { resetData } from '@/utils/dataUtil';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { useCascaderAreaData } from '@vant/area-data';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const companyAddressShow = ref(false)
|
||||
const customerAddressShow = ref(false)
|
||||
const { t } = useI18n()
|
||||
|
||||
const companyAddressShow = ref(false);
|
||||
const customerAddressShow = ref(false);
|
||||
const cascaderValue = ref('');
|
||||
const customerAddressValue = ref('');
|
||||
const columns = [
|
||||
{ text: '父母', value: '1' },
|
||||
{ text: '配偶', value: '2' },
|
||||
{ text: '子女', value: '3' },
|
||||
{ text: '祖父母', value: '4' },
|
||||
{ text: t('userInfo.parents'), value: '1' },
|
||||
{ text: t('userInfo.spouse'), value: '2' },
|
||||
{ text: t('userInfo.children'), value: '3' },
|
||||
{ text: t('userInfo.grandparents'), value: '4' }
|
||||
];
|
||||
const userInfo = reactive({
|
||||
backCardNum: '',
|
||||
@@ -139,28 +202,28 @@ const userInfo = reactive({
|
||||
kinsfolkRef: '',
|
||||
kinsfolkRefText: '',
|
||||
realName: ''
|
||||
})
|
||||
});
|
||||
const _getUserInfo = () => {
|
||||
getUserInfo().then(res => {
|
||||
resetData(userInfo, res)
|
||||
resetData(userInfo, res);
|
||||
columns.forEach(c => {
|
||||
if (c.value == userInfo.kinsfolkRef) {
|
||||
userInfo.kinsfolkRefText = c.text
|
||||
userInfo.kinsfolkRefText = c.text;
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const borrowPage = {
|
||||
pageNum: 0,
|
||||
pageSize: 3,
|
||||
}
|
||||
const useEdit = ref(true)
|
||||
pageSize: 3
|
||||
};
|
||||
const useEdit = ref(true);
|
||||
const _getBorrowPage = () => {
|
||||
getBorrowPage(borrowPage).then(res => {
|
||||
useEdit.value = res.length === 0;
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const options = useCascaderAreaData();
|
||||
const onFinish = ({ selectedOptions }) => {
|
||||
@@ -183,21 +246,18 @@ const onConfirm = ({ selectedOptions }) => {
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
const router = useRouter()
|
||||
const router = useRouter();
|
||||
const saveUserInfoBtn = (values) => {
|
||||
updateCustomerCard(userInfo).then(res => {
|
||||
router.back()
|
||||
})
|
||||
}
|
||||
|
||||
router.back();
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
_getUserInfo()
|
||||
_getBorrowPage()
|
||||
})
|
||||
_getUserInfo();
|
||||
_getBorrowPage();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -215,6 +275,7 @@ onMounted(() => {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
box-shadow: 0 0 1vw 0px #e0e0e0;
|
||||
|
||||
&-content {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
@@ -249,6 +310,7 @@ onMounted(() => {
|
||||
color: #738aa4;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<div class="content">
|
||||
<j-gap background="#F9BF3A" height="120" opacity="0"/>
|
||||
<div class="action">
|
||||
<view class="tt">填写真实有效的信息,审核才会通过哦~</view>
|
||||
<view class="tt">{{ $t('userInfo.realPrompt') }}~</view>
|
||||
<van-field
|
||||
v-model="userInfo.bankType"
|
||||
:rules="[{ required: true, message: '请选择开户银行' }]"
|
||||
label="开户银行"
|
||||
placeholder="请输入开户银行"
|
||||
:label="$t('userInfo.bankOfDeposit')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.bankOfDeposit')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.bankOfDeposit') }]"
|
||||
:disabled="!useEdit"
|
||||
required
|
||||
/>
|
||||
@@ -22,8 +22,17 @@
|
||||
@confirm="onConfirm"
|
||||
/>
|
||||
</van-popup>-->
|
||||
<van-field :disabled="!useEdit" @paste="pasteField" @copy="copyField" v-model="userInfo.backCardNum" :rules="[{ required: true, message: '请输入银行卡号' }]" label="银行卡号" placeholder="请输入银行卡号" required
|
||||
type="digit"/>
|
||||
<van-field
|
||||
:disabled="!useEdit"
|
||||
@paste="pasteField"
|
||||
@copy="copyField"
|
||||
v-model="userInfo.backCardNum"
|
||||
:label="$t('userInfo.bankCard')"
|
||||
:placeholder="$t('app.enter') + $t('userInfo.bankCard')"
|
||||
:rules="[{ required: true, message: $t('app.enter') + $t('userInfo.bankCard') }]"
|
||||
required
|
||||
type="digit"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -37,7 +46,7 @@
|
||||
style="width: 100%; "
|
||||
v-if="useEdit"
|
||||
>
|
||||
提交
|
||||
{{ $t('app.submit') }}
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
Reference in New Issue
Block a user