优化业主详情

This commit is contained in:
wuxw 2025-07-11 16:11:07 +08:00
parent 84ba01559f
commit 200a3c1650
2 changed files with 35 additions and 62 deletions

View File

@ -11,84 +11,62 @@
</div>
<div class="padding-lr-xs">
<el-select v-model="ownerDetailRoomFeeInfo.state" @change="_changeContractConfigId()" size="small"
:placeholder="$t('ownerDetailRoomFee.selectStatus')">
<el-option :label="$t('ownerDetailRoomFee.valid')" value="2008001"></el-option>
<el-option :label="$t('ownerDetailRoomFee.feeEnd')" value="2009001"></el-option>
:placeholder="$t('aOwnerDetailRoomFee.selectStatus')">
<el-option :label="$t('aOwnerDetailRoomFee.valid')" value="2008001"></el-option>
<el-option :label="$t('aOwnerDetailRoomFee.feeEnd')" value="2009001"></el-option>
</el-select>
</div>
<div :span="9" class="text-right">
<el-button type="primary" size="small" style="margin-left:10px" v-if="hasPrivilege('502020082314267912')"
@click="_openBatchPayRoomFeeModal()">
{{ $t('ownerDetailRoomFee.batchPay') }}
</el-button>
<el-button type="primary" size="small" style="margin-left:10px" v-if="hasPrivilege('502022073007100003')"
@click="_openTempImportRoomFeeModal()">
{{ $t('ownerDetailRoomFee.tempFee') }}
</el-button>
<el-button type="primary" size="small" style="margin-left:10px" v-if="hasPrivilege('502022073049300004')"
@click="_openProxyFeeModal()">
{{ $t('ownerDetailRoomFee.quantityPay') }}
</el-button>
<el-button type="primary" size="small" style="margin-left:10px" v-if="hasPrivilege('502022073096990007')"
@click="_openRoomsCreateFeeModal()">
{{ $t('ownerDetailRoomFee.createFee') }}
</el-button>
<el-button type="primary" size="small" style="margin-left:10px" v-if="hasPrivilege('502020080570210194')"
@click="_toRoomOwePayFee()">
{{ $t('ownerDetailRoomFee.owePay') }}
</el-button>
<el-button type="default" size="small" style="margin-left:10px" @click="_printOwnOrder()">
{{ $t('ownerDetailRoomFee.reminder') }}
</el-button>
</div>
</div>
<div class="margin-top">
<el-table :data="ownerDetailRoomFeeInfo.fees" style="width: 100%">
<el-table-column prop="payerObjName" :label="$t('ownerDetailRoomFee.room')" align="center"></el-table-column>
<el-table-column prop="feeName" :label="$t('ownerDetailRoomFee.feeItem')" align="center"></el-table-column>
<el-table-column prop="feeFlagName" :label="$t('ownerDetailRoomFee.feeFlag')" align="center"></el-table-column>
<el-table-column prop="feeTypeCdName" :label="$t('ownerDetailRoomFee.feeType')"
<el-table-column prop="payerObjName" :label="$t('aOwnerDetailRoomFee.room')" align="center"></el-table-column>
<el-table-column prop="feeName" :label="$t('aOwnerDetailRoomFee.feeItem')" align="center"></el-table-column>
<el-table-column prop="feeFlagName" :label="$t('aOwnerDetailRoomFee.feeFlag')" align="center"></el-table-column>
<el-table-column prop="feeTypeCdName" :label="$t('aOwnerDetailRoomFee.feeType')"
align="center"></el-table-column>
<el-table-column prop="amountOwed" :label="$t('ownerDetailRoomFee.amount')" align="center"></el-table-column>
<el-table-column prop="startTime" :label="$t('ownerDetailRoomFee.createTime')" align="center"></el-table-column>
<el-table-column :label="$t('ownerDetailRoomFee.timeRange')" align="center">
<el-table-column prop="amountOwed" :label="$t('aOwnerDetailRoomFee.amountReceivable')" align="center"></el-table-column>
<el-table-column prop="startTime" :label="$t('aOwnerDetailRoomFee.accountTime')" align="center"></el-table-column>
<el-table-column :label="$t('aOwnerDetailRoomFee.receivablePeriod')" align="center">
<template slot-scope="scope">
{{ _getRoomEndTime(scope.row) }}~<br>{{ _getRoomDeadlineTime(scope.row) }}
</template>
</el-table-column>
<el-table-column :label="$t('ownerDetailRoomFee.remark')" align="center" width="150">
<el-table-column :label="$t('aOwnerDetailRoomFee.description')" align="center" width="150">
<template slot-scope="scope">
<div v-if="scope.row.computingFormula == '5005' || scope.row.computingFormula == '9009'">
<div><span>{{ $t('ownerDetailRoomFee.lastDegree') }}</span>{{ scope.row.preDegrees }}</div>
<div><span>{{ $t('ownerDetailRoomFee.currentDegree') }}</span>{{ scope.row.curDegrees }}</div>
<div><span>{{ $t('ownerDetailRoomFee.unitPrice')
<div><span>{{ $t('aOwnerDetailRoomFee.lastDegree') }}</span>{{ scope.row.preDegrees }}</div>
<div><span>{{ $t('aOwnerDetailRoomFee.currentDegree') }}</span>{{ scope.row.curDegrees }}</div>
<div><span>{{ $t('aOwnerDetailRoomFee.unitPrice')
}}</span>{{ scope.row.mwPrice ? scope.row.mwPrice : scope.row.squarePrice }}</div>
<div><span>{{ $t('ownerDetailRoomFee.additionalFee') }}</span>{{ scope.row.additionalAmount }}</div>
<div><span>{{ $t('aOwnerDetailRoomFee.additionalFee') }}</span>{{ scope.row.additionalAmount }}</div>
</div>
<div v-else-if="scope.row.computingFormula == '6006'">
<div><span>{{ $t('ownerDetailRoomFee.usage') }}</span>{{ _getRoomAttrValue(scope.row.feeAttrs, '390006') }}
<div><span>{{ $t('aOwnerDetailRoomFee.usage') }}</span>{{ _getRoomAttrValue(scope.row.feeAttrs, '390006') }}
</div>
<div><span>{{ $t('ownerDetailRoomFee.unitPrice') }}</span>{{ scope.row.squarePrice }}</div>
<div><span>{{ $t('ownerDetailRoomFee.additionalFee') }}</span>{{ scope.row.additionalAmount }}</div>
<div><span>{{ $t('aOwnerDetailRoomFee.unitPrice') }}</span>{{ scope.row.squarePrice }}</div>
<div><span>{{ $t('aOwnerDetailRoomFee.additionalFee') }}</span>{{ scope.row.additionalAmount }}</div>
</div>
<div v-else-if="scope.row.feeTypeCd == '888800010017'" width="150">
<div><span>{{ $t('ownerDetailRoomFee.algorithm')
<div><span>{{ $t('aOwnerDetailRoomFee.algorithm')
}}</span>{{ _getRoomAttrValue(scope.row.feeAttrs, '390005') }}</div>
<div><span>{{ $t('ownerDetailRoomFee.usage') }}</span>{{ _getRoomAttrValue(scope.row.feeAttrs, '390003') }}
<div><span>{{ $t('aOwnerDetailRoomFee.usage') }}</span>{{ _getRoomAttrValue(scope.row.feeAttrs, '390003') }}
</div>
</div>
<div v-else-if="scope.row.computingFormula == '4004'">
<div>{{ $t('ownerDetailRoomFee.feeByActual') }}</div>
<div>{{ $t('aOwnerDetailRoomFee.feeByActual') }}</div>
</div>
<div v-else>
<div><span>{{ $t('ownerDetailRoomFee.unitPrice') }}</span>{{ scope.row.squarePrice }}</div>
<div v-if="scope.row.feeFlag == '1003006'"><span>{{ $t('ownerDetailRoomFee.additionalFee')
<div><span>{{ $t('aOwnerDetailRoomFee.unitPrice') }}</span>{{ scope.row.squarePrice }}</div>
<div v-if="scope.row.feeFlag == '1003006'"><span>{{ $t('aOwnerDetailRoomFee.additionalFee')
}}</span>{{ scope.row.additionalAmount }}</div>
<div v-else><span>{{ $t('ownerDetailRoomFee.fixedFee') }}</span>{{ scope.row.additionalAmount }}</div>
<div v-else><span>{{ $t('aOwnerDetailRoomFee.fixedFee') }}</span>{{ scope.row.additionalAmount }}</div>
</div>
</template>
</el-table-column>
<el-table-column prop="stateName" :label="$t('ownerDetailRoomFee.status')" align="center"></el-table-column>
<el-table-column prop="stateName" :label="$t('aOwnerDetailRoomFee.status')" align="center"></el-table-column>
<el-table-column :label="$t('common.operation')" align="center" width="300">
<template slot-scope="scope">
<el-button-group>
@ -120,11 +98,11 @@
</el-table>
<el-row>
<el-col :span="12">
<div>{{ $t('ownerDetailRoomFee.note1') }}</div>
<div>{{ $t('ownerDetailRoomFee.note2') }}</div>
<div>{{ $t('aOwnerDetailRoomFee.note1') }}</div>
<div>{{ $t('aOwnerDetailRoomFee.note2') }}</div>
</el-col>
<el-col :span="4">
<span>{{ $t('ownerDetailRoomFee.oweSubtotal') }}</span>
<span>{{ $t('aOwnerDetailRoomFee.arrearsSubtotal') }}</span>
{{ ownerDetailRoomFeeInfo.totalAmount }}
</el-col>
<el-col :span="8">
@ -135,25 +113,16 @@
</el-row>
</div>
<!-- <rooms-import-temp-fee ref="roomsImportTempFee"></rooms-import-temp-fee> -->
<!-- <rooms-create-fee ref="roomsCreateFee"></rooms-create-fee> -->
<!-- <rooms-proxy-fee ref="roomsProxyFee"></rooms-proxy-fee> -->
</div>
</template>
<script>
// import RoomsImportTempFee from '@/components/fee/roomsImportTempFee'
// import RoomsCreateFee from '@/components/fee/roomsCreateFee'
// import RoomsProxyFee from '@/components/fee/roomsProxyFee'
import { listFee, listRoomsByOwner } from '@/api/owner/ownerDetailRoomFeeApi'
import { getCommunityId } from '@/api/community/communityApi'
export default {
name: 'OwnerDetailRoomFee',
components: {
// RoomsImportTempFee,
// RoomsCreateFee,
// RoomsProxyFee
},
data() {
return {
@ -173,6 +142,10 @@ export default {
}
},
methods: {
open(owner) {
this.ownerDetailRoomFeeInfo.ownerId = owner.ownerId
this._loadDetailRoomsData()
},
_loadOwnerDetailRoomFeeData(page, row) {
const _payerObjIds = this.ownerDetailRoomFeeInfo.payerObjIds.join(',')
const params = {

View File

@ -163,7 +163,7 @@ import OwnerDetailComplaint from '@/components/owner/ownerDetailComplaint'
import OwnerDetailRepair from '@/components/owner/ownerDetailRepair'
import OwnerDetailVisit from '@/components/owner/ownerDetailVisit'
import OwnerDetailContract from '@/components/owner/ownerDetailContract'
//import OwnerDetailRoomFee from '@/components/owner/ownerDetailRoomFee'
import OwnerDetailRoomFee from '@/components/owner/ownerDetailRoomFee'
import OwnerDetailHisFee from '@/components/owner/ownerDetailHisFee'
import OwnerDetailReceipt from '@/components/owner/ownerDetailReceipt'
import OwnerDetailAccountReceipt from '@/components/owner/ownerDetailAccountReceipt'
@ -192,7 +192,7 @@ export default {
OwnerDetailRepair,
OwnerDetailVisit,
OwnerDetailContract,
//OwnerDetailRoomFee,
OwnerDetailRoomFee,
OwnerDetailHisFee,
OwnerDetailReceipt,
OwnerDetailAccountReceipt,