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

@@ -4,11 +4,17 @@
<el-card class="flex-1 mt-10px" shadow="never">
<template #header>
<div class="flex justify-between items-center">
<el-form class="demo-form-inline" :inline="true">
<el-form :inline="true" class="demo-form-inline">
<el-form-item label="查询日期">
<el-date-picker
clearable
v-model="SearchTime"
clearable
end-placeholder="结束日期"
format="YYYY-MM-DD"
range-separator="到"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
@change="
(val) => {
if (!val) {
@@ -22,47 +28,41 @@
queryParams.endDate = end + ' 23:59:59';
}
"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD"
range-separator="到"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="" v-has-permi="['electricity:topupRecord:list']">
<el-form-item v-has-permi="['electricity:topupRecord:list']" label="">
<el-button type="primary" @click="getList">查询</el-button>
</el-form-item>
</el-form>
<el-button @click="handleExport" v-has-permi="['electricity:topupRecord:export']" type="warning">导出统计</el-button>
<el-button v-has-permi="['electricity:topupRecord:export']" type="warning" @click="handleExport">导出统计</el-button>
</div>
</template>
<el-table v-loading="loading" border :data="topupRecordList">
<el-table-column label="充值时间" align="center" prop="rechargeTime">
<el-table v-loading="loading" :data="topupRecordList" :span-method="handleSpanMethod" border>
<el-table-column align="center" label="充值时间" prop="rechargeTime">
<template #default="scope">
<span v-if="scope.row.rechargeTime">{{ scope.row.rechargeTime }}</span>
<span v-else>---</span>
</template>
</el-table-column>
<el-table-column label="小区名称" align="center" prop="villageName">
<el-table-column align="center" label="小区名称" prop="villageName">
<template #default="scope">
<span v-if="scope.row.villageName">{{ scope.row.villageName }}</span>
<span v-else>---</span>
</template>
</el-table-column>
<el-table-column label="户主" align="center" prop="residentName">
<el-table-column align="center" label="户主" prop="residentName">
<template #default="scope">
<span v-if="scope.row.residentName">{{ scope.row.residentName }}</span>
<span v-else>---</span>
</template>
</el-table-column>
<el-table-column label="房号" align="center" prop="houseName">
<el-table-column align="center" label="房号" prop="houseName">
<template #default="scope">
<span v-if="scope.row.houseName">{{ scope.row.houseName }}</span>
<span v-else>---</span>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="fixedPrice">
<el-table-column align="center" label="单价" prop="fixedPrice">
<template #default="scope">
<div v-if="scope.row.fixedPrice && scope.row.unit">
<span>{{ scope.row.fixedPrice }}</span>
@@ -74,17 +74,17 @@
</div>
</template>
</el-table-column>
<el-table-column label="设备编号" align="center" prop="deviceCode" />
<el-table-column label="订单号" align="center" prop="orderId" />
<el-table-column label="充值金额" align="center" prop="rechargeAmount" />
<el-table-column label="缴费方式" align="center" prop="topUpType" />
<el-table-column align="center" label="设备编号" prop="deviceCode" />
<el-table-column align="center" label="订单号" prop="orderId" />
<el-table-column align="center" label="充值金额" prop="rechargeAmount" />
<el-table-column align="center" label="缴费方式" prop="topUpType" />
</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 pageHeader from '@/components/Pageheader/index.vue';
import pagination from '@/components/Pagination/index.vue';
import { getElectricityTopupRecordByDate, type TopupRecordList } from '@/api/system/SdbTopupRecord';
@@ -112,6 +112,7 @@ const getList = async () => {
loading.value = true;
const res = await getElectricityTopupRecordByDate(queryParams.value);
topupRecordList.value = res.rows;
topupRecordList.value[topupRecordList.value.length - 1].rechargeTime = '合计';
total.value = res.total;
loading.value = false;
};
@@ -119,7 +120,24 @@ const getList = async () => {
onMounted(() => {
getList();
});
function handleSpanMethod({ rowIndex, columnIndex }) {
if (rowIndex === topupRecordList.value.length - 1) {
const rowspan = 7;
if (columnIndex === 0) {
return [1, rowspan];
}
if (columnIndex < rowspan) {
return [0, 0];
}
if (columnIndex === 8) {
return [0, 0];
}
if (columnIndex === 7) {
return [1, 2];
}
}
return [1, 1];
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(