From 519df168c6bcdb00b7e11f014e3106bca702cdd0 Mon Sep 17 00:00:00 2001 From: Zy <1448159279@qq.com> Date: Tue, 11 Aug 2026 09:03:27 +0800 Subject: [PATCH] =?UTF-8?q?8/11=EF=BC=8C=E5=BA=94=E6=94=B6=E7=89=A9?= =?UTF-8?q?=E4=B8=9A=EF=BC=8C=E5=AE=9E=E6=94=B6=E7=89=A9=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/house/index.ts | 4 +- src/api/system/report/aging/index.ts | 18 + src/api/system/report/arrearsTrend/index.ts | 9 + src/api/system/report/arrearsTrend/type.ts | 0 .../report/businessDailyReport/index.ts | 54 ++ .../system/report/businessDailyReport/type.ts | 77 +++ src/api/system/report/chargeTrend/index.ts | 9 + src/api/system/report/chargeTrend/type.ts | 0 src/api/system/report/paidInExpenses/index.ts | 10 + src/api/system/report/paidInExpenses/type.ts | 29 ++ .../report/paidInExpensesReceivable/index.ts | 10 + .../report/paidInExpensesReceivable/type.ts | 29 ++ src/components/Pagination/index.vue | 2 +- src/utils/request.ts | 4 +- src/views/system/Sdb/SdbCashier/index.vue | 13 +- src/views/system/houseRental/index.vue | 2 +- .../system/report/LeaseManagementDetails.vue | 488 ++++++++++++++++++ src/views/system/report/aging.vue | 18 +- src/views/system/report/agingDetailed.vue | 93 ++-- src/views/system/report/arrearsTrend.vue | 259 ++++++++++ .../system/report/businessDailyReport.vue | 192 +++++++ src/views/system/report/chargeTrend.vue | 260 ++++++++++ src/views/system/report/paidInExpenses.vue | 238 +++++++++ .../report/paidInExpensesReceivable.vue | 236 +++++++++ 24 files changed, 2010 insertions(+), 44 deletions(-) create mode 100644 src/api/system/report/arrearsTrend/index.ts create mode 100644 src/api/system/report/arrearsTrend/type.ts create mode 100644 src/api/system/report/businessDailyReport/index.ts create mode 100644 src/api/system/report/businessDailyReport/type.ts create mode 100644 src/api/system/report/chargeTrend/index.ts create mode 100644 src/api/system/report/chargeTrend/type.ts create mode 100644 src/api/system/report/paidInExpenses/index.ts create mode 100644 src/api/system/report/paidInExpenses/type.ts create mode 100644 src/api/system/report/paidInExpensesReceivable/index.ts create mode 100644 src/api/system/report/paidInExpensesReceivable/type.ts create mode 100644 src/views/system/report/LeaseManagementDetails.vue create mode 100644 src/views/system/report/arrearsTrend.vue create mode 100644 src/views/system/report/businessDailyReport.vue create mode 100644 src/views/system/report/chargeTrend.vue create mode 100644 src/views/system/report/paidInExpenses.vue create mode 100644 src/views/system/report/paidInExpensesReceivable.vue diff --git a/src/api/system/house/index.ts b/src/api/system/house/index.ts index c72dc80..a8c59c8 100644 --- a/src/api/system/house/index.ts +++ b/src/api/system/house/index.ts @@ -5,11 +5,11 @@ import { addBuildingType, addHouseType, BuildingUnit, BuildingVo } from './type' // 楼栋--------------------------------------------------------------------------------------- /** 根据 小区id 和 类型 查询楼栋信息 */ -export function getBuildinglistAPI(): AxiosPromise { +export function getBuildinglistAPI(query = {}): AxiosPromise { return request({ url: '/building/byVillage', method: 'get', - params: {} + params: query }); } /** 获取所有楼栋 */ diff --git a/src/api/system/report/aging/index.ts b/src/api/system/report/aging/index.ts index 0515c2b..1757b1e 100644 --- a/src/api/system/report/aging/index.ts +++ b/src/api/system/report/aging/index.ts @@ -10,3 +10,21 @@ export const getAgingList = (query): Promise => { }); }; + +export const getDetailList = (query): Promise => { + return request({ + url: '/agingAnalysis/detail', + method: 'get', + params: query + }); +}; + + +export const getDetailList = (query): Promise => { + return request({ + url: '/agingAnalysis/detail', + method: 'get', + params: query + }); +}; + diff --git a/src/api/system/report/arrearsTrend/index.ts b/src/api/system/report/arrearsTrend/index.ts new file mode 100644 index 0000000..599b2b7 --- /dev/null +++ b/src/api/system/report/arrearsTrend/index.ts @@ -0,0 +1,9 @@ +import request from '@/utils/request'; + +export const getArrearsTend = (query) => { + return request({ + url: '/propertyFeeTrend/arrearsTrend', + method: 'get', + params: query + }); +}; diff --git a/src/api/system/report/arrearsTrend/type.ts b/src/api/system/report/arrearsTrend/type.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/api/system/report/businessDailyReport/index.ts b/src/api/system/report/businessDailyReport/index.ts new file mode 100644 index 0000000..19fe940 --- /dev/null +++ b/src/api/system/report/businessDailyReport/index.ts @@ -0,0 +1,54 @@ +import request from '@/utils/request'; +import { Response } from '@/api/system/report/businessDailyReport/type'; + +/** + * 按小区统计 + * @param query + * @returns + * */ +export const getBusinessDailyReport = (query): Promise => { + return request({ + url: '/businessDailyReport/village', + method: 'get', + params: query + }); +}; +/** + * 按小区统计导出 + * @param query + * @returns + * */ +export const getBusinessDailyReportExport = (query): Promise => { + return request({ + url: '/businessDailyReport/village/export', + method: 'get', + params: query + }); +}; + + + +/** + * 按收费项目统计 + * @param query + * @returns + * */ +export const getBusinessDailyReportChargeItem = (query): Promise => { + return request({ + url: '/businessDailyReport/chargeItem', + method: 'get', + params: query + }); +}; +/** + * 按收费项目统计导出 + * @param query + * @returns + * */ +export const getBusinessDailyReportChargeItemExport = (query): Promise => { + return request({ + url: '/businessDailyReport/chargeItem/export', + method: 'get', + params: query + }); +}; diff --git a/src/api/system/report/businessDailyReport/type.ts b/src/api/system/report/businessDailyReport/type.ts new file mode 100644 index 0000000..f9fd7f4 --- /dev/null +++ b/src/api/system/report/businessDailyReport/type.ts @@ -0,0 +1,77 @@ +export type Response = { + code: number; + msg: string; + /** + * 支付方式 + */ + payTypes: PayType[]; + /** + * 数据列表 + */ + rows: RowsType[]; + /** + * 合计行 + */ + summary: Summary; + total: number; +}; + +export type RowsType = Row | RowVillage; + +export type Row = { + /** + * 收费项目ID + */ + chargeItemId: string; + /** + * 收费项目名称 + */ + chargeItemName: string; + /** + * 各支付方式金额 + */ + payAmounts: { [key: string]: string }; + /** + * 合计金额 + */ + totalAmount: string; +}; + +export type RowVillage = { + /** + * 各支付方式金额 + */ + payAmounts?: { [key: string]: string }; + /** + * 合计金额 + */ + totalAmount?: number; + /** + * 小区ID + */ + villageId?: number; + /** + * 小区名称 + */ + villageName?: string; +}; + +export type PayType = { + /** + * 支付方式编码 + */ + payType: string; + /** + * 支付方式名称 + */ + payTypeName: string; +}; +/** + * 合计行 + */ +export type Summary = { + chargeItemId: null; + chargeItemName: string; + payAmounts: { [key: string]: string }; + totalAmount: string; +}; diff --git a/src/api/system/report/chargeTrend/index.ts b/src/api/system/report/chargeTrend/index.ts new file mode 100644 index 0000000..66c9be7 --- /dev/null +++ b/src/api/system/report/chargeTrend/index.ts @@ -0,0 +1,9 @@ +import request from '@/utils/request'; + +export const getChargeTend = (query)=> { + return request({ + url: '/propertyFeeTrend/chargeTrend', + method: 'get', + params: query + }); +}; diff --git a/src/api/system/report/chargeTrend/type.ts b/src/api/system/report/chargeTrend/type.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/api/system/report/paidInExpenses/index.ts b/src/api/system/report/paidInExpenses/index.ts new file mode 100644 index 0000000..b47800b --- /dev/null +++ b/src/api/system/report/paidInExpenses/index.ts @@ -0,0 +1,10 @@ +import request from '@/utils/request'; +import { Response } from '@/api/system/report/paidInExpensesReceivable/type'; + +export const getPaidInExpensesList = (data): Promise => { + return request({ + url: '/paidInExpenses/list', + method: 'POST', + data: data + }); +}; diff --git a/src/api/system/report/paidInExpenses/type.ts b/src/api/system/report/paidInExpenses/type.ts new file mode 100644 index 0000000..b06b404 --- /dev/null +++ b/src/api/system/report/paidInExpenses/type.ts @@ -0,0 +1,29 @@ +export type Response = { + code: number; + data: Data; + msg: string; +}; + +export type Data = { + chargeTypes: string[]; + details: Detail[]; + total: Total; +}; + +export type Detail = { + amounts: DetailAmounts; + name: string; + sequence: string; + total: string; +}; + +export type DetailAmounts = { + [property: string]: string; +}; + +export type Total = { + amounts: DetailAmounts; + name: string; + sequence: string; + total: string; +}; diff --git a/src/api/system/report/paidInExpensesReceivable/index.ts b/src/api/system/report/paidInExpensesReceivable/index.ts new file mode 100644 index 0000000..7b16fc2 --- /dev/null +++ b/src/api/system/report/paidInExpensesReceivable/index.ts @@ -0,0 +1,10 @@ +import request from '@/utils/request'; +import { Response } from '@/api/system/report/paidInExpensesReceivable/type'; + +export const getPaidInExpensesReceivableList = (data): Promise => { + return request({ + url: '/paidInExpenses/receivable/list', + method: 'POST', + data: data + }); +}; diff --git a/src/api/system/report/paidInExpensesReceivable/type.ts b/src/api/system/report/paidInExpensesReceivable/type.ts new file mode 100644 index 0000000..b06b404 --- /dev/null +++ b/src/api/system/report/paidInExpensesReceivable/type.ts @@ -0,0 +1,29 @@ +export type Response = { + code: number; + data: Data; + msg: string; +}; + +export type Data = { + chargeTypes: string[]; + details: Detail[]; + total: Total; +}; + +export type Detail = { + amounts: DetailAmounts; + name: string; + sequence: string; + total: string; +}; + +export type DetailAmounts = { + [property: string]: string; +}; + +export type Total = { + amounts: DetailAmounts; + name: string; + sequence: string; + total: string; +}; diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue index 51e808e..d151880 100644 --- a/src/components/Pagination/index.vue +++ b/src/components/Pagination/index.vue @@ -25,7 +25,7 @@ const props = defineProps({ pageSizes: { type: Array, default: () => [10, 20, 30, 50, 100] }, // 移动端页码按钮的数量端默认值5 pagerCount: propTypes.number.def(document.body.clientWidth < 992 ? 5 : 7), - layout: propTypes.string.def('sizes, prev, pager, next, jumper,total'), + layout: propTypes.string.def('sizes, prev, pager, next, jumper'), background: propTypes.bool.def(true), autoScroll: propTypes.bool.def(true), hidden: propTypes.bool.def(false), diff --git a/src/utils/request.ts b/src/utils/request.ts index c1aac2d..b654ca2 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -47,7 +47,9 @@ const whiteVillageId = [ '/houseRental/changeStatus', // 房屋租赁 - 上架/下架 '/points/pointsProducts/list', // 积分商品列表 '/points/*', - '/outstandingFeeSummary/*' + '/outstandingFeeSummary/*', + + '/paidInExpenses/*' // '/building/list' ]; diff --git a/src/views/system/Sdb/SdbCashier/index.vue b/src/views/system/Sdb/SdbCashier/index.vue index ca5a499..11ca1fa 100644 --- a/src/views/system/Sdb/SdbCashier/index.vue +++ b/src/views/system/Sdb/SdbCashier/index.vue @@ -104,12 +104,7 @@ - +