feat: 更新财务系统功能和界面优化

- 优化财务仪表板数据展示
- 增强账户管理功能
- 改进预算和分类管理
- 完善报表和统计分析
- 优化交易管理界面
- 更新Workspace工作区

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
woshiqp465
2025-10-05 15:10:06 +08:00
parent a1dc8de7e5
commit 1def26f74f
35 changed files with 4449 additions and 3000 deletions

View File

@@ -1,6 +1,7 @@
import { defineStore } from 'pinia';
import { ref } from 'vue';
import { defineStore } from 'pinia';
import { FinanceApi } from '#/api/core/finance';
export const useFinanceStore = defineStore('finance', () => {
@@ -50,10 +51,10 @@ export const useFinanceStore = defineStore('finance', () => {
// 创建分类
async function createCategory(data: {
name: string;
type: 'income' | 'expense';
icon?: string;
color?: string;
icon?: string;
name: string;
type: 'expense' | 'income';
}) {
const category = await FinanceApi.createCategory(data);
if (!category) {
@@ -71,9 +72,9 @@ export const useFinanceStore = defineStore('finance', () => {
async function updateCategory(
id: number,
data: {
name?: string;
icon?: string;
color?: string;
icon?: string;
name?: string;
sortOrder?: number;
},
) {
@@ -97,13 +98,13 @@ export const useFinanceStore = defineStore('finance', () => {
await FinanceApi.deleteCategory(id);
// 从本地列表中移除
let index = incomeCategories.value.findIndex((c) => c.id === id);
if (index !== -1) {
incomeCategories.value.splice(index, 1);
} else {
if (index === -1) {
index = expenseCategories.value.findIndex((c) => c.id === id);
if (index !== -1) {
expenseCategories.value.splice(index, 1);
}
} else {
incomeCategories.value.splice(index, 1);
}
}