8/31 dev 权限,sse,账单,bug

This commit is contained in:
Zy
2026-08-31 08:09:28 +08:00
parent bfdfa05cd7
commit e4417f35b1
82 changed files with 2327 additions and 1644 deletions

View File

@@ -2,10 +2,10 @@
<div class="p-2 h-full flex flex-col">
<pageHeader></pageHeader>
<el-card shadow="hover">
<el-form ref="queryFormRef" label-width="140" :rules="formRules" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" :rules="formRules" label-width="140" @submit.prevent="handleQuery">
<div>
<el-form-item label="区域(多选)" prop="villageIds">
<el-select v-model="queryParams.villageIds" :multiple="true" placeholder="请选择区域">
<el-form-item label="小区(多选)" prop="villageIds">
<el-select v-model="queryParams.villageIds" :multiple="true" placeholder="请选择小区">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
</el-form-item>
@@ -13,7 +13,7 @@
<el-input v-model.trim="queryParams.lessee" placeholder="请输入承租方" />
</el-form-item>
<el-form-item label="电话" prop="phone">
<el-input type="tel" v-model.trim="queryParams.phone" placeholder="请输入电话" />
<el-input v-model.trim="queryParams.phone" placeholder="请输入电话" type="tel" />
</el-form-item>
<el-form-item label="房号" prop="roomNumber">
<el-input v-model.trim="queryParams.roomNumber" placeholder="请输入房号" />
@@ -28,37 +28,37 @@
<el-input v-model.trim="queryParams.areaSize" placeholder="请输入面积区间" />
</el-form-item>
<el-form-item label="收费模式(多选)" prop="chargeModes" style="margin-bottom: 0">
<el-select v-model="queryParams.chargeModes" placeholder="请选择收费模式" :multiple="true">
<el-select v-model="queryParams.chargeModes" :multiple="true" placeholder="请选择收费模式">
<el-option v-for="item in com_house_rental_pricing_model" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="收费标准(多选)" prop="chargeStandards" style="margin-bottom: 0">
<el-select v-model="queryParams.chargeStandards" placeholder="请选择收费标准" :multiple="true">
<el-select v-model="queryParams.chargeStandards" :multiple="true" placeholder="请选择收费标准">
<el-option v-for="item in com_house_rental_pricing" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</div>
<div class="line" v-if="queryParams.chargeTypeFilters.length > 0"></div>
<div v-if="queryParams.chargeTypeFilters.length > 0" class="line"></div>
<el-scrollbar>
<div style="width: fit-content">
<!-- 搜索条件: 应收/已收/未收 ▐╬╬-->
<div class="queryBox_over">
<el-form-item
:label="`${item.chargeTypeName}(应收)`"
:prop="`chargeTypeFilters[${index}].receivable`"
v-for="(item, index) in queryParams.chargeTypeFilters"
:key="index"
:label="`${item.chargeTypeName}(应收)`"
:prop="`chargeTypeFilters[${index}].receivable`"
>
<el-input v-model.trim="queryParams.chargeTypeFilters[index].receivable" placeholder="区间搜索 示例:100-2000" />
</el-form-item>
</div>
<div class="queryBox_over">
<el-form-item
:label="`${item.chargeTypeName}(已收)`"
:prop="`chargeTypeFilters[${index}].received`"
v-for="(item, index) in queryParams.chargeTypeFilters"
:key="index"
:label="`${item.chargeTypeName}(已收)`"
:prop="`chargeTypeFilters[${index}].received`"
>
<el-input v-model.trim="queryParams.chargeTypeFilters[index].received" placeholder="区间搜索 示例:100-2000" />
</el-form-item>
@@ -66,10 +66,10 @@
<div class="queryBox_over">
<el-form-item
v-for="(item, index) in [...queryParams.chargeTypeFilters]"
style="margin-bottom: 0"
:label="`${item.chargeTypeName}(未收)`"
:key="index"
:label="`${item.chargeTypeName}(未收)`"
:prop="`chargeTypeFilters[${index}].uncollected`"
style="margin-bottom: 0"
>
<el-input v-model.trim="queryParams.chargeTypeFilters[index].uncollected" placeholder="区间搜索 示例:100-2000" />
</el-form-item>
@@ -83,29 +83,29 @@
<el-form-item label="租赁起始日期" prop="leaseStartDate">
<el-date-picker
v-model="leaseStartDate"
type="daterange"
end-placeholder="结束日期"
format="YYYY-MM-DD"
placeholder="请选择"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
type="daterange"
value-format="YYYY-MM-DD"
@clear="handleClear('leaseStartDate')"
@update:model-value="(val: string[]) => handleUpdateLeaseDate('leaseStartDate', val)"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="请选择"
/>
</el-form-item>
<el-form-item label="租赁终止日期" prop="leaseEndDate">
<el-date-picker
v-model="leaseEndDate"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
placeholder="请选择"
range-separator="至"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD"
@clear="handleClear('leaseEndDate')"
@update:model-value="(val: string[]) => handleUpdateLeaseDate('leaseEndDate', val)"
placeholder="请选择"
/>
</el-form-item>
</div>
@@ -113,11 +113,11 @@
<el-form-item label="">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button @click="resetQuery">重置</el-button>
<div class="arrowBox" style="margin-left: 10px" v-if="showSearch" @click="ChangeShowSearch(false)">
<div v-if="showSearch" class="arrowBox" style="margin-left: 10px" @click="ChangeShowSearch(false)">
<span>收起</span>
<el-icon style="margin-left: 5px"><ArrowUpBold /></el-icon>
</div>
<div class="arrowBox" style="margin-left: 10px" v-else @click="ChangeShowSearch(true)">
<div v-else class="arrowBox" style="margin-left: 10px" @click="ChangeShowSearch(true)">
<span>展开</span>
<el-icon style="margin-left: 5px"><ArrowDownBold /></el-icon>
</div>
@@ -131,11 +131,11 @@
<el-form-item label="">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button @click="resetQuery">重置</el-button>
<div class="arrowBox" style="margin-left: 10px" v-if="showSearch" @click="ChangeShowSearch(false)">
<div v-if="showSearch" class="arrowBox" style="margin-left: 10px" @click="ChangeShowSearch(false)">
<span>收起</span>
<el-icon style="margin-left: 5px"><ArrowUpBold /></el-icon>
</div>
<div class="arrowBox" style="margin-left: 10px" v-else @click="ChangeShowSearch(true)">
<div v-else class="arrowBox" style="margin-left: 10px" @click="ChangeShowSearch(true)">
<span>展开</span>
<el-icon style="margin-left: 5px"><ArrowDownBold /></el-icon>
</div>
@@ -143,7 +143,7 @@
</div>
</el-form>
</el-card>
<el-card shadow="never" class="flex-1" style="margin-top: 5px">
<el-card class="flex-1" shadow="never" style="margin-top: 5px">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -155,17 +155,17 @@
</el-col>
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="区域" align="center" prop="area" />
<el-table-column label="承租方" align="center" prop="lessee" />
<el-table-column label="电话" width="120" align="center" prop="phone" />
<el-table-column label="房号" align="center" prop="roomNumber" />
<el-table-column label="面积" width="80" align="center" prop="areaSize" />
<el-table-column label="收费模式" align="center" prop="chargeMode" />
<el-table-column label="收费标准" align="center" prop="chargeStandard" />
<el-table-column label="租赁起始日" align="center" prop="leaseStartDate" />
<el-table-column label="租赁终止日" align="center" prop="leaseEndDate" />
<el-table-column label="应收项目" align="center">
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="区域" prop="area" />
<el-table-column align="center" label="承租方" prop="lessee" />
<el-table-column align="center" label="电话" prop="phone" width="120" />
<el-table-column align="center" label="房号" prop="roomNumber" />
<el-table-column align="center" label="面积" prop="areaSize" width="80" />
<el-table-column align="center" label="收费模式" prop="chargeMode" />
<el-table-column align="center" label="收费标准" prop="chargeStandard" />
<el-table-column align="center" label="租赁起始日" prop="leaseStartDate" />
<el-table-column align="center" label="租赁终止日" prop="leaseEndDate" />
<el-table-column align="center" label="应收项目">
<template #default>
<el-table-column v-for="(item, index) in dynamicColumns" :key="index" :label="item.chargeTypeName" align="center" prop="totalAmount">
<template #default="scope">
@@ -174,7 +174,7 @@
</el-table-column>
</template>
</el-table-column>
<el-table-column label="已收项目" align="center">
<el-table-column align="center" label="已收项目">
<template #default>
<el-table-column v-for="(item, index) in dynamicColumns" :key="index" :label="item.chargeTypeName" align="center" prop="totalAmount">
<template #default="scope">
@@ -183,7 +183,7 @@
</el-table-column>
</template>
</el-table-column>
<el-table-column label="未收项目" align="center">
<el-table-column align="center" label="未收项目">
<template #default>
<el-table-column v-for="(item, index) in dynamicColumns" :key="index" :label="item.chargeTypeName" align="center" prop="totalAmount">
<template #default="scope">
@@ -193,11 +193,11 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Arrears" lang="ts">
<script lang="ts" name="Arrears" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="区域" prop="villageId">
<el-form-item label="小区" prop="villageId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -20,13 +20,13 @@
<el-form-item label="查询日期">
<el-date-picker
v-model="queryTime"
end-placeholder="结束日期"
format="YYYY-MM"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@update:model-value="handleQueryTime"
format="YYYY-MM"
type="monthrange"
value-format="YYYY-MM"
@update:model-value="handleQueryTime"
/>
</el-form-item>
</div>
@@ -40,7 +40,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -51,7 +51,7 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="chargeTrendList">
<el-table v-loading="loading" :data="chargeTrendList" border>
<el-table-column v-for="(item, index) in rows" :key="index" :label="item" align="center">
<template #default="scope">
<span>{{ scope.row[item] }}</span>
@@ -61,11 +61,11 @@
<div class="echartsBox" style="flex: 1">
<Echarts :options="chartConfig" />
</div>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Arrears" lang="ts">
<script lang="ts" name="Arrears" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getArrearsDetails } from '@/api/system/report/arrears/arrears';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="项目" prop="chargeItemId">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -33,7 +33,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -46,10 +46,10 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="小区名称" align="center" prop="name" />
<el-table-column label="房屋类型" align="center" prop="name" />
<el-table-column label="收费项目" align="center" prop="name">
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="小区名称" prop="name" />
<el-table-column align="center" label="房屋类型" prop="name" />
<el-table-column align="center" label="收费项目" prop="name">
<template #default>
<template v-for="(item, index) in rowChargeTypesList" :key="index">
<el-table-column :label="item" align="center">
@@ -60,14 +60,14 @@
</template>
</template>
</el-table-column>
<el-table-column label="合计" align="center" prop="total" />
<el-table-column align="center" label="合计" prop="total" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
账龄
<script setup lang="ts">
<script lang="ts" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,7 +4,7 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<el-form-item label="营业日期" prop="dateScope">
<el-select v-model="queryParams.dateScope" placeholder="请选择">
<el-option v-for="item in [...com_business_date]" :key="item.value" :label="item.label" :value="item.value" />
@@ -15,7 +15,7 @@
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
</el-form-item>
<el-form-item label="小区" prop="villageId">
<el-form-item label="">
<el-button type="primary" @click="handleQuery">搜索</el-button>
<el-button @click="resetQuery">重置</el-button>
</el-form-item>
@@ -23,11 +23,11 @@
</el-card>
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="4">
<el-tabs @tab-change="handleTabClick" v-model="activeName" class="demo-tabs">
<el-tabs v-model="activeName" class="demo-tabs" @tab-change="handleTabClick">
<el-tab-pane label="按小区统计" name="first"> </el-tab-pane>
<el-tab-pane label="按收费项目统计" name="fourth"></el-tab-pane>
</el-tabs>
@@ -38,22 +38,22 @@
</el-col>
</el-row>
</template>
<el-table v-loading="loading" border :data="AgingList">
<el-table-column v-if="activeName === 'first'" label="小区名称" align="center" prop="villageName" />
<el-table-column v-else label="收费项目" align="center" prop="chargeItemName" />
<el-table v-loading="loading" :data="AgingList" border>
<el-table-column v-if="activeName === 'first'" align="center" label="小区名称" prop="villageName" />
<el-table-column v-else align="center" label="收费项目" prop="chargeItemName" />
<el-table-column v-for="(item, index) in rows" :key="index" :label="item.payTypeName" align="center">
<template #default="scope">
{{ scope.row.payAmounts[item.payType] }}
</template>
</el-table-column>
<el-table-column label="合计" align="center" prop="totalAmount" />
<el-table-column align="center" label="合计" prop="totalAmount" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Arrears" lang="ts">
<script lang="ts" name="Arrears" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';
@@ -111,7 +111,7 @@ const getList = async () => {
rows.value = res.payTypes;
if (res.rows.length > 0) {
AgingList.value = [...res.rows, res.summary];
}else{
} else {
AgingList.value = [];
}
total.value = res.total;
@@ -163,7 +163,7 @@ const exportData = () => {
proxy?.download(
'/businessDailyReport/village/export',
{
...search,
...search
// pageNum: undefined,
// pageSize: undefined
},
@@ -173,7 +173,7 @@ const exportData = () => {
proxy?.download(
'/businessDailyReport/chargeItem/export',
{
...search,
...search
// pageNum: undefined,
// pageSize: undefined
},

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="区域" prop="villageId">
<el-form-item label="小区" prop="villageId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -20,14 +20,14 @@
<el-form-item label="查询日期">
<el-date-picker
v-model="queryTime"
end-placeholder="结束日期"
format="YYYY-MM"
placeholder="请选择日期"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@update:model-value="handleQueryTime"
format="YYYY-MM"
type="monthrange"
value-format="YYYY-MM"
placeholder="请选择日期"
@update:model-value="handleQueryTime"
/>
</el-form-item>
</div>
@@ -41,7 +41,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -52,7 +52,7 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="chargeTrendList">
<el-table v-loading="loading" :data="chargeTrendList" border>
<el-table-column v-for="(item, index) in rows" :key="index" :label="item" align="center">
<template #default="scope">
<span>{{ scope.row[item] }}</span>
@@ -62,12 +62,12 @@
<div class="echartsBox" style="flex: 1">
<Echarts :options="chartConfig" />
</div>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
账龄
<script setup name="Arrears" lang="ts">
<script lang="ts" name="Arrears" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,23 +4,23 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="应收账期" prop="villageId">
<el-date-picker
v-model="queryTime"
type="daterange"
@update:model-value="handleQueryTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
range-separator="至"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD"
@update:model-value="handleQueryTime"
/>
</el-form-item>
<el-form-item label="区域" prop="chargeItemId">
<el-select @change="handleVillageChange" v-model="queryParams.villageId" placeholder="请选择">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择" @change="handleVillageChange">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
</el-form-item>
@@ -34,7 +34,7 @@
</el-form-item>
</div>
<div>
<el-button type="primary" :loading="loading" @click="handleQuery">查询</el-button>
<el-button :loading="loading" type="primary" @click="handleQuery">查询</el-button>
<el-button @click="resetQuery">重置</el-button>
</div>
</div>
@@ -43,7 +43,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -57,15 +57,15 @@
</el-row>
</template>
<el-table :span-method="mergeSpanMethod" v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="序号" width="80" align="center" prop="serialNumber" />
<el-table-column label="区域" align="center" prop="area" />
<el-table-column label="楼栋-单元-房号" align="center" prop="houseNo" />
<el-table-column label="客户" align="center" prop="customerName" />
<el-table-column label="联系电话" align="center" prop="phone" />
<el-table-column label="欠费月数" width="80" align="center" prop="arrearsMonths" />
<el-table-column label="应收账期" align="center" prop="billPeriod" />
<el-table-column label="欠费项目" align="center">
<el-table v-loading="loading" :data="ArrearsDetailList" :span-method="mergeSpanMethod" border>
<el-table-column align="center" label="序号" prop="serialNumber" width="80" />
<el-table-column align="center" label="区域" prop="area" />
<el-table-column align="center" label="楼栋-单元-房号" prop="houseNo" />
<el-table-column align="center" label="客户" prop="customerName" />
<el-table-column align="center" label="联系电话" prop="phone" />
<el-table-column align="center" label="欠费月数" prop="arrearsMonths" width="80" />
<el-table-column align="center" label="应收账期" prop="billPeriod" />
<el-table-column align="center" label="欠费项目">
<template #default>
<template v-for="item in dynamicColumns" :key="item">
<el-table-column :label="item" align="center">
@@ -74,7 +74,7 @@
</template>
</el-table-column>
</template>
<el-table-column label="金额合计" align="center" prop="totalAmount">
<el-table-column align="center" label="金额合计" prop="totalAmount">
<template #default="scope">
<span style="color: red">{{ scope.row.totalAmount }}</span>
</template>
@@ -82,11 +82,11 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Arrears" lang="ts">
<script lang="ts" name="Arrears" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getArrearsDetails } from '@/api/system/report/arrears/arrears';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="项目" prop="chargeItemId">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -20,13 +20,13 @@
<el-form-item label="查询日期" prop="villageId">
<el-date-picker
v-model="queryTime"
type="daterange"
@update:model-value="handleQueryTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
range-separator="至"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD"
@update:model-value="handleQueryTime"
/>
</el-form-item>
</div>
@@ -40,7 +40,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -53,9 +53,9 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="收费所属期" align="center" prop="name" />
<el-table-column label="序号" align="center" prop="sequence" />
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="收费所属期" prop="name" />
<el-table-column align="center" label="序号" prop="sequence" />
<template v-for="item in rowChargeTypesList" :key="item">
{{ item }}
<el-table-column :label="item" align="center">
@@ -64,14 +64,14 @@
</template>
</el-table-column>
</template>
<el-table-column label="合计" align="center" prop="total" />
<el-table-column align="center" label="合计" prop="total" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
账龄
<script setup lang="ts">
<script lang="ts" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="项目" prop="chargeItemId">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -20,13 +20,13 @@
<el-form-item label="查询日期" prop="villageId">
<el-date-picker
v-model="queryTime"
type="daterange"
@update:model-value="handleQueryTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
range-separator="至"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD"
@update:model-value="handleQueryTime"
/>
</el-form-item>
</div>
@@ -40,7 +40,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -53,9 +53,9 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="收费所属期" align="center" prop="name" />
<el-table-column label="序号" align="center" prop="sequence" />
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="收费所属期" prop="name" />
<el-table-column align="center" label="序号" prop="sequence" />
<template v-for="item in rowChargeTypesList" :key="item">
{{ item }}
<el-table-column :label="item" align="center">
@@ -64,14 +64,14 @@
</template>
</el-table-column>
</template>
<el-table-column label="合计" align="center" prop="total" />
<el-table-column align="center" label="合计" prop="total" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
账龄
<script setup lang="ts">
<script lang="ts" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="项目" prop="chargeItemId">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -33,7 +33,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -46,26 +46,26 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="小区名称" align="center" prop="villageName" />
<el-table-column label="房屋类型" align="center" prop="houseTypeName" />
<el-table-column label="收费项目" align="center" prop="chargeItemAmounts">
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="小区名称" prop="villageName" />
<el-table-column align="center" label="房屋类型" prop="houseTypeName" />
<el-table-column align="center" label="收费项目" prop="chargeItemAmounts">
<template #default>
<el-table-column :label="item.chargeItemName" align="center" v-for="item in rowChargeTypesList" :key="item">
<el-table-column v-for="item in rowChargeTypesList" :key="item" :label="item.chargeItemName" align="center">
<template #default="scope">
{{ scope.row.chargeItemAmounts[item.chargeItemName] }}
</template>
</el-table-column>
</template>
</el-table-column>
<el-table-column label="合计" align="center" prop="totalAmount" />
<el-table-column align="center" label="合计" prop="totalAmount" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
账龄
<script setup lang="ts">
<script lang="ts" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';

View File

@@ -4,10 +4,10 @@
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" @submit.prevent="handleQuery" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" @submit.prevent="handleQuery">
<div class="flex justify-between">
<div>
<el-form-item label="项目" prop="chargeItemId">
<el-form-item label="小区" prop="chargeItemId">
<el-select v-model="queryParams.villageId" placeholder="请选择">
<el-option v-for="item in villageList" :key="item.villageId" :label="item.villageName" :value="item.villageId" />
</el-select>
@@ -31,7 +31,7 @@
</div>
</transition>
<el-card shadow="never" class="flex-1">
<el-card class="flex-1" shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="5">
@@ -44,30 +44,30 @@
</el-row>
</template>
<el-table v-loading="loading" border :data="ArrearsDetailList">
<el-table-column label="区域" align="center" prop="villageName" />
<el-table-column label="房屋类型" align="center" prop="houseTypeName" />
<el-table-column label="户号" align="center" prop="houseNo" />
<el-table-column label="客户" align="center" prop="customerName" />
<el-table-column label="预收账期" align="center" prop="prepaidPeriod" />
<el-table-column label="预收月份" align="center" prop="prepaidMonths" />
<el-table-column label="收费项目" align="center" prop="chargeItemAmounts">
<el-table v-loading="loading" :data="ArrearsDetailList" border>
<el-table-column align="center" label="区域" prop="villageName" />
<el-table-column align="center" label="房屋类型" prop="houseTypeName" />
<el-table-column align="center" label="户号" prop="houseNo" />
<el-table-column align="center" label="客户" prop="customerName" />
<el-table-column align="center" label="预收账期" prop="prepaidPeriod" />
<el-table-column align="center" label="预收月份" prop="prepaidMonths" />
<el-table-column align="center" label="收费项目" prop="chargeItemAmounts">
<template #default>
<el-table-column :label="item.chargeItemName" align="center" v-for="item in rowChargeTypesList" :key="item">
<el-table-column v-for="item in rowChargeTypesList" :key="item" :label="item.chargeItemName" align="center">
<template #default="scope">
{{ scope.row.chargeItemAmounts[item.chargeItemName] }}
</template>
</el-table-column>
</template>
</el-table-column>
<el-table-column label="合计" align="center" prop="totalAmount" />
<el-table-column align="center" label="合计" prop="totalAmount" />
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
</el-card>
</div>
</template>
<script setup lang="ts">
<script lang="ts" setup>
import pagination from '@/components/Pagination/index.vue';
import pageHeader from '@/components/Pageheader/index.vue';
import { getCommunitylistAPI } from '@/api/system/community';