From fe3230eb9cb892344bf9e4198663926f0dbffded Mon Sep 17 00:00:00 2001 From: zhangjf Date: Sun, 15 Feb 2026 18:20:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E6=94=AF=E5=87=BA?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=89=8D=E7=AB=AF=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建 expense.js API 文件(完整的 CRUD 接口) - 创建 expense.vue 管理页面 - 多条件搜索(支出编号、支出类型、项目、状态) - 表格展示(支出编号、类型、金额、日期、事由、项目、付款方式、状态) - 新增/编辑表单(支持金额、日期、事由、项目、付款方式等管理) - 状态更新对话框(待付款/已付款/已完成/已作废) - 支出类型树形选择 - 项目下拉选择 - 添加支出管理路由配置(/finance/expense) 支出管理模块全栈开发完成!✅ --- fund-admin/src/api/expense.js | 65 +++ fund-admin/src/router/index.js | 6 + fund-admin/src/views/finance/expense.vue | 506 +++++++++++++++++++++++ 3 files changed, 577 insertions(+) create mode 100644 fund-admin/src/api/expense.js create mode 100644 fund-admin/src/views/finance/expense.vue diff --git a/fund-admin/src/api/expense.js b/fund-admin/src/api/expense.js new file mode 100644 index 0000000..7e6c7db --- /dev/null +++ b/fund-admin/src/api/expense.js @@ -0,0 +1,65 @@ +import request from '../utils/request' + +/** + * 获取支出列表(分页) + */ +export const getExpenseList = (params) => { + return request({ + url: '/proj/api/v1/expense/list', + method: 'get', + params + }) +} + +/** + * 获取支出详情 + */ +export const getExpenseById = (expenseId) => { + return request({ + url: `/proj/api/v1/expense/${expenseId}`, + method: 'get' + }) +} + +/** + * 创建支出 + */ +export const createExpense = (data) => { + return request({ + url: '/proj/api/v1/expense', + method: 'post', + data + }) +} + +/** + * 更新支出 + */ +export const updateExpense = (expenseId, data) => { + return request({ + url: `/proj/api/v1/expense/${expenseId}`, + method: 'put', + data + }) +} + +/** + * 删除支出 + */ +export const deleteExpense = (expenseId) => { + return request({ + url: `/proj/api/v1/expense/${expenseId}`, + method: 'delete' + }) +} + +/** + * 更新支出状态 + */ +export const updateExpenseStatus = (expenseId, status) => { + return request({ + url: `/proj/api/v1/expense/${expenseId}/status`, + method: 'put', + params: { status } + }) +} diff --git a/fund-admin/src/router/index.js b/fund-admin/src/router/index.js index 36b32dd..09d930c 100644 --- a/fund-admin/src/router/index.js +++ b/fund-admin/src/router/index.js @@ -105,6 +105,12 @@ const routes = [ name: 'ExpenseType', component: () => import('../views/finance/expenseType.vue'), meta: { title: '支出类型' } + }, + { + path: 'expense', + name: 'Expense', + component: () => import('../views/finance/expense.vue'), + meta: { title: '支出管理' } } ] } diff --git a/fund-admin/src/views/finance/expense.vue b/fund-admin/src/views/finance/expense.vue new file mode 100644 index 0000000..c696b9a --- /dev/null +++ b/fund-admin/src/views/finance/expense.vue @@ -0,0 +1,506 @@ + + + + +