<template>
|
<div class="product">
|
<div v-for="(item,index) in reFactoringArr" :key="index">
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
再保理信息
|
</p>
|
<el-form :model="reFactoringForm[index]" :rules="rules" ref="reFactoringForm" label-width="165px" size="small" inline>
|
<el-form-item label="资金方全称" v-if="item.fundunitname.visible" prop="fundunitname">
|
<el-input
|
v-model="reFactoringForm[index].fundunitname"
|
:disabled="!item.fundunitname.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="资金方开户银行名称" v-if="item.fundunitbankno.visible" prop="fundunitbankno">
|
<el-select
|
v-model="reFactoringForm[index].fundunitbankno"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择"
|
:disabled="!item.fundunitbankno.writeAble"
|
>
|
<el-option
|
v-for="item in fundunitbanknoList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="资金方银行账号" v-if="item.fundunitbankaccount.visible" prop="fundunitbankaccount">
|
<el-input
|
v-model="reFactoringForm[index].fundunitbankaccount"
|
:disabled="!item.fundunitbankaccount.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="再保理利率(%)" v-if="item.factoringrate.visible" prop="factoringrate">
|
<el-input
|
v-model="reFactoringForm[index].factoringrate"
|
:disabled="!item.factoringrate.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="再保理回款日期" v-if="item.receivabledate.visible" prop="receivabledate">
|
<el-date-picker
|
v-model="reFactoringForm[index].receivabledate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
:disabled="!item.receivabledate.writeAble"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item label="再保理期限调整天数" v-if="item.changeday.visible" prop="changeday">
|
<el-input
|
v-model="reFactoringForm[index].changeday"
|
:disabled="!item.changeday.writeAble"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="登记人" v-if="item.inputuserid.visible">
|
<el-input v-model="item.inputuserid.valueDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="登记机构" v-if="item.inputorgid.visible">
|
<el-input v-model="item.inputorgid.valueDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="登记日期" v-if="item.inputdata.visible">
|
<el-input v-model="reFactoringForm[index].inputdata" disabled></el-input>
|
</el-form-item>
|
</el-form>
|
</div>
|
</div>
|
<div class="btn">
|
<el-button
|
size="medium"
|
plain
|
@click="save(reFactoringForm)"
|
>保存</el-button>
|
<el-button
|
size="medium"
|
plain
|
@click="prevStep"
|
>上一页</el-button>
|
<el-button
|
size="medium"
|
plain
|
@click="nextPage()"
|
>下一页</el-button>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import {
|
qryFactoringInfo,
|
saveFactoringInfo,
|
getDictionaryList
|
} from '@api/product'
|
import common from "@/utils/common";
|
export default {
|
data () {
|
return {
|
applyInfo:this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
reFactoringArr:[],
|
reFactoringForm:[],
|
initialArr:[],
|
fundunitbanknoList:[],
|
rules:{}
|
}
|
},
|
async created () {
|
this.$parent._data.loading = true;
|
const result = await this.qryFactoringInfo()
|
this.getFactoringInfo(result)
|
this.$parent._data.loading = false;
|
this.fundunitbanknoList = await this.qryDictionaryList('BankCode')
|
},
|
methods: {
|
// 查询再保理信息
|
qryFactoringInfo(){
|
return new Promise(resolve=>{
|
qryFactoringInfo({ applySerialNo:this.applyInfo.serialNo }).then(res=>{
|
resolve(res.result)
|
})
|
})
|
},
|
// 处理数据
|
getFactoringInfo(result){
|
this.reFactoringArr = [result]
|
this.reFactoringForm = []
|
this.initialArr = []
|
this.reFactoringArr.forEach((val,index) => {
|
const obj = {}
|
for (const key in val) {
|
obj[key] = val[key].value;
|
this.rules[key] = [];
|
if (val[key].required) {
|
this.rules[key].push({
|
required: true,
|
message: `请输入${val[key].filedDescription}`,
|
trigger: "change"
|
});
|
}
|
}
|
this.reFactoringForm.push(obj);
|
this.initialArr.push(Object.assign({}, obj));
|
});
|
},
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
// 上一页
|
prevStep(){
|
this.applyMenu.forEach((val, index) => {
|
if (val.tabname == "再保理信息") {
|
common.tabInfo(
|
this.applyMenu[index - 1].tabname,
|
this.applyInfo.flowno,
|
this
|
);
|
}
|
});
|
},
|
// 下一页
|
nextPage() {
|
// 调用父组件的查询左侧tab的方法
|
this.$parent.updateApplyTabTree('再保理信息');
|
},
|
// 保存并校验数据完整性
|
save(arr){
|
const validateForm = common.validateForm(this.$refs.reFactoringForm)
|
this.tabIndex = validateForm.index === undefined ? this.tabIndex : '' + validateForm.index
|
if(!validateForm.flag)return;
|
arr.forEach(val => {
|
val.objectno = this.applyInfo.serialNo;
|
});
|
this.$parent._data.loading = true;
|
saveFactoringInfo(arr[0]).then(async res=>{
|
this.$parent._data.loading = false;
|
if(res.code == '00'){
|
this.$message.success('保存成功')
|
const result = await this.qryFactoringInfo()
|
this.getFactoringInfo(result)
|
}
|
})
|
}
|
},
|
beforeRouteLeave(to, from, next) {
|
!this.reFactoringForm.length||common.compareFormData(this.initialArr,this.reFactoringForm,next)?next():''
|
}
|
}
|
</script>
|