Compare commits

...

2 Commits

Author SHA1 Message Date
wuxw
0606c3d8a6 v1.9 优化营业报表页面查询条件 无法输入bug 2025-09-19 14:56:11 +08:00
wuxw
887fa33a79 v1.9 优化业主详情房屋费用不显示bug 2025-09-19 14:51:10 +08:00
7 changed files with 54 additions and 19 deletions

View File

@ -8,11 +8,7 @@ export function queryFeeDetail(params) {
params params
}).then(response => { }).then(response => {
const res = response.data const res = response.data
if (res.code === 0) {
resolve(res) resolve(res)
} else {
reject(new Error(res.msg || '获取费用明细失败'))
}
}).catch(error => { }).catch(error => {
reject(error) reject(error)
}) })

View File

@ -0,0 +1,16 @@
import request from '@/utils/request'
export function listRoomsByOwner(params) {
return new Promise((resolve, reject) => {
request({
url: '/room.queryRoomsByOwner',
method: 'get',
params
}).then(response => {
const res = response.data
resolve(res)
}).catch(error => {
reject(error)
})
})
}

View File

@ -106,9 +106,9 @@ export default {
queryHisOwner(params) queryHisOwner(params)
.then(response => { .then(response => {
const data = response.data const data = response.data
this.ownerDetailHisInfo.owners = data.data this.ownerDetailHisInfo.owners = data
this.dealOwnerAttr(data.data) this.dealOwnerAttr(data)
this.pagination.total = data.records this.pagination.total = response.records
this.pagination.currentPage = page this.pagination.currentPage = page
}) })
.catch(error => { .catch(error => {
@ -149,7 +149,7 @@ export default {
this.ownerDetailHisInfo.listColumns = [] this.ownerDetailHisInfo.listColumns = []
getAttrSpecList({specCd:'building_owner_attr',page:1,row:10}).then(data => { getAttrSpecList({specCd:'building_owner_attr',page:1,row:10}).then(data => {
this.ownerDetailHisInfo.listColumns = [] this.ownerDetailHisInfo.listColumns = []
data.forEach(item => { data.data.forEach(item => {
if (item.listShow === 'Y') { if (item.listShow === 'Y') {
this.ownerDetailHisInfo.listColumns.push(item.specName) this.ownerDetailHisInfo.listColumns.push(item.specName)
} }

View File

@ -96,8 +96,8 @@ export default {
} }
queryFeeDetail(param).then(response => { queryFeeDetail(param).then(response => {
this.ownerDetailHisFeeInfo.feeDetails = response.data.feeDetails this.ownerDetailHisFeeInfo.feeDetails = response.feeDetails
this.total = response.data.total this.total = response.total
}).catch(error => { }).catch(error => {
console.error('请求失败:', error) console.error('请求失败:', error)
}) })

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="margin-top"> <div class="">
<div class="flex justify-end"> <div class="flex justify-end">
<div class="padding-right-xs padding-left-xl"> <div class="padding-right-xs padding-left-xl">
<span class="margin-right" v-for="(item, index) in ownerDetailRoomFeeInfo.payObjs" :key="index"> <span class="margin-right" v-for="(item, index) in ownerDetailRoomFeeInfo.payObjs" :key="index">
@ -20,7 +20,7 @@
</div> </div>
</div> </div>
<div class="margin-top"> <div class="margin-top-sm">
<el-table :data="ownerDetailRoomFeeInfo.fees" style="width: 100%"> <el-table :data="ownerDetailRoomFeeInfo.fees" style="width: 100%">
<el-table-column prop="payerObjName" :label="$t('aOwnerDetailRoomFee.room')" align="center"></el-table-column> <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="feeName" :label="$t('aOwnerDetailRoomFee.feeItem')" align="center"></el-table-column>
@ -67,7 +67,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="stateName" :label="$t('aOwnerDetailRoomFee.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"> <!-- <el-table-column :label="$t('common.operation')" align="center" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button-group> <el-button-group>
<el-button type="text" size="mini" <el-button type="text" size="mini"
@ -94,7 +94,7 @@
</el-button> </el-button>
</el-button-group> </el-button-group>
</template> </template>
</el-table-column> </el-table-column> -->
</el-table> </el-table>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -117,8 +117,10 @@
</template> </template>
<script> <script>
import { listFee, listRoomsByOwner } from '@/api/owner/ownerDetailRoomFeeApi' import { listRoomsByOwner } from '@/api/owner/ownerDetailRoomFeeApi'
import {listFee} from '@/api/fee/feeApi'
import { getCommunityId } from '@/api/community/communityApi' import { getCommunityId } from '@/api/community/communityApi'
import {dateFormat} from '@/utils/dateUtil'
export default { export default {
name: 'OwnerDetailRoomFee', name: 'OwnerDetailRoomFee',
@ -178,6 +180,8 @@ export default {
this.ownerDetailRoomFeeInfo.payerObjIds = [] this.ownerDetailRoomFeeInfo.payerObjIds = []
listRoomsByOwner(params).then(response => { listRoomsByOwner(params).then(response => {
console.log('params',response)
this.ownerDetailRoomFeeInfo.payObjs = response.rooms this.ownerDetailRoomFeeInfo.payObjs = response.rooms
response.rooms.forEach(room => { response.rooms.forEach(room => {
this.ownerDetailRoomFeeInfo.payerObjIds.push(room.roomId) this.ownerDetailRoomFeeInfo.payerObjIds.push(room.roomId)
@ -253,13 +257,13 @@ export default {
if (fee.state == '2009001') { if (fee.state == '2009001') {
return "-" return "-"
} }
return this.$options.filters.dateFormat(fee.deadlineTime) return dateFormat(fee.deadlineTime)
}, },
_getRoomEndTime(fee) { _getRoomEndTime(fee) {
if (fee.state == '2009001') { if (fee.state == '2009001') {
return "-" return "-"
} }
return this.$options.filters.dateFormat(fee.endTime) return dateFormat(fee.endTime)
}, },
_chanagePayerObjId() { _chanagePayerObjId() {
this._loadOwnerDetailRoomFeeData(1, this.pagination.pageSize) this._loadOwnerDetailRoomFeeData(1, this.pagination.pageSize)

View File

@ -7,8 +7,12 @@
</div> </div>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col v-for="(conditionItem, conditionIndex) in item.conditions" :key="conditionIndex" :span="6"> <el-col v-for="(conditionItem, conditionIndex) in item.conditions" :key="conditionIndex" :span="6">
<el-input v-model.trim="conditionItem.value" :type="conditionItem.type" <div class="el-input">
:placeholder="conditionItem.holdpace" clearable /> <input class="el-input__inner"
v-model.trim="conditionItem.value"
:type="conditionItem.type"
:placeholder="conditionItem.holdpace" />
</div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button type="primary" @click="_queryReportTableMethod(item)"> <el-button type="primary" @click="_queryReportTableMethod(item)">
@ -157,6 +161,12 @@ export default {
} }
const { data } = await listReportCustomComponentCondition(params) const { data } = await listReportCustomComponentCondition(params)
component.conditions = data component.conditions = data
// value v-model
component.conditions.forEach(cond => {
if (!Object.prototype.hasOwnProperty.call(cond, 'value')) {
this.$set(cond, 'value', '')
}
})
} catch (error) { } catch (error) {
console.error('Failed to load conditions:', error) console.error('Failed to load conditions:', error)
} }

View File

@ -270,6 +270,15 @@ export default {
this.ownerDetailInfo._currentTab = tab || tab this.ownerDetailInfo._currentTab = tab || tab
setTimeout(() => { setTimeout(() => {
if (this.$refs.currentTabComponent) { if (this.$refs.currentTabComponent) {
if (this.ownerDetailInfo._currentTab == 'ownerDetailRoomFee') {
this.$refs.currentTabComponent.open({
ownerId:this.ownerDetailInfo.ownerId,
name:this.ownerDetailInfo.name,
link:this.ownerDetailInfo.link
}
)
return;
}
this.$refs.currentTabComponent.open( this.$refs.currentTabComponent.open(
this.ownerDetailInfo.ownerId, this.ownerDetailInfo.ownerId,
this.ownerDetailInfo.name, this.ownerDetailInfo.name,