mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-02-26 16:19:44 +08:00
216 lines
7.7 KiB
Vue
216 lines
7.7 KiB
Vue
<template>
|
|
<div>
|
|
<el-row>
|
|
<el-col :span="24" class="text-right"></el-col>
|
|
</el-row>
|
|
|
|
<div class="margin-top">
|
|
<el-table :data="contractDetailOwnerInfo.owners" border style="width: 100%"
|
|
:default-sort="{ prop: 'name', order: 'ascending' }">
|
|
<el-table-column prop="url" :label="$t('contractDetailOwner.ownerFace')" width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<el-image style="width: 60px; height: 60px;" class="border-radius"
|
|
:src="scope.row.url || '/img/noPhoto.jpg'" :preview-src-list="[scope.row.url]" v-if="scope.row.url">
|
|
</el-image>
|
|
<img v-else style="width: 60px; height: 60px;" class="border-radius" src="/img/noPhoto.jpg" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="name" :label="$t('contractDetailOwner.name')" align="center">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.name }}({{ scope.row.link }})
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="sex" :label="$t('contractDetailOwner.sex')" width="80" align="center">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.sex == 0 ? $t('common.male') : $t('common.female') }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="idCard" :label="$t('contractDetailOwner.idCard')" width="180" align="center">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.idCard || '-' }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="address" :label="$t('contractDetailOwner.address')" width="200" align="center">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.address || '-' }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="roomCount" :label="$t('contractDetailOwner.roomCount')" width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewOwnerRooms(scope.row)">
|
|
{{ scope.row.roomCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="memberCount" :label="$t('contractDetailOwner.memberCount')" width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewOwnerMembers(scope.row)">
|
|
{{ scope.row.memberCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="carCount" :label="$t('contractDetailOwner.carCount')" width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewOwnerCars(scope.row)">
|
|
{{ scope.row.carCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="complaintCount" :label="$t('contractDetailOwner.complaintCount')" width="100"
|
|
align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewComplaints(scope.row)">
|
|
{{ scope.row.complaintCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="repairCount" :label="$t('contractDetailOwner.repairCount')" width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewRepairs(scope.row)">
|
|
{{ scope.row.repairCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="oweFee" :label="$t('contractDetailOwner.oweFee')" width="120" align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewOweFees(scope.row)">
|
|
{{ scope.row.oweFee || '0.00' }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="contractCount" :label="$t('contractDetailOwner.contractCount')" width="120"
|
|
align="center">
|
|
<template slot-scope="scope">
|
|
<el-link type="primary" @click="_viewRoomContracts(scope.row)">
|
|
{{ scope.row.contractCount || 0 }}
|
|
</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<el-row class="margin-top">
|
|
<el-col :span="24" class="text-right">
|
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
|
:current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="pageSize"
|
|
layout="total, sizes, prev, pager, next, jumper" :total="total">
|
|
</el-pagination>
|
|
</el-col>
|
|
</el-row>
|
|
</div>
|
|
|
|
<owner-rooms ref="ownerRooms"></owner-rooms>
|
|
<owner-members ref="ownerMembers"></owner-members>
|
|
<owner-cars ref="ownerCars"></owner-cars>
|
|
<owner-complaints ref="ownerComplaints"></owner-complaints>
|
|
<owner-repairs ref="ownerRepairs"></owner-repairs>
|
|
<owner-owe-fees ref="ownerOweFees"></owner-owe-fees>
|
|
<room-contracts ref="roomContracts"></room-contracts>
|
|
<view-image ref="viewImage"></view-image>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import OwnerRooms from '@/components/owner/ownerRooms'
|
|
import OwnerMembers from '@/components/owner/ownerMembers'
|
|
import OwnerCars from '@/components/owner/ownerCars'
|
|
import OwnerComplaints from '@/components/owner/ownerComplaints'
|
|
import OwnerRepairs from '@/components/owner/ownerRepairs'
|
|
import OwnerOweFees from '@/components/owner/ownerOweFees'
|
|
import RoomContracts from '@/components/room/roomContracts'
|
|
import ViewImage from '@/components/system/viewImage'
|
|
import { queryOwners } from '@/api/contract/contractDetailOwnerApi'
|
|
import { getCommunityId } from '@/api/community/communityApi'
|
|
|
|
export default {
|
|
name: 'ContractDetailOwner',
|
|
components: {
|
|
OwnerRooms,
|
|
OwnerMembers,
|
|
OwnerCars,
|
|
OwnerComplaints,
|
|
OwnerRepairs,
|
|
OwnerOweFees,
|
|
RoomContracts,
|
|
ViewImage
|
|
},
|
|
data() {
|
|
return {
|
|
contractDetailOwnerInfo: {
|
|
owners: [],
|
|
ownerId: ''
|
|
},
|
|
currentPage: 1,
|
|
pageSize: 10,
|
|
total: 0,
|
|
communityId: ''
|
|
}
|
|
},
|
|
created() {
|
|
this.communityId = getCommunityId()
|
|
},
|
|
methods: {
|
|
open(params) {
|
|
this.contractDetailOwnerInfo.ownerId = params.ownerId
|
|
this._loadContractDetailOwnerData(this.currentPage, this.pageSize)
|
|
},
|
|
_loadContractDetailOwnerData(page, row) {
|
|
const param = {
|
|
ownerId: this.contractDetailOwnerInfo.ownerId,
|
|
communityId: this.communityId,
|
|
ownerTypeCd: '1001',
|
|
page: page,
|
|
row: row
|
|
}
|
|
|
|
queryOwners(param)
|
|
.then(response => {
|
|
this.contractDetailOwnerInfo.owners = response.data
|
|
this.total = response.total
|
|
this.currentPage = page
|
|
})
|
|
.catch(error => {
|
|
console.error('请求失败:', error)
|
|
})
|
|
},
|
|
handleSizeChange(val) {
|
|
this.pageSize = val
|
|
this._loadContractDetailOwnerData(this.currentPage, this.pageSize)
|
|
},
|
|
handleCurrentChange(val) {
|
|
this.currentPage = val
|
|
this._loadContractDetailOwnerData(this.currentPage, this.pageSize)
|
|
},
|
|
_viewOwnerRooms(owner) {
|
|
this.$refs.ownerRooms.open(owner)
|
|
},
|
|
_viewOwnerMembers(owner) {
|
|
this.$refs.ownerMembers.open(owner)
|
|
},
|
|
_viewOwnerCars(owner) {
|
|
this.$refs.ownerCars.open(owner)
|
|
},
|
|
_viewComplaints(owner) {
|
|
this.$refs.ownerComplaints.open(owner)
|
|
},
|
|
_viewRepairs(owner) {
|
|
this.$refs.ownerRepairs.open(owner)
|
|
},
|
|
_viewOweFees(owner) {
|
|
this.$refs.ownerOweFees.open(owner)
|
|
},
|
|
_viewRoomContracts(owner) {
|
|
this.$refs.roomContracts.open(owner)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.margin-top {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.border-radius {
|
|
border-radius: 4px;
|
|
}
|
|
</style> |