This commit is contained in:
2023-10-24 14:19:47 +08:00
parent ea37eeb9e7
commit f23fd6b01c
7 changed files with 184 additions and 97 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "vue-admin",
"private": true,
"version": "1.2.37",
"version": "1.2.41",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -248,3 +248,28 @@ export function updatemerchLicense(data) {
data
})
}
/**
* 结算信息 认证信息
* @returns
*/
export function authentication(userId) {
return request({
method: 'get',
url: `/merchantInfo/detail/authentication/${userId}`
})
}
/**
* 更改认证信息
* @param {*} data
* @returns
*/
export function updateAuthentication(params) {
return request({
method: 'get',
url: '/merchantInfo/detail/updateAuthentication',
params
})
}

View File

@@ -92,4 +92,13 @@ export function clearNoNum(obj) {
}
}
return obj.value;
}
/**
* 过滤字符串空格
* @param {*} str
* @returns
*/
export function removeSpaces(str) {
return str.replace(/\s+/g, '');
}

View File

@@ -24,7 +24,8 @@
</el-col>
<el-col :span="span">
<el-form-item prop="idCard.certno" label="身份证号码">
<el-input v-model="form.idCard.certno" placeholder="请输入身份证号码" />
<el-input v-model.trim="form.idCard.certno" placeholder="请输入身份证号码"
@input="e => form.idCard.certno = removeSpaces(e)" />
</el-form-item>
</el-col>
</el-row>
@@ -70,12 +71,14 @@
<el-row :gutter="gutter">
<el-col :span="span">
<el-form-item prop="bankCard.bankcardno" label="银行卡号">
<el-input v-model="form.bankCard.bankcardno" placeholder="请输入银行卡号" />
<el-input v-model.trim="form.bankCard.bankcardno" placeholder="请输入银行卡号"
@input="e => form.bankCard.bankcardno = removeSpaces(e)" />
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item prop="bankCard.phone" label="预留手机号">
<el-input v-model="form.bankCard.phone" placeholder="请输入预留手机号" />
<el-input v-model.trim="form.bankCard.phone" placeholder="请输入预留手机号"
@input="e => form.bankCard.phone = removeSpaces(e)" />
</el-form-item>
</el-col>
</el-row>
@@ -121,6 +124,7 @@
</template>
<script setup>
import { removeSpaces } from '@/utils/index.js'
import bankList from './bankList'
import { ElMessage } from 'element-plus'

View File

@@ -9,7 +9,7 @@
</el-col>
<el-col :span="span">
<el-form-item label="法人身份证号">
<el-input v-model="form.idCard.certno" placeholder="请输入法人身份证号" />
<el-input v-model="form.idCard.certno" placeholder="请输入法人身份证号" @input="e => form.idCard.certno = removeSpaces(e)" />
</el-form-item>
</el-col>
</el-row>
@@ -30,12 +30,12 @@
<el-row :gutter="gutter">
<el-col :span="span">
<el-form-item label="执照名称">
<el-input v-model="form.license.bussauthname" placeholder="请输入执照名称" />
<el-input v-model="form.license.bussauthname" placeholder="请输入执照名称" @input="e => form.license.bussauthname = removeSpaces(e)" />
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label="工商注册号">
<el-input v-model="form.license.bussauthnum" placeholder="请输入工商注册号" />
<el-input v-model="form.license.bussauthnum" placeholder="请输入工商注册号" @input="e => form.license.bussauthnum = removeSpaces(e)" />
</el-form-item>
</el-col>
</el-row>
@@ -88,6 +88,7 @@
</template>
<script setup>
import { removeSpaces } from '@/utils/index.js'
import { merchLicense, updatemerchLicense } from '@/api/shop.js'
import uploadCard from './uploadCard.vue'

View File

@@ -25,27 +25,31 @@
</el-select>
</el-form-item>
<el-form-item label="支行联行号">
<el-input v-model="d1Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;" />
<el-input v-model="d1Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;"
@input="e => d1Form.bankCard.contactline = removeSpaces(e)" />
</el-form-item>
<el-form-item label="开户名">
<el-input v-model="d1Form.bankCard.bankholder" placeholder="请输入开户名" style="width: 80%;" />
</el-form-item>
<el-form-item label="开户账号">
<el-input v-model="d1Form.bankCard.bankcardno" placeholder="请输入开户账号" style="width: 80%;" />
<el-input v-model="d1Form.bankCard.bankcardno" placeholder="请输入开户账号" style="width: 80%;"
@input="e => d1Form.bankCard.bankcardno = removeSpaces(e)" />
</el-form-item>
<el-form-item label="预留手机号">
<el-input v-model="d1Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;" />
<el-input v-model="d1Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;"
@input="e => d1Form.bankCard.phone = removeSpaces(e)" />
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="d1Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;" />
<el-input v-model="d1Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;"
@input="e => d1Form.idcard.certno = removeSpaces(e)" />
</el-form-item>
<el-form-item label="发放日期">
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d1Form.idcard.certstarttime" type="date"
placeholder="请选择发放日期" />
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d1Form.idcard.certstarttime"
type="date" placeholder="请选择发放日期" />
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d1Form.idcard.certendtime" type="date"
placeholder="请选择失效日期" />
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d1Form.idcard.certendtime"
type="date" placeholder="请选择失效日期" />
</el-form-item>
<el-form-item label="身份证正面">
<uploadCard ref="d1idcardRef1" @selectFile="file => d1Form.idcard.imgpositive = file"
@@ -59,6 +63,14 @@
<uploadCard ref="d1BankRef3" @selectFile="file => d1Form.bankCard.imgurl = file"
@removeFile="d1Form.bankCard.imgurl = ''" />
</el-form-item>
<el-form-item label="非法人授权函" v-show="d1Form.certificateurl">
<uploadCard ref="d1BankRef4" @selectFile="file => d1Form.certificateurl = file"
@removeFile="d1Form.certificateurl = ''" />
</el-form-item>
<el-form-item label="对公开户许可证" v-show="d1Form.publicimage">
<uploadCard ref="d1BankRef5" @selectFile="file => d1Form.publicimage = file"
@removeFile="d1Form.publicimage = ''" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="d1SubmitHandle">保存-D1</el-button>
</el-form-item>
@@ -88,27 +100,31 @@
</el-select>
</el-form-item>
<el-form-item label="支行联行号">
<el-input v-model="d0Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;" />
<el-input v-model="d0Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;"
@input="e => d0Form.bankCard.contactline = removeSpaces(e)" />
</el-form-item>
<el-form-item label="开户名">
<el-input v-model="d0Form.bankCard.bankholder" placeholder="请输入开户名" style="width: 80%;" />
</el-form-item>
<el-form-item label="开户账号">
<el-input v-model="d0Form.bankCard.bankcardno" placeholder="请输入开户账号" style="width: 80%;" />
<el-input v-model="d0Form.bankCard.bankcardno" placeholder="请输入开户账号" style="width: 80%;"
@input="e => d0Form.bankCard.bankcardno = removeSpaces(e)" />
</el-form-item>
<el-form-item label="预留手机号">
<el-input v-model="d0Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;" />
<el-input v-model="d0Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;"
@input="e => d0Form.bankCard.phone = removeSpaces(e)" />
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="d0Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;" />
<el-input v-model="d0Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;"
@input="e => d0Form.idcard.certno = removeSpaces(e)" />
</el-form-item>
<el-form-item label="发放日期">
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d0Form.idcard.certstarttime" type="date"
placeholder="请选择发放日期" />
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d0Form.idcard.certstarttime"
type="date" placeholder="请选择发放日期" />
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d0Form.idcard.certendtime" type="date"
placeholder="请选择失效日期" />
<el-date-picker style="width: 80%;" value-format="YYYYMMDD" v-model="d0Form.idcard.certendtime"
type="date" placeholder="请选择失效日期" />
</el-form-item>
<el-form-item label="身份证正面">
<uploadCard ref="d0idcardRef1" @selectFile="file => d0Form.idcard.imgpositive = file"
@@ -122,24 +138,50 @@
<uploadCard ref="d0BankRef3" @selectFile="file => d0Form.bankCard.imgurl = file"
@removeFile="d0Form.bankCard.imgurl = ''" />
</el-form-item>
<el-form-item label="非法人授权函" v-show="d0Form.certificateurl">
<uploadCard ref="d0BankRef4" @selectFile="file => d0Form.certificateurl = file"
@removeFile="d0Form.certificateurl = ''" />
</el-form-item>
<el-form-item label="对公开户许可证" v-show="d0Form.publicimage">
<uploadCard ref="d0BankRef5" @selectFile="file => d0Form.publicimage = file"
@removeFile="d0Form.publicimage = ''" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="d0SubmitHandle">保存-D0</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
<div class="title_wrap">
<el-text>认证信息</el-text>
</div>
<el-form :model="authForm" label-width="120" label-position="left" class="mt15">
<el-row :gutter="gutter">
<el-col :span="span">
<el-form-item label="结算人与收银台合照">
<uploadCard ref="authFormUpload1" @selectFile="file => authForm.picUrl = file"
@removeFile="authForm.picUrl = ''" />
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button type="primary" @click="updateAuthenticationAjax" :loading="authFormLoading">保存认证信息</el-button>
</el-form-item>
</el-form>
</template>
<script setup>
import { removeSpaces } from '@/utils/index.js'
import bankList from './bankList';
import addressCard from '@/components/addressCard.vue'
import uploadCard from './uploadCard.vue'
import { uploadOSS } from '@/api/home.js'
import { merchBaseAccount, getBranchList, updateAccount } from '@/api/shop.js'
import { merchBaseAccount, getBranchList, updateAccount, authentication, updateAuthentication } from '@/api/shop.js'
import { useRoute } from 'vue-router'
import { ElMessage } from 'element-plus';
const route = useRoute()
const span = ref(12)
@@ -150,45 +192,16 @@ const d1AddressRef = ref(null)
const d1idcardRef1 = ref(null)
const d1idcardRef2 = ref(null)
const d1BankRef3 = ref(null)
const d1BankRef4 = ref(null)
const d1BankRef5 = ref(null)
const bankBranchs = ref([])
const d1Form = reactive({
userid: route.query.id,
channeltype: 'D1',
bankCard: {
id: '',
userid: '',
bankholder: '',
bankcardno: '',
bankname: '',
branchname: '',
accounttype: '',
contactline: '',
branchprovince: '',
branchProvinceCode: '',
branchcity: '',
branchCityCode: '',
brancharea: '',
branchAreaCode: '',
bankaddressno: '',
phone: '',
imgurl: ''
},
idcard: {
id: '',
userid: '',
usertype: '',
certtype: '',
certno: '',
certname: '',
certstarttime: '',
certendtime: '',
certaddress: '',
createtime: '',
updatetime: '',
imgpositive: '',
imgnegative: '',
virtypeflag: ''
}
bankCard: {},
idcard: {},
certificateurl: '',
publicimage: ''
})
// d1获取省市区
@@ -234,6 +247,12 @@ async function d1SubmitHandle() {
if (d1Form.bankCard.imgurl.uid) {
d1Form.bankCard.imgurl = await uploadOSS(d1Form.bankCard.imgurl.raw)
}
if (d1Form.certificateurl.uid) {
d1Form.certificateurl = await uploadOSS(d1Form.certificateurl.raw)
}
if (d1Form.publicimage.uid) {
d1Form.publicimage = await uploadOSS(d1Form.publicimage.raw)
}
await updateAccount(d1Form)
ElMessage.success('提交成功')
} catch (error) {
@@ -245,47 +264,17 @@ const d0AddressRef = ref(null)
const d0idcardRef1 = ref(null)
const d0idcardRef2 = ref(null)
const d0BankRef3 = ref(null)
const d0BankRef4 = ref(null)
const d0BankRef5 = ref(null)
const d0FormRef = ref(null)
const d0Form = reactive({
userid: route.query.id,
channeltype: 'D0',
bankCard: {
id: '',
userid: '',
bankholder: '',
bankcardno: '',
bankname: '',
branchname: '',
accounttype: '',
contactline: '',
branchprovince: '',
branchProvinceCode: '',
branchcity: '',
branchCityCode: '',
brancharea: '',
branchAreaCode: '',
bankaddressno: '',
phone: '',
imgurl: ''
},
idcard: {
id: '',
userid: '',
usertype: '',
certtype: '',
certno: '',
certname: '',
certstarttime: '',
certendtime: '',
certaddress: '',
createtime: '',
updatetime: '',
imgpositive: '',
imgnegative: '',
virtypeflag: ''
}
bankCard: {},
idcard: {},
certificateurl: '',
publicimage: ''
})
const d0Rule = reactive({})
// d0获取省市区
function d0SelectBankAddress(e) {
@@ -330,6 +319,12 @@ async function d0SubmitHandle() {
if (d0Form.bankCard.imgurl.uid) {
d0Form.bankCard.imgurl = await uploadOSS(d0Form.bankCard.imgurl.raw)
}
if (d0Form.certificateurl.uid) {
d0Form.certificateurl = await uploadOSS(d0Form.certificateurl.raw)
}
if (d0Form.publicimage.uid) {
d0Form.publicimage = await uploadOSS(d0Form.publicimage.raw)
}
await updateAccount(d0Form)
ElMessage.success('提交成功')
} catch (error) {
@@ -346,13 +341,23 @@ async function merchBaseAccountAjax() {
d1Form.bankCard = res.D1.bankCard
d1Form.idcard = res.D1.idCard
d1Form.certificateurl = res.D1.certificateurl
d1Form.publicimage = res.D1.publicimage
d0Form.bankCard = res.D0.bankCard
d0Form.idcard = res.D0.idCard
d0Form.certificateurl = res.D0.certificateurl
d0Form.publicimage = res.D0.publicimage
d1idcardRef1.value.pselectFile({ url: res.D1.idCard.imgpositive })
d1idcardRef2.value.pselectFile({ url: res.D1.idCard.imgnegative })
d1BankRef3.value.pselectFile({ url: res.D1.bankCard.imgurl })
if (res.D1.certificateurl) {
d1BankRef4.value.pselectFile({ url: res.D1.certificateurl })
}
if (res.D1.publicimage) {
d1BankRef5.value.pselectFile({ url: res.D1.publicimage })
}
if (res.D1.bankCard.branchProvinceCode) {
d1AddressRef.value.setValue([res.D1.bankCard.branchProvinceCode, res.D1.bankCard.branchCityCode, res.D1.bankCard.branchAreaCode])
} else {
@@ -362,18 +367,60 @@ async function merchBaseAccountAjax() {
d0idcardRef1.value.pselectFile({ url: res.D0.idCard.imgpositive })
d0idcardRef2.value.pselectFile({ url: res.D0.idCard.imgnegative })
d0BankRef3.value.pselectFile({ url: res.D0.bankCard.imgurl })
if (res.D0.certificateurl) {
d0BankRef4.value.pselectFile({ url: res.D0.certificateurl })
}
if (res.D0.publicimage) {
d0BankRef5.value.pselectFile({ url: res.D0.publicimage })
}
if (res.D0.bankCard.branchProvinceCode) {
d0AddressRef.value.setValue([res.D0.bankCard.branchProvinceCode, res.D0.bankCard.branchCityCode, res.D0.bankCard.branchAreaCode])
} else {
d0AddressRef.value.textSetValue([res.D0.bankCard.branchprovince, res.D0.bankCard.branchcity, res.D0.bankCard.brancharea])
}
} catch (error) {
console.log('结算信息error:', error)
console.error('结算信息error:', error)
}
}
// 结算人与收银台合照 结算人手持身份证照
const authForm = reactive({
merchantCode: route.query.merchantcode,
picUrl: ''
})
const authFormLoading = ref(false)
const authFormUpload1 = ref(null)
// 认证信息
async function authenticationAjax() {
try {
const res = await authentication(route.query.id)
authForm.picUrl = res.image
authFormUpload1.value.pselectFile({ url: res.image })
} catch (error) {
console.error('认证信息===', error)
}
}
// 更改认证信息
async function updateAuthenticationAjax() {
try {
authFormLoading.value = true
if (authForm.picUrl.uid) {
authForm.picUrl = await uploadOSS(authForm.picUrl.raw)
}
await updateAuthentication(authForm)
authFormLoading.value = false
ElMessage.success('提交成功')
} catch (error) {
authFormLoading.value = false
console.error('更改认证信息===', error)
}
}
onMounted(() => {
merchBaseAccountAjax()
authenticationAjax()
})
</script>

View File

@@ -33,7 +33,7 @@
</el-col>
<el-col :span="span">
<el-form-item prop="contactmobile" label="联系人电话">
<el-input v-model="form.contactmobile" placeholder="请输入联系人电话" />
<el-input v-model="form.contactmobile" placeholder="请输入联系人电话" @input="e => form.contactmobile = removeSpaces(e)"/>
</el-form-item>
</el-col>
</el-row>
@@ -110,6 +110,7 @@
</template>
<script setup>
import { removeSpaces } from '@/utils/index.js'
import uploadCard from './uploadCard.vue'
import addressCard from '@/components/addressCard.vue'
import { ElMessage } from 'element-plus'