<template>
|
<div class="dataBack" v-loading="loading">
|
<el-form label-position="right" :model="form" v-show="!loading" ref="form">
|
<el-row>
|
<p class="title">基本信息</p>
|
<parter-input :config.sync='form.channelname'></parter-input>
|
<partner-select :config.sync='form.cooperationmode'></partner-select>
|
<parter-input :config.sync='form.channelareaname'></parter-input>
|
<parter-input :config.sync='form.companybusinessregistration'></parter-input>
|
<parter-input :config.sync='form.unifiedsocialcreditcode'></parter-input>
|
<parter-input :config.sync='form.organizationcode'></parter-input>
|
<partner-date :config.sync='form.registrationtime'></partner-date>
|
<partner-select :config.sync='form.registeredcapital'></partner-select>
|
<partner-select :config.sync='form.industry'></partner-select>
|
<partner-select :config.sync='form.companytype'></partner-select>
|
<parter-input class="textAreaInput" :config.sync='form.scoptofbusiness' :isTextArea='isTextArea' :rows="3" :length="3000"></parter-input>
|
<parter-input :config.sync='form.businesslife'></parter-input>
|
<city-select
|
:province.sync="form.registerprovince"
|
:citys.sync="form.registercitys"
|
:county.sync="form.registercounty"
|
></city-select>
|
<parter-input :config.sync='form.registrationaddress'></parter-input>
|
<city-select
|
:province.sync="form.companyprovince"
|
:citys.sync="form.companycity"
|
:county.sync="form.companycounty"
|
></city-select>
|
<parter-input :config.sync='form.companyaddress'></parter-input>
|
<!-- 总公司所在城市 -->
|
<!-- <partner-select :config.sync='form.headquarterscity'></partner-select> -->
|
<partner-city-select :config.sync='form.headquarterscity'></partner-city-select>
|
<!-- 分公司所在城市 -->
|
<!-- <partner-select :config.sync='form.branchcompanycity'></partner-select> -->
|
<partner-city-select :config.sync='form.branchcompanycity'></partner-city-select>
|
<parter-bank-input :config.sync='form.openbankDesc' :namebank.sync="form.openbank"></parter-bank-input>
|
<!-- <parter-input :config.sync='form.openbank'></parter-input>
|
<parter-input :config.sync='form.openbankDesc'></parter-input> -->
|
<parter-input :config.sync='form.accountname'></parter-input>
|
<parter-input :config.sync='form.accountnumber'></parter-input>
|
</el-row>
|
<el-row>
|
<p class="title">法人信息</p>
|
<partner-select :config.sync='form.corporationcerttype'></partner-select>
|
<parter-input :config.sync='form.companyepesentitivename'></parter-input>
|
<parter-input :config.sync='form.corporationcertid'></parter-input>
|
</el-row>
|
<el-row>
|
<p class="title">负面信息</p>
|
<partner-select :config.sync='form.isnegativemessages'></partner-select>
|
<!-- <parter-messages-input is-text-area="textarea" rows="3" :config.sync='form.badrecord' class="badMassages"></parter-messages-input> -->
|
<parter-input class="textAreaInput" :config.sync='form.badrecord' :isTextArea='isTextArea' :rows="3" :length="3000"></parter-input>
|
</el-row>
|
<el-row>
|
<p class="title">合作信息</p>
|
<parter-input :config.sync='form.wechannelresponsibleperson'></parter-input>
|
<parter-input :config.sync='form.channelresponsiblepersonname'></parter-input>
|
<parter-input :config.sync='form.channelresponsiblepersoncertid'></parter-input>
|
<parter-input :config.sync='form.channelresponsiblepersonjob'></parter-input>
|
<parter-input :config.sync='form.channelresponsiblepersontel'></parter-input>
|
<parter-input :config.sync='form.channelresponsiblepersonemail'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonname1'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonjob1'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersontel1'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonemail1'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonname2'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonjob2'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersontel2'></parter-input>
|
<parter-input :config.sync='form.channelpickuppersonemail2'></parter-input>
|
</el-row>
|
<el-row>
|
<p class="title">专项资金收款账户</p>
|
<partner-table></partner-table>
|
</el-row>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import ParterInput from './components/ParterInput'
|
import ParterMessagesInput from './components/ParterMessagesInput'
|
import ParterBankInput from './components/ParterBankInput'
|
import CitySelect from './components/CitySelect'
|
import PartnerSelect from './components/PartnerSelect'
|
import PartnerCitySelect from './components/PartnerCitySelect'
|
import PartnerDate from './components/PartnerDate'
|
import PartnerTable from './components/PartnerTable'
|
import { qryChannelAdmitInDetailAndDeal, saveChannelAdmit, submitChannelAdmitIn } from '@/api/area/partner'
|
import { mapState } from 'vuex'
|
export default {
|
components: { PartnerTable, ParterInput, ParterMessagesInput, ParterBankInput, PartnerSelect, PartnerCitySelect, PartnerDate, CitySelect },
|
props: ['nextChange'],
|
data: function() {
|
return {
|
isTextArea: 'textarea',
|
loading: true,
|
form: {
|
cooperationmode: '',
|
channelareaname: '',
|
companybusinessregistration: '',
|
unifiedsocialcreditcode: '',
|
organizationcode: '',
|
registrationtime: '',
|
registeredcapital: '',
|
industry: '',
|
companytype: '',
|
scoptofbusiness: '',
|
businesslife: '',
|
registerprovince: '',
|
registercitys: '',
|
registercounty: '',
|
registrationaddress: '',
|
companyprovince: '',
|
companycity: '',
|
companycounty: '',
|
companyaddress: '',
|
headquarterscity: '',
|
branchcompanycity: '',
|
openbank: '',
|
openbankDesc: '',
|
accountname: '',
|
accountnumber: '',
|
corporationcerttype: '',
|
companyepesentitivename: '',
|
corporationcertid: '',
|
isnegativemessages: '',
|
badrecord: '',
|
wechannelresponsibleperson: '',
|
channelresponsiblepersonname: '',
|
channelresponsiblepersoncertid: '',
|
channelresponsiblepersonjob: '',
|
channelresponsiblepersontel: '',
|
channelresponsiblepersonemail: '',
|
channelpickuppersonname1: '',
|
channelpickuppersonjob1: '',
|
channelpickuppersontel1: '',
|
channelpickuppersonemail1: '',
|
channelpickuppersonname2: '',
|
channelpickuppersonjob2: '',
|
channelpickuppersontel2: '',
|
channelpickuppersonemail2: '',
|
channelname: '',
|
},
|
oldForm: {},
|
nextChangeCopy: null
|
}
|
},
|
created() {
|
this.initForm()
|
// console.log(this.form)
|
},
|
computed: {
|
...mapState({
|
partnerParams: state => state.risk.partnerParams
|
})
|
},
|
watch: {
|
'form.isnegativemessages.value': function(newVal) {
|
// this.form.badrecord.visible = Boolean(newVal === '1')
|
this.form.badrecord.required = Boolean(newVal === '1')
|
// this.form.badrecord.writeAble = Boolean(newVal === '1')
|
}
|
},
|
methods: {
|
// 初始化表单
|
async initForm() {
|
this.nextChangeCopy = this.nextChange
|
let params = {
|
serialno: this.partnerParams.serialno,
|
objectno: this.partnerParams.objectno,
|
objectType: this.partnerParams.objectType,
|
ftserialno: this.partnerParams.ftserialno,
|
}
|
let res = await qryChannelAdmitInDetailAndDeal(params)
|
this._.merge(this.form, res.result)
|
// 浅克隆数据便于后期数据对比
|
Object.assign(this.oldForm, res.result)
|
// this.nextChange = false
|
this.loading = false
|
},
|
// 表单提交
|
handleSubmit() {
|
this.$refs['form'].validate(valid => {
|
if (valid) {
|
this.oldForm = Object.assign(this.oldForm, this.from)
|
this.nextChangeCopy = false
|
let params = {}
|
Object.keys(this.form).forEach(key => {
|
params[key] = this.form[key].value
|
})
|
params.ischeck = true
|
saveChannelAdmit(params).then(res => {
|
if (res.code === '00') {
|
// this.$message.success('提交成功!')
|
this.oldForm = Object.assign(this.oldForm, this.from)
|
// console.log(1111)
|
this.$emit('handleNextPage', true)
|
}
|
})
|
} else {
|
this.$message.warning('当前页面存在必填项未录入或数据录入错误,请检查!')
|
return false
|
}
|
})
|
},
|
// 保存草稿
|
async handleSaveDarft(submitSave) {
|
let params = {}
|
Object.keys(this.form).forEach(key => {
|
params[key] = this.form[key].value
|
})
|
params.ischeck = false
|
let res = await saveChannelAdmit(params)
|
if (res.code === '00') {
|
if (!submitSave) {
|
this.$message.success('保存成功!')
|
this.oldForm = Object.assign(this.oldForm, this.from)
|
this.nextChangeCopy = false
|
}
|
}
|
},
|
// 保存
|
handleSave() {
|
this.$refs['form'].validate(valid => {
|
if (valid) {
|
let params = {}
|
Object.keys(this.form).forEach(key => {
|
params[key] = this.form[key].value
|
})
|
params.ischeck = true
|
saveChannelAdmit(params).then(res => {
|
if (res.code === '00') {
|
this.$message.success('保存成功')
|
// this.$emit('handleNextPage', true)
|
this.oldForm = Object.assign(this.oldForm, this.from)
|
this.nextChangeCopy = false
|
}
|
})
|
} else {
|
this.$message.warning('当前页面存在必填项未录入或数据录入错误,请检查!')
|
return false
|
}
|
})
|
},
|
},
|
beforeRouteLeave (to, from, next) {
|
// console.log(this.form)
|
// console.log(this.oldForm)
|
// console.log(this.nextChange)
|
if (this.nextChangeCopy) {
|
for (const key in this.oldForm) {
|
if (this.oldForm.hasOwnProperty(key)) {
|
if (this.oldForm[key].value != this.form[key].value) {
|
// console.log(this.oldForm[key].value)
|
// console.log(this.form[key].value)
|
this.$confirm(`当前页面有未保存的数据,是否放弃保存`, '提示', {
|
confirmButtonText: '是',
|
cancelButtonText: '否',
|
customClass: 'par_messages_box',
|
confirmButtonClass: 'par_messages_box_confirm',
|
cancelButtonClass: 'par_messages_box_cancel',
|
center: true
|
})
|
.then(() => {
|
next()
|
})
|
.catch(() => {
|
this.$emit('notNext')
|
})
|
return
|
}
|
}
|
}
|
}
|
next()
|
}
|
}
|
</script>
|
|
<style lang="stylus" scoped>
|
.badMassages{
|
>>> .el-form-item{
|
margin-left 10px
|
}
|
// >>> .el-form-item__label {
|
// margin-top -200px
|
// }
|
>>> .el-textarea__inner {
|
// width 1230px
|
}
|
}
|
.textAreaInput{
|
width 100%
|
>>> .el-form-item__label {
|
margin-top -60px
|
}
|
>>> .el-form-item__content {
|
& > .el-textarea {
|
& > .el-textarea__inner {
|
color #000
|
}
|
& > .el-textarea__inner[readonly="readonly"] {
|
color #666
|
background-color: #fafafa;
|
}
|
}
|
}
|
}
|
</style>
|