<template>
|
<div class="apply-info" style="margin-top: 20px;">
|
<el-tabs v-model="tabsName" @tab-click="switchTab" type="card">
|
<el-tab-pane
|
:key="item.functionName"
|
v-for="(item, index) in tabsMenus"
|
:label="item.functionNameDesc"
|
:closable="false"
|
:name="item.functionName"
|
>
|
<!-- v-if="item.functionName === tabsName" -->
|
<component
|
:ref="item.functionName"
|
:is="'FuncLimit'"
|
:conf="conf"
|
:typeId="typeId"
|
:functionName="item.functionName"
|
:serialNo="item.serialNo"
|
></component>
|
</el-tab-pane>
|
</el-tabs>
|
</div>
|
</template>
|
|
<script>
|
// import FuncLimit from '@/components/tabsLoad/FuncLimit'
|
const FuncLimit = () => import('@/components/tabsLoad/FuncLimit')
|
|
import loanOrgFuncConstraintList from '@/controller/loanOrgFuncConstraintList'
|
import { mapMutations, mapState } from 'vuex'
|
export default {
|
components: {
|
FuncLimit
|
},
|
props: {
|
conf: {
|
type: Object,
|
default: () => ({})
|
},
|
typeId: {
|
type: Number,
|
required: true
|
}
|
},
|
data() {
|
return {
|
model: null,
|
query: '',
|
tabsMenu: [],
|
tabsName: '01',
|
tabsMenus: [],
|
tabIndex: 2,
|
isSaveDate: false,
|
validateRes: [],
|
loanOrgFuncConstraintListSubmitReqs: []
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
const { $route } = this
|
const { query } = $route
|
this.query = query
|
const model = loanOrgFuncConstraintList()
|
this.model = model
|
this.getTabsList()
|
},
|
|
async getTabsList() {
|
const { query, model } = this
|
const { serialNo: loanOrgSerialNo = '' } = query
|
const res = await model.request({ loanOrgSerialNo })
|
const { list } = res
|
this.tabsMenus = [...list]
|
// console.log(this.tabsMenus)
|
},
|
|
switchTab(event) {
|
// console.log(event)
|
const { paneName } = event
|
this.tabsName = paneName
|
},
|
|
submit() {
|
let {
|
tabsMenus,
|
loanOrgFuncConstraintListSubmitReqs,
|
validateRes = []
|
} = this
|
tabsMenus.forEach(async name => {
|
// const res =
|
validateRes.push(await this.$refs[name.functionName][0].submit())
|
const resIndex = validateRes.findIndex(item => item === false)
|
if (resIndex > -1) {
|
this.tabsName = tabsMenus[resIndex].functionName
|
}
|
// if (res) {
|
// this.setLoanOrgFuncConstraintListSubmitReqs(
|
// [res]
|
// )
|
// } else {
|
// this.setLoanOrgFuncConstraintListSubmitReqs([])
|
// }
|
})
|
console.log(this.isSaveDate)
|
// if (this.isSaveDate) {
|
// tabsMenus.forEach(item => {
|
// const {
|
// formValues,
|
// loanOrgFuncDarkTermListSubmitReqs,
|
// loanOrgSubFlowListSubmitReqs
|
// } = this.$refs[name.functionName][0]
|
// console.log(name.functionName)
|
// loanOrgFuncConstraintListSubmitReqs.push({
|
// ...formValues,
|
// loanOrgFuncDarkTermListSubmitReqs,
|
// loanOrgSubFlowListSubmitReqs
|
// })
|
// })
|
// console.log(loanOrgFuncConstraintListSubmitReqs, '---')
|
// this.setLoanOrgFuncConstraintListSubmitReqs(
|
// this.loanOrgFuncConstraintListSubmitReqs
|
// )
|
// }
|
},
|
...mapMutations(['setLoanOrgFuncConstraintListSubmitReqs'])
|
},
|
// computed: {
|
// ...mapState({
|
// loanOrgFuncConstraintListSubmitReqs: state =>
|
// state.loanInstitution.loanOrgFuncConstraintListSubmitReqs
|
// })
|
// },
|
watch: {
|
$route() {
|
const { query } = this
|
const { serialNo } = query
|
if (serialNo) {
|
this.init()
|
}
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
</style>
|