From 061d96036541c1d0c88eea95c25b58950de8d289 Mon Sep 17 00:00:00 2001
From: wangxiaoxian <1094175543@qq.com>
Date: Sun, 15 Mar 2026 20:40:46 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=94=AF=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/api.js | 13 +-
src/router/index.js | 16 ++
src/views/expenses/Add.vue | 143 ++++++++++++++
src/views/expenses/Edit.vue | 150 +++++++++++++++
src/views/expenses/List.vue | 351 ++++++++++++++++++++++++++++++++++
src/views/statistics/Rent.vue | 18 ++
6 files changed, 690 insertions(+), 1 deletion(-)
create mode 100644 src/views/expenses/Add.vue
create mode 100644 src/views/expenses/Edit.vue
create mode 100644 src/views/expenses/List.vue
diff --git a/src/api/api.js b/src/api/api.js
index 1276501..f6c88f0 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -84,6 +84,16 @@ export const electricityBillApi = {
delete: (id) => del(`/electricity-bills/${id}`)
};
+// 费用支出管理API
+export const expenseApi = {
+ getAll: (params = {}) => get('/expenses', params),
+ list: (params = {}) => get('/expenses/list', params),
+ getById: (id) => get(`/expenses/${id}`),
+ create: (data) => post('/expenses', data),
+ update: (id, data) => put(`/expenses/${id}`, data),
+ delete: (id) => del(`/expenses/${id}`)
+};
+
export default {
apartment: apartmentApi,
room: roomApi,
@@ -92,5 +102,6 @@ export default {
rental: rentalApi,
statistics: statisticsApi,
waterBill: waterBillApi,
- electricityBill: electricityBillApi
+ electricityBill: electricityBillApi,
+ expense: expenseApi
};
diff --git a/src/router/index.js b/src/router/index.js
index e3fd71f..dbf1231 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -135,6 +135,22 @@ const routes = [
path: '/menu/list',
name: 'MenuList',
component: () => import('@/views/menu/List.vue')
+ },
+ // 费用支出管理
+ {
+ path: '/expenses',
+ name: 'ExpenseList',
+ component: () => import('@/views/expenses/List.vue')
+ },
+ {
+ path: '/expenses/add',
+ name: 'ExpenseAdd',
+ component: () => import('@/views/expenses/Add.vue')
+ },
+ {
+ path: '/expenses/edit/:id',
+ name: 'ExpenseEdit',
+ component: () => import('@/views/expenses/Edit.vue')
}
]
},
diff --git a/src/views/expenses/Add.vue b/src/views/expenses/Add.vue
new file mode 100644
index 0000000..ad317e9
--- /dev/null
+++ b/src/views/expenses/Add.vue
@@ -0,0 +1,143 @@
+
+