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';