This commit is contained in:
2023-09-13 18:29:35 +08:00
commit 4ac8391a9a
126 changed files with 15555 additions and 0 deletions

View File

@@ -0,0 +1,374 @@
<!-- 结算信息 -->
<template>
<el-row :gutter="gutter">
<el-col :span="span">
<el-form ref="d1FormRef" :model="d1Form" label-width="120" label-position="left">
<div class="title_wrap">
<el-text>D1</el-text>
<el-text type="danger" size="small" style="margin-top: 6px;">小微
(请保持银行卡信息(证件号码开户名卡号预留手机号)的匹配性)</el-text>
</div>
<el-form-item label="开户行地区" class="mt15">
<address-card ref="d1AddressRef" placeholder="请选择开户行地区" @change="d1SelectBankAddress"
style="width: 80%;" />
</el-form-item>
<el-form-item label="开户银行">
<el-select style="width: 80%;" v-model="d1Form.bankCard.bankname" placeholder="请选择开户银行"
@change="d1BanknameChange">
<el-option v-for="item in bankList" :key="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="开户支行">
<el-select style="width: 80%;" v-model="d1Form.bankCard.contactline" placeholder="请选择开户支行">
<el-option :label="item.cnapsName" :value="item.cnapsCode" v-for="item in bankBranchs"
:key="item.id" />
</el-select>
</el-form-item>
<el-form-item label="支行联行号">
<el-input v-model="d1Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;" />
</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-form-item>
<el-form-item label="预留手机号">
<el-input v-model="d1Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;" />
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="d1Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;" />
</el-form-item>
<el-form-item label="发放日期">
<el-date-picker style="width: 80%;" v-model="d1Form.idcard.createtime" type="date"
placeholder="请选择发放日期" />
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 80%;" v-model="d1Form.idcard.certendtime" type="date"
placeholder="请选择失效日期" />
</el-form-item>
<el-form-item label="身份证正面">
<uploadCard ref="d1idcardRef1" @selectFile="file => d1Form.idcard.imgpositive = file"
@removeFile="d1Form.idcard.imgpositive = ''" />
</el-form-item>
<el-form-item label="身份证反面">
<uploadCard ref="d1idcardRef2" @selectFile="file => d1Form.idcard.imgnegative = file"
@removeFile="d1Form.idcard.imgnegative = ''" />
</el-form-item>
<el-form-item label="结算卡图片">
<uploadCard ref="d1BankRef3" @selectFile="file => d1Form.bankCard.imgurl = file"
@removeFile="d1Form.bankCard.imgurl = ''" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="d1SubmitHandle">保存-D1</el-button>
</el-form-item>
</el-form>
</el-col>
<el-col :span="span">
<el-form ref="d0FormRef" :model="d0Form" label-width="120" label-position="left">
<div class="title_wrap">
<el-text>D0</el-text>
<el-text type="danger" size="small" style="margin-top: 6px;">小微
(请保持银行卡信息(证件号码开户名卡号预留手机号)的匹配性)</el-text>
</div>
<el-form-item label="开户行地区" class="mt15">
<address-card ref="d0AddressRef" placeholder="请选择开户行地区" @change="d0SelectBankAddress"
style="width: 80%;" />
</el-form-item>
<el-form-item label="开户银行">
<el-select style="width: 80%;" v-model="d0Form.bankCard.bankname" placeholder="请选择开户银行"
@change="d0BanknameChange">
<el-option v-for="item in bankList" :key="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="开户支行">
<el-select style="width: 80%;" v-model="d0Form.bankCard.contactline" placeholder="请选择开户支行">
<el-option :label="item.cnapsName" :value="item.cnapsCode" v-for="item in bankBranchs"
:key="item.id" />
</el-select>
</el-form-item>
<el-form-item label="支行联行号">
<el-input v-model="d0Form.bankCard.contactline" disabled placeholder="请输入支行联行号" style="width: 80%;" />
</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-form-item>
<el-form-item label="预留手机号">
<el-input v-model="d0Form.bankCard.phone" placeholder="请输入预留手机号" style="width: 80%;" />
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="d0Form.idcard.certno" placeholder="请输入身份证号码" style="width: 80%;" />
</el-form-item>
<el-form-item label="发放日期">
<el-date-picker style="width: 80%;" v-model="d0Form.idcard.createtime" type="date"
placeholder="请选择发放日期" />
</el-form-item>
<el-form-item label="失效日期">
<el-date-picker style="width: 80%;" v-model="d0Form.idcard.certendtime" type="date"
placeholder="请选择失效日期" />
</el-form-item>
<el-form-item label="身份证正面">
<uploadCard ref="d0idcardRef1" @selectFile="file => d0Form.idcard.imgpositive = file"
@removeFile="d0Form.idcard.imgpositive = ''" />
</el-form-item>
<el-form-item label="身份证反面">
<uploadCard ref="d0idcardRef2" @selectFile="file => d0Form.idcard.imgnegative = file"
@removeFile="d0Form.idcard.imgnegative = ''" />
</el-form-item>
<el-form-item label="结算卡图片">
<uploadCard ref="d0BankRef3" @selectFile="file => d0Form.bankCard.imgurl = file"
@removeFile="d0Form.bankCard.imgurl = ''" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="d0SubmitHandle">保存-D0</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</template>
<script setup>
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 { useRoute } from 'vue-router'
const route = useRoute()
const span = ref(12)
const gutter = ref(50)
const d1FormRef = ref(null)
const d1AddressRef = ref(null)
const d1idcardRef1 = ref(null)
const d1idcardRef2 = ref(null)
const d1BankRef3 = 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: ''
}
})
// d1获取省市区
function d1SelectBankAddress(e) {
if (e[1].label != d1Form.bankCard.branchcity) {
d1Form.bankCard.bankname = ''
d1Form.bankCard.contactline = ''
}
d1Form.bankCard.branchprovince = e[0].label
d1Form.bankCard.branchcity = e[1].label
d1Form.bankCard.brancharea = e[2].label
d1Form.bankCard.branchProvinceCode = e[0].code
d1Form.bankCard.branchCityCode = e[1].code
d1Form.bankCard.branchAreaCode = e[2].code
}
// d1确认选择开户银行
async function d1BanknameChange(val, city) {
try {
if (d1Form.bankCard.branchcity || city) {
const res = await getBranchList({
bankName: val,
cityName: city || d1Form.bankCard.branchcity
})
d1Form.bankCard.contactline = ''
bankBranchs.value = res.branchList
}
} catch (error) {
console.log('确认选择开户银行error', error)
}
}
// D1提交表单
async function d1SubmitHandle() {
try {
if (d1Form.idcard.imgpositive.uid) {
d1Form.idcard.imgpositive = await uploadOSS(d1Form.idcard.imgpositive.raw)
}
if (d1Form.idcard.imgnegative.uid) {
d1Form.idcard.imgnegative = await uploadOSS(d1Form.idcard.imgnegative.raw)
}
if (d1Form.bankCard.imgurl.uid) {
d1Form.bankCard.imgurl = await uploadOSS(d1Form.bankCard.imgurl.raw)
}
await updateAccount(d1Form)
ElMessage.success('提交成功')
} catch (error) {
console.log('D1提交表单error', error)
}
}
const d0AddressRef = ref(null)
const d0idcardRef1 = ref(null)
const d0idcardRef2 = ref(null)
const d0BankRef3 = 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: ''
}
})
const d0Rule = reactive({})
// d0获取省市区
function d0SelectBankAddress(e) {
if (e[1].label != d0Form.bankCard.branchcity) {
d0Form.bankCard.bankname = ''
d0Form.bankCard.contactline = ''
}
d0Form.bankCard.branchprovince = e[0].label
d0Form.bankCard.branchcity = e[1].label
d0Form.bankCard.brancharea = e[2].label
d0Form.bankCard.branchProvinceCode = e[0].code
d0Form.bankCard.branchCityCode = e[1].code
d0Form.bankCard.branchAreaCode = e[2].code
}
// d0确认选择开户银行
async function d0BanknameChange(val, city) {
try {
if (d0Form.bankCard.branchcity || city) {
const res = await getBranchList({
bankName: val,
cityName: city || d0Form.bankCard.branchcity
})
d0Form.bankCard.contactline = ''
bankBranchs.value = res.branchList
}
} catch (error) {
console.log('确认选择开户银行error', error)
}
}
// D0提交表单
async function d0SubmitHandle() {
try {
if (d0Form.idcard.imgpositive.uid) {
d0Form.idcard.imgpositive = await uploadOSS(d0Form.idcard.imgpositive.raw)
}
if (d0Form.idcard.imgnegative.uid) {
d0Form.idcard.imgnegative = await uploadOSS(d0Form.idcard.imgnegative.raw)
}
if (d0Form.bankCard.imgurl.uid) {
d0Form.bankCard.imgurl = await uploadOSS(d0Form.bankCard.imgurl.raw)
}
await updateAccount(d0Form)
ElMessage.success('提交成功')
} catch (error) {
console.log('d0提交表单error', error)
}
}
// 结算信息
async function merchBaseAccountAjax() {
try {
const res = await merchBaseAccount(route.query.id)
await d1BanknameChange(res.D1.bankCard.bankname, res.D1.bankCard.branchcity)
await d0BanknameChange(res.D1.bankCard.bankname, res.D1.bankCard.branchcity)
d1Form.bankCard = res.D1.bankCard
d1Form.idcard = res.D1.idCard
d0Form.bankCard = res.D0.bankCard
d0Form.idcard = res.D0.idCard
d1idcardRef1.value.pselectFile({ url: res.D1.idCard.imgpositive })
d1idcardRef2.value.pselectFile({ url: res.D1.idCard.imgnegative })
d1BankRef3.value.pselectFile({ url: res.D1.bankCard.imgurl })
d1AddressRef.value.setValue([res.D1.bankCard.branchProvinceCode, res.D1.bankCard.branchCityCode, res.D1.bankCard.branchAreaCode])
d0idcardRef1.value.pselectFile({ url: res.D0.idCard.imgpositive })
d0idcardRef2.value.pselectFile({ url: res.D0.idCard.imgnegative })
d0BankRef3.value.pselectFile({ url: res.D0.bankCard.imgurl })
d0AddressRef.value.setValue([res.D0.bankCard.branchProvinceCode, res.D0.bankCard.branchCityCode, res.D0.bankCard.branchAreaCode])
} catch (error) {
console.log('结算信息error:', error)
}
}
onMounted(() => {
merchBaseAccountAjax()
})
</script>
<style scoped lang="scss">
@import './common.scss';
</style>