<template>
|
<div>
|
<FormInfo
|
v-if="totalInfoHeader.length > 0 && totalInfo && (typeof totalInfo === 'object' && Object.keys(totalInfo).length > 0)"
|
:info="totalInfo"
|
title="物业汇总信息"
|
:keys="totalInfoHeader"
|
></FormInfo>
|
|
<FormInfo
|
v-if="objectType === 'BuildingBusinessApply' && occurType === '01'"
|
:info="ext"
|
title="成交信息"
|
:keys="dealInfo"
|
></FormInfo>
|
|
<div class="tab-section">
|
<el-tabs v-model="activeName" type="card" v-loading="loading">
|
<el-tab-pane
|
v-for="(item, index) in list"
|
:key="index"
|
:label="item.buildingprojectname.value || chineseNum[index.toString()]"
|
:name="`${index}`"
|
>
|
<FormInfo
|
:info="item"
|
title="物业明细信息"
|
:keys="propertyInfo"
|
@projectManageDetail='projectManageDetail(item)'
|
@showAgent='acceptShowAgent'
|
>
|
</FormInfo>
|
<KeysTable
|
v-if="Array.isArray(item.propertyList) && item.propertyList.length > 0"
|
:list="item.propertyList"
|
title="产权人信息"
|
:header="propertyListHeader"
|
:isShowPages="false"
|
></KeysTable>
|
|
<KeysTable
|
v-if="propertyCertListHeader.length > 0 && Array.isArray(item.propertyList) && item.propertyList.length > 0"
|
:list="item.propertyCertList"
|
title="权证信息"
|
:header="propertyCertListHeader"
|
:isShowPages="false"
|
></KeysTable>
|
<Agent
|
v-if="showAgent"
|
:visible="showAgent"
|
:houseorparkingid="item.houseorparkingid.value"
|
@closeAgent="showAgent = false"
|
></Agent>
|
</el-tab-pane>
|
</el-tabs>
|
</div>
|
</div>
|
</template>
|
<script>
|
// 物业信息
|
import { qryHouseList, queryHouseTotalInfo,projectManageDetail } from '@comprehensive/serve/public'
|
import {
|
propertyInfo,
|
creditFlowCommonTotalInfoHeader,
|
creditFlowCommonPropertyInfo,
|
mortgageFlowPropertyInfo,
|
mortgageFlowTotalInfoHeader,
|
buildingBusinessFlowInfo,
|
buildingBusinessFlowDealInfo
|
} from '@comprehensive/utils/formHeaders'
|
import {
|
propertyListHeader,
|
propertyCertListHeader
|
} from '@comprehensive/utils/tableHeaders'
|
import Agent from '@views/product/components/Agent'
|
import FormInfo from '../FormInfo'
|
import KeysTable from '../KeysTable'
|
import { flownos } from '@comprehensive/utils/comm'
|
|
export default {
|
props: {
|
// 申请编号
|
serialNo: {
|
type: String,
|
required: true
|
},
|
objectType: {
|
type: String,
|
default: ''
|
},
|
customerID: {
|
type: String,
|
default: ''
|
},
|
relationtype: {
|
// 01: 共借人信息, 02: 担保人信息
|
type: String,
|
default: '01'
|
},
|
flowno: {
|
type: String,
|
|
// 默认为案场
|
default: 'CreditFlowCase'
|
},
|
// 01 卖方信息, 02 买方信息
|
sellerOrBuyer: {
|
type: String,
|
default: ''
|
},
|
// 01 交易类, 02 非交易类
|
occurType: {
|
type: String,
|
default: ''
|
}
|
},
|
components: {
|
FormInfo,
|
KeysTable,
|
Agent
|
},
|
data() {
|
return {
|
list: {},
|
// 成交信息
|
ext: {},
|
totalInfo: {},
|
totalInfoHeader: [],
|
activeName: '0',
|
propertyInfo: [],
|
chineseNum: {
|
'0': '物业一',
|
'1': '物业二',
|
'2': '物业三',
|
'3': '物业四',
|
'4': '物业五',
|
'5': '物业六',
|
'6': '物业七',
|
'7': '物业八',
|
'8': '物业九',
|
'9': '物业十'
|
},
|
loading: false,
|
showAgent: false,
|
|
// 产权人列表
|
propertyListHeader: [...propertyListHeader],
|
|
dealInfo: [...buildingBusinessFlowDealInfo],
|
|
// 权证信息
|
propertyCertListHeader: []
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
const { flowno } = this
|
const {
|
// 案场
|
CreditFlowCase,
|
|
// 非案场
|
CreditFlowCommon,
|
|
// 抵押/易贷
|
MortgageFlow,
|
|
// 赎楼/快贷
|
BuildingBusinessFlow
|
} = flownos
|
this.activeName = '0'
|
let totalInfoHeader = []
|
let propertyHeader = []
|
let certListHeader = []
|
|
if (flowno === CreditFlowCase) {
|
propertyHeader = [...propertyInfo]
|
}
|
|
if (flowno === CreditFlowCommon) {
|
propertyHeader = [...creditFlowCommonPropertyInfo]
|
totalInfoHeader = [...creditFlowCommonTotalInfoHeader]
|
}
|
if (flowno === MortgageFlow) {
|
propertyHeader = [...mortgageFlowPropertyInfo]
|
totalInfoHeader = [...mortgageFlowTotalInfoHeader]
|
certListHeader = [...propertyCertListHeader]
|
}
|
|
if (flowno === BuildingBusinessFlow) {
|
propertyHeader = [...buildingBusinessFlowInfo]
|
// totalInfoHeader = [...mortgageFlowTotalInfoHeader]
|
// certListHeader = [...propertyCertListHeader]
|
// if (objectType === 'BuildingBusinessApply' && occurtype === '01') {
|
// }
|
}
|
|
// 物业汇总信息
|
this.totalInfoHeader = [...totalInfoHeader]
|
|
// 物业明细信息
|
this.propertyInfo = [...propertyHeader]
|
|
this.propertyCertListHeader = [...certListHeader]
|
|
this.qryHouseList()
|
|
// 物业汇总信息
|
this.queryHouseTotalInfo()
|
},
|
acceptShowAgent(val){
|
this.showAgent = val
|
},
|
// 查看项目信息
|
projectManageDetail(row) {
|
projectManageDetail({
|
serialno: row.buildingprojectid.value,
|
objectType: this.$route.query.objectType
|
}).then(res => {
|
if (res.code == "00") {
|
const { href } = this.$router.resolve({
|
name: "detailsProjectInfo",
|
query: {
|
type: "details",
|
dataType: res.result.dataType,
|
objectNo: res.result.objectNo,
|
objectType: res.result.objectType,
|
projectFlag: res.result.projectFlag,
|
projectType: res.result.projectType
|
}
|
});
|
window.open(
|
href,
|
'newwindow',
|
'height=700px, width=1280px, top=100px,left=400px, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no'
|
)
|
}
|
});
|
},
|
// 查询顶部流程节点状态
|
async qryHouseList() {
|
this.loading = true
|
const { serialNo, customerID } = this
|
const res = await qryHouseList({
|
businessNo: serialNo,
|
customerId: customerID
|
})
|
this.loading = false
|
const { result, ext = {} } = res
|
this.list = result.map(item => {
|
const {
|
buildingprojectid,
|
buildingorunit,
|
buildingorunitname,
|
buildingprojectname,
|
houseorparkingid,
|
houseorparkingname
|
} = item
|
return {
|
...item,
|
buildingprojectname: {
|
...buildingprojectname,
|
visible: buildingprojectid.visible
|
},
|
buildingorunitname: {
|
...buildingorunitname,
|
visible: buildingorunit.visible
|
},
|
houseorparkingname: {
|
...houseorparkingname,
|
visible: houseorparkingid.visible
|
}
|
}
|
})
|
this.ext = ext
|
},
|
async queryHouseTotalInfo() {
|
const { serialNo, customerID } = this
|
const res = await queryHouseTotalInfo({
|
applyserialno: serialNo,
|
customerid: customerID
|
})
|
|
const { result } = res
|
this.totalInfo = result
|
}
|
},
|
watch: {
|
serialNo() {
|
this.init()
|
}
|
}
|
}
|
</script>
|
|
<style lang="stylus" scoped>
|
.tab-section
|
margin-top 30px
|
</style>
|