8/19 月报

This commit is contained in:
Zy
2026-08-19 08:48:36 +08:00
parent 0dfd541769
commit 144b9d9670
19 changed files with 455 additions and 235 deletions

View File

@@ -33,9 +33,9 @@
<el-card shadow="never" class="flex-1">
<template #header>
<el-row :gutter="10" style="margin-bottom: 30px">
<el-row :gutter="10">
<el-col :span="5">
<span> 收费用余额汇总 </span>
<span> 收费日报 </span>
</el-col>
<el-col :span="18"></el-col>
<el-col :span="1">
@@ -44,18 +44,18 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="日期" align="center" prop="payTime" />
<el-table-column label="房屋信息" align="center">
<template #default="scope">
<el-table-column label="户主" align="center" prop="residentName"></el-table-column>
<el-table-column label="房号" align="center" prop="houseName"></el-table-column>
<el-table :row-class-name="handleRowClass" v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="日期" width="100" align="center" fixed="left" prop="payTime" />
<el-table-column label="房屋信息" align="center" fixed="left">
<template #default>
<el-table-column label="户主" align="center" width="100" prop="residentName"></el-table-column>
<el-table-column label="房号" align="center" width="100" prop="houseName"></el-table-column>
</template>
</el-table-column>
<el-table-column label="支付方式" align="center">
<template #default="scope">
<template #default>
<el-table-column label="现金类" align="center" prop="cashAmount">
<template #default="scope">
<template #default>
<el-table-column label="现金" align="center" prop="cashAmount"></el-table-column>
<el-table-column label="银联" align="center" prop="unionPayAmount"></el-table-column>
<el-table-column label="转账" align="center" prop="transferAmount"></el-table-column>
@@ -63,7 +63,7 @@
</template>
</el-table-column>
<el-table-column label="顶账类" align="center" prop="deposit">
<template #default="scope">
<template #default>
<el-table-column label="押金抵顶" align="center" prop="depositAmount"></el-table-column>
<el-table-column label="减免优惠" align="center" prop="discountAmount"></el-table-column>
</template>
@@ -82,23 +82,23 @@
{{ scope.row.chargeTypeAmounts[item].amount }}
</template>
</el-table-column>
<el-table-column label="开始时间" align="center" v-if="item !== '卡表' && item !== '其他'">
<el-table-column label="开始时间" width="100" align="center" v-if="item !== '卡表' && item !== '其他'">
<template #default="scope">
{{ scope.row.chargeTypeAmounts[item].amount }}
{{ scope.row.chargeTypeAmounts[item].startDate }}
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" v-if="item !== '卡表' && item !== '其他'">
<el-table-column label="结束时间" width="100" align="center" v-if="item !== '卡表' && item !== '其他'">
<template #default="scope">
{{ scope.row.chargeTypeAmounts[item].amount }}
{{ scope.row.chargeTypeAmounts[item].endDate }}
</template>
</el-table-column>
<span v-if="item == '卡表' || item == '其他'">{{ scope.row.chargeTypeAmounts[item] }}</span>
<span v-if="item == '卡表' || item == '其他'">{{ scope.row.chargeTypeAmounts[item].amount }}</span>
</template>
</el-table-column>
</template>
</el-table-column>
<el-table-column label="经办人" align="center" prop="handler" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column show-overflow-tooltip width="250" label="备注" align="center" prop="remark" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
@@ -111,13 +111,11 @@ import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';
import { ColumnConfig, exportToExcel } from '@/utils/xlsx';
import { listHouseUseType } from '@/api/system/houseUse';
import { Row } from '@/api/system/report/prepaidBalance/type';
import { getPrepaidBalanceDetailList } from '@/api/system/report/prepaidBalanceDetail';
import { getDailyFeeReportList } from '@/api/system/report/dailyFeeReport';
import { DailyFeeReportVo } from '@/api/system/report/dailyFeeReport/type';
import { Datum } from '@/api/system/report/dailyFeeReport/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const ArrearsDetailList = ref<DailyFeeReportVo[]>([]);
const ArrearsDetailList = ref<Datum[]>([]);
const loading = ref(true);
const showSearch = ref(true);
const total = ref(0);
@@ -165,14 +163,21 @@ const getList = async () => {
});
getDailyFeeReportList(search)
.then((res) => {
ArrearsDetailList.value = [...res.data];
rowChargeTypesList.value = Object.keys(res.data[0].chargeTypeAmounts);
console.log(rowChargeTypesList.value);
ArrearsDetailList.value = [...res.rows];
rowChargeTypesList.value = Object.keys(res.rows[0].chargeTypeAmounts);
total.value = res.total;
})
.finally(() => {
loading.value = false;
});
};
function handleRowClass({ row }) {
if (row.residentName === '当日合计') {
// 示例1收费项目等于物业费的行加深色
return 'bg-dark';
}
return '';
}
/** 搜索按钮操作 */
const handleQuery = () => {
@@ -205,30 +210,63 @@ const handleExport = () => {
setTimeout(() => {
try {
const columns: ColumnConfig[] = [
{ label: '小区名称', prop: 'villageName' },
{ label: '房屋类型', prop: 'houseTypeName' },
{ label: '户号', prop: 'houseNo' },
{ label: '客户', prop: 'customerName' },
{ label: '预收账期', prop: 'prepaidPeriod' },
{ label: '预收月份', prop: 'prepaidMonths' },
{ label: '日期', prop: 'payTime' },
{
label: '房屋信息',
prop: 'houseName',
children: [
{ label: '户主', prop: 'residentName' },
{ label: '户号', prop: 'houseName' }
]
},
{
label: '支付方式',
prop: 'paymentMethod',
children: [
{
label: '现金类',
children: [
{ label: '现金', prop: 'cashAmount' },
{ label: '银联', prop: 'unionPayAmount' },
{ label: '转账', prop: 'transferAmount' },
{ label: '微信商户', prop: 'wechatAmount' }
]
},
{
label: '顶账类',
children: [
{ label: '押金抵顶', prop: 'depositAmount' },
{ label: '减免优惠', prop: 'discountAmount' }
]
}
]
},
{ label: '水费', prop: 'waterFee' },
{ label: '电费', prop: 'electricFee' },
{ label: '押金', prop: 'deposit' },
{
label: '收费项目',
prop: 'chargeItemAmounts',
prop: 'chargeTypeAmounts',
children: [
...rowChargeTypesList.value.map((item) => {
return {
label: item.chargeItemName,
prop: `chargeItemAmounts.${item.chargeItemName}`
label: item,
children: ['其他', '卡表'].includes(item)
? []
: [
{ label: '金额', prop: `chargeTypeAmounts.${item}.amount` },
{ label: '开始时间', prop: `chargeTypeAmounts.${item}.startTime` },
{ label: '截止时间', prop: `chargeTypeAmounts.${item}.endTime` }
]
};
})
]
},
{
label: '合计',
prop: 'totalAmount'
}
{ label: '经办人', prop: 'inspectorName' },
{ label: '备注', prop: 'remark' }
];
exportToExcel(ArrearsDetailList.value, columns, `预收费用余额详细_${new Date().getTime()}`);
console.log(columns);
exportToExcel(ArrearsDetailList.value, columns, `日报_${new Date().getTime()}`);
} catch (error) {
proxy?.$modal.msgError('导出失败,请重试');
console.error('导出错误:', error);
@@ -248,4 +286,8 @@ onMounted(() => {
.el-table {
height: calc(100% - 80px);
}
/* 深度穿透修改表格行背景 */
:deep(.bg-dark td) {
background-color: #f5f7fa !important;
}
</style>