# 财务管理模块 - 分类功能使用指南 ## 功能概览 财务模块现已支持完整的分类功能,用户可以: 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包即可恢复所有分类和交易记录。