8/31 dev 权限,sse,账单,bug
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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
|
||||
},
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user