mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
124 lines
3.8 KiB
Markdown
124 lines
3.8 KiB
Markdown
# 财务管理模块 - 分类功能使用指南
|
||
|
||
## 功能概览
|
||
|
||
财务模块现已支持完整的分类功能,用户可以:
|
||
|
||
1. **新建分类** - 在做账标签页左侧点击"新建分类"按钮
|
||
2. **选择分类** - 在创建/编辑交易时选择或输入分类
|
||
3. **按分类查询** - 在查询标签页通过分类进行筛选
|
||
|
||
## 功能详细说明
|
||
|
||
### 1. 新建分类
|
||
|
||
**操作步骤:**
|
||
1. 打开财务模块,进入"做账"标签页
|
||
2. 点击左上方"新建分类"按钮
|
||
3. 在弹出对话框中输入分类名称(如"工作支出"、"投资收益"等)
|
||
4. 点击"创建"按钮
|
||
|
||
**注意:**
|
||
- 系统默认提供10个基础分类:其他、工资、奖金、投资、生活、交通、饮食、娱乐、医疗、教育
|
||
- 无法删除默认分类,但可以添加自定义分类
|
||
- 同一账户不能有重复的分类名称
|
||
|
||
### 2. 创建/编辑交易记录
|
||
|
||
**创建新交易:**
|
||
1. 点击"新建记录"按钮
|
||
2. 填写交易信息:
|
||
- **交易类型**:选择"入账"或"支出"
|
||
- **分类**:从下拉框中选择或确认分类
|
||
- **日期**:选择交易日期
|
||
- **金额**:输入交易金额(正数)
|
||
- **交易人**:输入交易对方名称
|
||
- **备注**:添加备注说明(可选)
|
||
- **相关文件**:上传发票、支付记录、购买记录等(可选)
|
||
3. 点击"保存"按钮
|
||
|
||
**编辑现有交易:**
|
||
1. 在记录表中选择要编辑的交易
|
||
2. 点击"编辑"按钮
|
||
3. 修改任意字段(包括分类)
|
||
4. 点击"保存"按钮
|
||
|
||
### 3. 按分类查询
|
||
|
||
**操作步骤:**
|
||
1. 进入"查询"标签页
|
||
2. 设置查询条件:
|
||
- **日期范围**:选择起始和结束日期
|
||
- **交易类型**:选择"全部"、"收入(正数)"或"支出(负数)"
|
||
- **分类**:从下拉框选择要查询的分类("全部"表示不按分类筛选)
|
||
- **金额范围**:输入最小和最大金额范围
|
||
- **交易人**:输入交易人名称(支持模糊匹配)
|
||
3. 点击"查询"按钮
|
||
|
||
**查询结果显示:**
|
||
- 表格列包括:日期、交易人、**分类**、金额、备注
|
||
- 结果按日期倒序排列(最新的在上)
|
||
|
||
## 数据持久化
|
||
|
||
所有分类信息被保存到:
|
||
```
|
||
assets/Finance_Data/accounts/{account_id}/metadata.json
|
||
```
|
||
|
||
交易记录(包括分类)被保存到:
|
||
```
|
||
assets/Finance_Data/accounts/{account_id}/{transaction_id}/data.json
|
||
```
|
||
|
||
## 导出与导入
|
||
|
||
### 导出为CSV
|
||
- 打开"导出"标签页
|
||
- 点击"导出CSV"按钮
|
||
- 选择保存位置
|
||
- CSV文件将包含:日期、金额、交易人、**分类**、备注、创建时间
|
||
|
||
### 导出/导入账户
|
||
- 支持完整的账户数据迁移(包括所有分类和交易记录)
|
||
- 导出为ZIP包后可在其他地方导入
|
||
|
||
## API 接口
|
||
|
||
如果需要在代码中直接使用分类功能:
|
||
|
||
```python
|
||
from app.tools.finance_manager import FinanceManager
|
||
|
||
fm = FinanceManager()
|
||
|
||
# 添加分类
|
||
fm.add_category(account_id, "新分类名称")
|
||
|
||
# 删除自定义分类
|
||
fm.delete_category(account_id, "分类名称")
|
||
|
||
# 获取所有分类
|
||
categories = fm.get_categories(account_id)
|
||
|
||
# 按分类查询交易
|
||
results = fm.query_transactions(
|
||
account_id,
|
||
category="工资" # 指定分类
|
||
)
|
||
```
|
||
|
||
## 常见问题
|
||
|
||
**Q: 为什么我新建的分类不显示在"新建记录"对话框中?**
|
||
A: 确保已点击"创建"按钮完成分类创建,然后再打开新建记录对话框。系统会自动从账户中读取最新的分类列表。
|
||
|
||
**Q: 能否修改分类名称?**
|
||
A: 目前不支持修改分类名称。建议先新建一个新分类,然后为已有交易重新分配分类。
|
||
|
||
**Q: 删除交易记录后,其分类会被删除吗?**
|
||
A: 不会。分类是账户级别的属性,删除交易不会影响分类列表。
|
||
|
||
**Q: 如何导入包含分类的交易数据?**
|
||
A: 使用"导出"标签页的"导入账户"功能,选择之前导出的ZIP包即可恢复所有分类和交易记录。
|