|
@@ -18,32 +18,34 @@ |
|
|
|
|
|
|
|
|
<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> |
|
|
<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> |
|
|
<div class="main_box"> |
|
|
<div class="main_box"> |
|
|
<van-field label="省" required :rules="[{ required: true , message:'请输入省' }]" v-model="form.sheng" placeholder="请输入省" input-align="right" label-width="auto"/> |
|
|
|
|
|
<van-field label="市" required :rules="[{ required: true , message:'请输入市' }]" v-model="form.shi" placeholder="请输入市" input-align="right" label-width="auto"/> |
|
|
|
|
|
|
|
|
|
|
|
<van-field |
|
|
|
|
|
readonly |
|
|
|
|
|
clickable |
|
|
|
|
|
|
|
|
<FieldCascadeSelect :required="true" :rules="[{ required: true , message:'请选择省市' }]" data-key="value" value-key="label" :columns="regionOptions" v-model="form.region" placeholder="请选择开户省市" label="开户省市" label-width="auto" @input="onRegionChanged"/> |
|
|
|
|
|
|
|
|
|
|
|
<FieldSelect |
|
|
label="所属银行" |
|
|
label="所属银行" |
|
|
placeholder="请选择" |
|
|
placeholder="请选择" |
|
|
v-model="bankType" |
|
|
|
|
|
@click="showBankType = true" |
|
|
|
|
|
input-align="right" |
|
|
|
|
|
right-icon="arrow-down" |
|
|
|
|
|
|
|
|
v-model="form.bankType" |
|
|
label-width="auto" |
|
|
label-width="auto" |
|
|
required |
|
|
|
|
|
|
|
|
:required="true" |
|
|
:rules="[{ required: true , message:'请选择所属银行' }]" |
|
|
:rules="[{ required: true , message:'请选择所属银行' }]" |
|
|
|
|
|
:columns="bankTypeOptions" |
|
|
|
|
|
data-key="dictValue" |
|
|
|
|
|
value-key="dictLabel" |
|
|
/> |
|
|
/> |
|
|
<van-popup v-model="showBankType" position="bottom"> |
|
|
|
|
|
|
|
|
<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"> |
|
|
|
|
|
<template #button> |
|
|
|
|
|
<van-button :disabled="!canFetch" size="small" type="primary" native-type="button" @click="searchBankAddress">手动检索</van-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</van-field> |
|
|
|
|
|
<van-popup v-model:show="showBankAddress" position="bottom"> |
|
|
<van-picker |
|
|
<van-picker |
|
|
show-toolbar |
|
|
show-toolbar |
|
|
:columns="bankTypeOptions" |
|
|
|
|
|
@confirm="onConfirmBankType" |
|
|
|
|
|
@cancel="showBankType = false" |
|
|
|
|
|
|
|
|
value-key="bankDeposit" |
|
|
|
|
|
:columns="bankAddressOption" |
|
|
|
|
|
@confirm="onConfirmBankAddress" |
|
|
|
|
|
@cancel="showBankAddress = false" |
|
|
/> |
|
|
/> |
|
|
</van-popup> |
|
|
</van-popup> |
|
|
|
|
|
|
|
|
<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> |
|
|
|
|
|
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> |
|
|
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> |
|
|
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> |
|
|
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> |
|
|
|
|
|
|
|
@@ -62,21 +64,29 @@ |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { addDeposit } from "@/api/onlineHome/bankAgriculture/bankOfDeposit"; |
|
|
import { addDeposit } from "@/api/onlineHome/bankAgriculture/bankOfDeposit"; |
|
|
|
|
|
import {options} from "@/api/user"; |
|
|
|
|
|
import FieldCascadeSelect from "@/components/form/FieldCascadeSelect"; |
|
|
|
|
|
import {listDeposit, realtimeBankList} from "@/api/onlineHome/bankAgriculture/paymentAccount"; |
|
|
|
|
|
import FieldSelect from "@/components/form/FieldSelect"; |
|
|
export default { |
|
|
export default { |
|
|
name: "paymentAccountAdd", |
|
|
name: "paymentAccountAdd", |
|
|
|
|
|
components: {FieldSelect, FieldCascadeSelect}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
showBankType:false, |
|
|
showBankType:false, |
|
|
bankType:'', |
|
|
bankType:'', |
|
|
// 所属银行字典 |
|
|
// 所属银行字典 |
|
|
bankTypeOptions: [], |
|
|
bankTypeOptions: [], |
|
|
|
|
|
showBankAddress: false, |
|
|
|
|
|
bankAddressOption: [], |
|
|
form:{ |
|
|
form:{ |
|
|
sheng: "", //省 必填 |
|
|
sheng: "", //省 必填 |
|
|
shi: "", //市 必填 |
|
|
shi: "", //市 必填 |
|
|
bankType: "", //所属银行 必填 |
|
|
bankType: "", //所属银行 必填 |
|
|
bankDeposit: "", //开户行 必填 |
|
|
bankDeposit: "", //开户行 必填 |
|
|
payeePaymentLines: "", //联行号 //必填 |
|
|
payeePaymentLines: "", //联行号 //必填 |
|
|
} |
|
|
|
|
|
|
|
|
region: [], |
|
|
|
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
@@ -89,9 +99,7 @@ |
|
|
getDetail(){ |
|
|
getDetail(){ |
|
|
// 所属银行 |
|
|
// 所属银行 |
|
|
this.getDicts("bank_type_all").then(res => { |
|
|
this.getDicts("bank_type_all").then(res => { |
|
|
for (var i = 0; i < res.data.length; i++) { |
|
|
|
|
|
this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.bankTypeOptions = res.data; |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
getError(e){ |
|
|
getError(e){ |
|
@@ -114,7 +122,61 @@ |
|
|
}, |
|
|
}, |
|
|
goBack(){ |
|
|
goBack(){ |
|
|
window.history.go(-1) |
|
|
window.history.go(-1) |
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
onRegionChanged(val) { |
|
|
|
|
|
val = val || []; |
|
|
|
|
|
this.form.sheng = val.length > 0 ? val[0] : null; |
|
|
|
|
|
this.form.shi = val.length > 1 ? val[1] : null; |
|
|
|
|
|
}, |
|
|
|
|
|
onConfirmBankAddress(value){ |
|
|
|
|
|
this.form.bankAddress = value.bankDeposit; |
|
|
|
|
|
this.form.payeePaymentLines = value.payeePaymentLines; |
|
|
|
|
|
this.form.bankDeposit = value.bankDeposit; |
|
|
|
|
|
this.showBankAddress = false; |
|
|
|
|
|
}, |
|
|
|
|
|
checkFormField(what, desc) { |
|
|
|
|
|
if(!this.form[what]) |
|
|
|
|
|
{ |
|
|
|
|
|
this.$toast({ |
|
|
|
|
|
icon: 'fail', |
|
|
|
|
|
message: '请选择' + desc, |
|
|
|
|
|
duration:"1000", |
|
|
|
|
|
}); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
}, |
|
|
|
|
|
searchBankAddress(){ |
|
|
|
|
|
if(!this.checkFormField('sheng', '省')) return; |
|
|
|
|
|
if(!this.checkFormField('shi', '市')) return; |
|
|
|
|
|
if(!this.checkFormField('bankType', '所属银行')) return; |
|
|
|
|
|
if(!this.checkFormField('bankDeposit', '关键词')) return; |
|
|
|
|
|
let data = { |
|
|
|
|
|
sheng: this.form.sheng, |
|
|
|
|
|
shi: this.form.shi, |
|
|
|
|
|
bankType: this.form.bankType, |
|
|
|
|
|
bankDeposit: this.form.bankDeposit, |
|
|
|
|
|
} |
|
|
|
|
|
listDeposit(data).then(response => { |
|
|
|
|
|
if (response.rows.length<1){ |
|
|
|
|
|
realtimeBankList(data, false).then(response2 => { |
|
|
|
|
|
this.bankAddressOption = response2.data; |
|
|
|
|
|
this.showBankAddress = true; |
|
|
|
|
|
}); |
|
|
|
|
|
}else{ |
|
|
|
|
|
this.bankAddressOption = response.rows; |
|
|
|
|
|
this.showBankAddress = true; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
computed: { |
|
|
|
|
|
regionOptions() { |
|
|
|
|
|
return options; |
|
|
|
|
|
}, |
|
|
|
|
|
canFetch() { |
|
|
|
|
|
return this.form.sheng && this.form.shi && this.form.bankType && this.form.bankDeposit; |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|