feat: 项目流水拆分为确收与回款+费用明细两Tab + 数据迁移

后端:
- 新增 expense_data TEXT 列(columns.py迁移)
- 新增 data_split 迁移:旧 budget_data cost/paid → expense_data(幂等)
- sum_budget cost/paid → sum_expense cost/paid(routes.py/helpers.py)
- TABLES 配置加入 expense_data

前端:
- 项目详情弹窗Tab:基本信息→确收与回款→费用明细→执行信息→任务管理→活动
- 确收与回款Tab:月份/确收/毛利/回款/备注
- 费用明细Tab:月份/费用类型/应付/已付/备注
- 项目表格三视图(月/季/总)cost/paid来源切换为expense_data
- 保存逻辑分两路: budget_data(rev/gross/payment)+expense_data(cost/paid)
This commit is contained in:
mac
2026-07-06 21:34:48 +08:00
parent dbc98e4693
commit f44f7eab9e
6 changed files with 275 additions and 89 deletions

View File

@@ -106,6 +106,10 @@ def migrate_add_columns():
_add_column_if_missing(conn, "expense_records", "incurred_amount",
"ALTER TABLE expense_records ADD COLUMN incurred_amount DOUBLE NOT NULL DEFAULT 0")
# project_finances 费用明细 JSON 数据
_add_column_if_missing(conn, "project_finances", "expense_data",
"ALTER TABLE project_finances ADD COLUMN expense_data TEXT")
conn.commit()
print("[migrate] 加列迁移完成")
finally: