<template>
|
<div>
|
<component
|
v-bind:is="componentName"
|
:conf="info"
|
:typeId="typeId"
|
v-bind="$attrs"
|
v-on="$listeners"
|
:ref="refId"
|
></component>
|
</div>
|
</template>
|
<script>
|
|
export default {
|
components: {
|
|
},
|
props: {
|
/**
|
* 节点信息
|
* @example
|
* { "tabname": "借款人信息", "exist": "Y", "gray": "N", "visible": "Y" }
|
*/
|
info: {
|
type: Object,
|
required: true
|
},
|
index: {
|
type: Number,
|
default: 0
|
}
|
},
|
created() {
|
// const { $route } = this
|
// const { query } = $route
|
},
|
methods: {
|
submit(isSave = 0) {
|
const { refId } = this
|
if (typeof this.$refs[refId].submit === 'function') {
|
this.$refs[refId].submit(isSave)
|
}
|
},
|
checkData() {
|
const { refId } = this
|
if (typeof this.$refs[refId].checkData === 'function') {
|
this.$refs[refId].checkData()
|
}
|
},
|
resetForm() {
|
const { refId } = this
|
if (typeof this.$refs[refId].resetForm === 'function') {
|
this.$refs[refId].resetForm()
|
}
|
},
|
showCheck() {
|
this.$emit('showCheck', true)
|
}
|
},
|
computed: {
|
componentName(item) {
|
let { info } = this
|
const { pageId, transCode } = this.$route.query
|
let { tabName } = info
|
let tabComponent = null
|
|
if (tabName === '额度信息') {
|
tabComponent = () => import('@/components/tabs/QuotaInformation')
|
}
|
|
if (tabName === '产品额度信息') {
|
tabComponent = () => import('@/components/tabs/ProductQuotaInfo')
|
}
|
|
if (tabName === '基础额度信息') {
|
tabComponent = () => import('@/components/tabs/BaseQuotaInformation')
|
}
|
|
if (tabName === '额度项下业务') {
|
tabComponent = () => import('@/components/tabs/BusinessUnderQuota')
|
}
|
|
if (tabName === '历史维护信息') {
|
tabComponent = () => import('@/components/tabs/historyMaintainInfo')
|
// console.log(tabName)
|
}
|
|
// if (tabName === '借据信息') {
|
// if (pageId === '36') {
|
// tabComponent = 'AcctLoanReturn'
|
// } else {
|
// tabComponent = 'AcctLoan'
|
// }
|
// }
|
|
// if (tabName === '开票基本信息') {
|
// tabComponent = () => import('@/components/tabs/InvoiceInfo')
|
// }
|
|
return tabComponent
|
},
|
typeId() {
|
let { info } = this
|
let { tabName } = info
|
let id = ''
|
if (['变更前减免信息', '历史电子邮件信息'].includes(tabName)) {
|
id = 1
|
}
|
|
if (['变更前还款息费', '历史邮寄信息'].includes(tabName)) {
|
id = 2
|
}
|
|
if (tabName === '变更申请信息') {
|
id = 3
|
}
|
return id
|
},
|
refId() {
|
const { index } = this
|
return `tabContent${index}`
|
}
|
}
|
}
|
</script>
|
<style lang="postcss" scoped>
|
</style>
|