v1.9 优化报表相关页面的布局以及bug

This commit is contained in:
wuxw 2025-11-12 18:45:34 +08:00
parent 9651477307
commit 4277ec260a
15 changed files with 54 additions and 136 deletions

View File

@ -31,12 +31,6 @@ import { listAdminAccountReceipt } from '@/api/fee/adminRoomFeeApi'
export default {
name: 'AOwnerDetailAcctReceipt',
props: {
ownerId: {
type: String,
default: ''
}
},
data() {
return {
feeReceipts: [],
@ -48,7 +42,8 @@ export default {
}
},
methods: {
open() {
open(params) {
this.ownerId = params.ownerId
this.page.current = 1
this.loadData()
},

View File

@ -36,19 +36,11 @@ import {dateFormat} from '@/utils/dateUtil'
export default {
name: 'ARoomDetailReceipt',
props: {
ownerId: {
type: String,
default: ''
},
feeId: {
type: String,
default: ''
}
},
data() {
return {
feeReceipts: [],
ownerId: '',
feeId: '',
page: {
current: 1,
size: 10,
@ -57,7 +49,8 @@ export default {
}
},
methods: {
open() {
open(params) {
this.ownerId = params.ownerId
this.page.current = 1
this.loadData()
},

View File

@ -1,81 +1,33 @@
<template>
<el-dialog
:title="$t('chooseReportCustomComponent.title')"
:visible.sync="visible"
width="80%"
top="5vh"
>
<el-dialog :title="$t('chooseReportCustomComponent.title')" :visible.sync="visible" width="80%" top="5vh">
<el-row :gutter="20">
<el-col :span="24">
<el-input
v-model="searchText"
:placeholder="$t('chooseReportCustomComponent.searchPlaceholder')"
style="width: 300px; margin-right: 10px"
/>
<el-input v-model="searchText" :placeholder="$t('chooseReportCustomComponent.searchPlaceholder')"
style="width: 300px; margin-right: 10px" />
<el-button type="primary" @click="handleSearch">
{{ $t('common.search') }}
</el-button>
</el-col>
</el-row>
<el-table
:data="tableData"
border
style="width: 100%; margin-top: 20px"
v-loading="loading"
>
<el-table-column
prop="componentId"
:label="$t('chooseReportCustomComponent.componentId')"
align="center"
/>
<el-table-column
prop="name"
:label="$t('chooseReportCustomComponent.componentName')"
align="center"
/>
<el-table-column
prop="componentType"
:label="$t('chooseReportCustomComponent.componentType')"
align="center"
/>
<el-table-column
prop="queryModel"
:label="$t('chooseReportCustomComponent.queryModel')"
align="center"
/>
<el-table-column
prop="remark"
:label="$t('chooseReportCustomComponent.remark')"
align="center"
/>
<el-table-column
:label="$t('common.operation')"
align="center"
width="100"
>
<el-table :data="tableData" border style="width: 100%; margin-top: 20px" v-loading="loading">
<el-table-column prop="componentId" :label="$t('chooseReportCustomComponent.componentId')" align="center" />
<el-table-column prop="name" :label="$t('chooseReportCustomComponent.componentName')" align="center" />
<el-table-column prop="componentType" :label="$t('chooseReportCustomComponent.componentType')" align="center" />
<el-table-column prop="queryModel" :label="$t('chooseReportCustomComponent.queryModel')" align="center" />
<el-table-column prop="remark" :label="$t('chooseReportCustomComponent.remark')" align="center" />
<el-table-column :label="$t('common.operation')" align="center" width="100">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleSelect(scope.row)"
>
<el-button size="mini" type="primary" @click="handleSelect(scope.row)">
{{ $t('common.select') }}
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pagination.current"
:page-sizes="[10, 20, 30, 50]"
:page-size="pagination.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total"
style="margin-top: 20px"
/>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
layout="total, sizes, prev, pager, next, jumper" :total="pagination.total" style="margin-top: 20px" />
</el-dialog>
</template>
@ -111,9 +63,9 @@ export default {
row: this.pagination.size,
name: this.searchText
}
const { data, records } = await listReportCustomComponent(params)
const { data, total } = await listReportCustomComponent(params)
this.tableData = data
this.pagination.total = records
this.pagination.total = total
} catch (error) {
this.$message.error(this.$t('chooseReportCustomComponent.fetchError'))
} finally {

View File

@ -6,7 +6,7 @@
<span>{{ $t('commonReportTable.queryConditions') }}</span>
</div>
<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" class="margin-bottom">
<div class="el-input">
<input class="el-input__inner"
v-model.trim="conditionItem.value"

View File

@ -1,77 +1,47 @@
<template>
<div class="report-fee-detail-car">
<div class="operation-bar">
<el-button
type="primary"
size="small"
@click="exportReportFeeDetailCarExcel">
<el-button type="primary" size="small" @click="exportReportFeeDetailCarExcel">
<i class="el-icon-download"></i>
{{ $t('common.export') }}
</el-button>
</div>
<el-table
:data="reportFeeDetailCarInfo.fees"
border
style="width: 100%"
v-loading="loading">
<el-table-column
prop="carNum"
:label="$t('reportFeeDetailCar.car')"
align="center">
<el-table :data="reportFeeDetailCarInfo.fees" border style="width: 100%" v-loading="loading">
<el-table-column prop="carNum" :label="$t('reportFeeDetailCar.car')" align="center">
</el-table-column>
<el-table-column
prop="ownerName"
:label="$t('reportFeeDetailCar.owner')"
align="center">
<el-table-column prop="ownerName" :label="$t('reportFeeDetailCar.owner')" align="center">
<template slot-scope="scope">
{{ scope.row.ownerName }}({{ scope.row.link }})
</template>
</el-table-column>
<el-table-column
prop="oweFee"
:label="$t('reportFeeDetailCar.oweFee')"
align="center">
<el-table-column prop="oweFee" :label="$t('reportFeeDetailCar.oweFee')" align="center">
<template slot-scope="scope">
{{ scope.row.oweFee || '0' }}
</template>
</el-table-column>
<el-table-column
prop="receivedFee"
:label="$t('reportFeeDetailCar.receivedFee')"
align="center">
<el-table-column prop="receivedFee" :label="$t('reportFeeDetailCar.receivedFee')" align="center">
<template slot-scope="scope">
{{ scope.row.receivedFee || '0' }}
</template>
</el-table-column>
<template v-for="(item,index) in reportFeeDetailCarInfo.feeTypeCds">
<el-table-column
:key="index+'owe'"
:label="item.name + $t('reportFeeDetailCar.owe')"
align="center">
<template v-for="(item, index) in reportFeeDetailCarInfo.feeTypeCds">
<el-table-column :key="index + 'owe'" :label="item.name + $t('reportFeeDetailCar.owe')" align="center">
<template slot-scope="scope">
{{ scope.row['oweFee'+item.statusCd] || '0' }}
{{ scope.row['oweFee' + item.statusCd] || '0' }}
</template>
</el-table-column>
<el-table-column
:key="index+'received'"
:label="item.name + $t('reportFeeDetailCar.received')"
align="center">
<el-table-column :key="index + 'received'" :label="item.name + $t('reportFeeDetailCar.received')" align="center">
<template slot-scope="scope">
{{ scope.row['receivedFee'+item.statusCd] || '0' }}
{{ scope.row['receivedFee' + item.statusCd] || '0' }}
</template>
</el-table-column>
</template>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pagination.current"
:page-sizes="[10, 20, 30, 50]"
:page-size="pagination.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
layout="total, sizes, prev, pager, next, jumper" :total="pagination.total">
</el-pagination>
</div>
</template>
@ -138,6 +108,8 @@ export default {
}
await exportReportFeeDetailCar(params)
this.$message.success(this.$t('common.operationSuccess'))
this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
} catch (error) {
console.error('导出失败:', error)
this.$message.error(this.$t('common.exportFailed'))
@ -161,7 +133,7 @@ export default {
margin-bottom: 20px;
text-align: right;
}
.el-pagination {
margin-top: 20px;
text-align: right;

View File

@ -138,6 +138,8 @@ export default {
}
await exportReportFeeDetailContract(params)
this.$message.success(this.$t('common.operationSuccess'))
this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
} catch (error) {
console.error('导出失败:', error)
this.$message.error(this.$t('common.exportFailed'))

View File

@ -141,6 +141,8 @@ export default {
}
await exportReportFeeDetailOwner(params)
this.$message.success(this.$t('common.operationSuccess'))
this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
} catch (error) {
console.error('导出失败:', error)
this.$message.error(this.$t('common.exportFailed'))

View File

@ -151,7 +151,10 @@ export default {
pagePath: 'reportFeeDetailRoom'
}
await exportReportFeeDetailRoom(params)
this.$message.success(this.$t('common.operationSuccess'))
this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
} catch (error) {
console.error('导出失败:', error)
this.$message.error(this.$t('common.exportFailed'))

View File

@ -3,9 +3,6 @@
<el-card class="box-card">
<div slot="header" class="flex justify-between">
<span>{{ $t('feeRemind.queryCondition') }}</span>
<el-button type="text" style="float: right; padding: 3px 0" @click="_moreCondition()">
{{ feeRemindInfo.moreCondition ? $t('feeRemind.hide') : $t('feeRemind.more') }}
</el-button>
</div>
<el-row :gutter="20">
<el-col :span="4">

View File

@ -37,7 +37,7 @@
</el-button>
</el-col>
</el-row>
<el-row :gutter="20" v-show="reportFeeDetailInfo.moreCondition">
<el-row :gutter="20" v-show="reportFeeDetailInfo.moreCondition" class="margin-top">
<el-col :span="6">
<el-input v-model.trim="reportFeeDetailInfo.conditions.ownerName"
:placeholder="$t('reportFeeDetail.placeholder.ownerName')">

View File

@ -6,7 +6,7 @@
<div slot="header" class="flex justify-between">
<h5>{{ $t('reportHuaning.search.title') }}</h5>
</div>
<div class="ibox-content">
<div class="">
<el-row :gutter="20">
<!-- 费用类型 -->
<el-col :span="6">

View File

@ -213,6 +213,8 @@ export default {
}
await exportData(params)
this.$message.success(this.$t('common.operationSuccess'))
this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
} catch (error) {
console.error('导出失败:', error)
this.$message.error(this.$t('reportNoFeeRoom.exportFailed'))

View File

@ -54,7 +54,7 @@
</el-button>
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top: 15px;">
<el-row :gutter="20" >
<el-col :span="4">
<el-select v-model="conditions.state" :placeholder="$t('reportPayFeeDeposit.search.state')"
class="search-item" style="width:100%">

View File

@ -38,7 +38,7 @@
</el-col>
</el-row>
<el-row :gutter="20" style="margin-top:20px">
<el-row :gutter="20" >
<el-col :span="24">
<el-card class="box-card">
<div slot="header" class="flex justify-between">

View File

@ -50,7 +50,7 @@
</el-col>
</el-row>
<el-row :gutter="20" v-show="reportRepairInfo.moreCondition">
<el-row :gutter="20" v-show="reportRepairInfo.moreCondition" class="margin-top">
<el-col :span="4">
<el-select v-model="reportRepairInfo.conditions.staffId"
:placeholder="$t('reportRepair.staffPlaceholder')" style="width: 100%;">