feat(admin): 新增资金出款与运营开支管理

This commit is contained in:
yml2213
2026-10-30 13:40:56 +08:00
parent 4554f1d525
commit dd1d00227c
10 changed files with 1899 additions and 4 deletions
+3 -3
View File
@@ -194,12 +194,12 @@ dist/assets/AdminLayout-*.js 36.87 kB │ gzip 13.02 kB
## 5. 已知限制
1. 移动端订单列表/详情与消息中心已接入真实接口;下单、支付、交接、归还、结账等操作仍待迁移。
2. 后台导航已完成仪表盘、订单列表/详情、退款审核、提现审核、商品列表/详情与审核、用户列表/详情与人工操作、申诉仲裁、财务看板、公告管理、审计日志、系统配置、分销站点,长尾能力仍待迁移。
2. 后台导航已完成仪表盘、订单列表/详情、退款审核、提现审核、商品列表/详情与审核、用户列表/详情与人工操作、申诉仲裁、财务看板、资金出款、运营开支、公告管理、审计日志、系统配置、分销站点,长尾能力仍待迁移。
3. 分销后台已完成主题、Logo、登录页与 Shell 轻改,页面结构未重写。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view` / `order:close`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`,提现 `withdrawal:list` / `withdrawal:detail` / `withdrawal:review` / `withdrawal:pay`,申诉 `dispute:view` / `dispute:arbitrate`,财务 `wallet:view`,公告 `announcement:view` / `announcement:manage`,审计日志 `audit_log:view`,系统配置 `system_config:view` / `system_config:update`,分销站点 `distribution:site_view` / `distribution:site_manage`(列表也接受 `qrcode:view`);当前菜单权限码已全部对照后端。
4. 后台菜单权限码按后端逐个核对:订单 `order:list` / `order:view` / `order:close`,商品 `listing:view` / `listing:approve` / `listing:reject` / `listing:offline`,用户 `user:view` / `user:freeze` / `user:unfreeze` / `user:deposit_free` / `user:growth_points` / `user:manual_realname` / `user:revoke_realname` / `user:wallet_adjust`,提现 `withdrawal:list` / `withdrawal:detail` / `withdrawal:review` / `withdrawal:pay`,申诉 `dispute:view` / `dispute:arbitrate`,财务 `wallet:view`(资金出款列表)与 `finance:manual_disbursement` / `finance:operating_expense`,公告 `announcement:view` / `announcement:manage`,审计日志 `audit_log:view`,系统配置 `system_config:view` / `system_config:update`,分销站点 `distribution:site_view` / `distribution:site_manage`(列表也接受 `qrcode:view`);当前菜单权限码已全部对照后端。
5. SVG 中文尚未转曲。
6. 入口包已降至 495 kB(gzip 161 kB);AntD 共享基础设施仍在入口,后续可拆独立入口。
7. 移动端、订单、分销轻改与首屏优化均已提交;商品管理、审核、退款、提现、用户、申诉、财务、公告、审计日志、系统配置与分销站点已按批次提交。
7. 移动端、订单、分销轻改与首屏优化均已提交;商品管理、审核、退款、提现、用户、申诉、财务、资金出款、运营开支、公告、审计日志、系统配置与分销站点已按批次提交。
---
@@ -0,0 +1,104 @@
# Phase 2 验收报告(资金出款与运营开支)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:`/console-jy8k3m/finance/disbursements`、`/console-jy8k3m/finance/operating-expenses`
> 结论:**本切片通过,资金出款与运营开支的列表、汇总、补记和作废已接真实接口**
---
## 1. 接口与权限
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 资金出款列表 | `GET /api/admin/finance/disbursements` | `wallet:view` |
| 新增线下出款 | `POST /api/admin/finance/manual-disbursements` | `finance:manual_disbursement` |
| 作废线下出款 | `POST /api/admin/finance/manual-disbursements/:id/void` | `finance:manual_disbursement` |
| 运营开支列表 | `GET /api/admin/finance/operating-expenses` | `finance:operating_expense` |
| 新增运营开支 | `POST /api/admin/finance/operating-expenses` | `finance:operating_expense` |
| 作废运营开支 | `POST /api/admin/finance/operating-expenses/:id/void` | `finance:operating_expense` |
资金出款列表统一汇总五类来源:
```text
platform_managed 平台代管出款
pickup 线下提号结算
pickup_adjustment 提号财务调整
withdrawal 钱包提现
manual_offline 手工线下出款
```
## 2. 资金出款页
`frontend/src/features/admin/AdminFinanceDisbursementsPage.tsx`
- 筛选:日期类型(业务时间/打款时间)、日期范围、出款类型、状态、关键词
- 汇总卡片:已打款金额与笔数、待打款、待审核、提现手续费
- 列:出款单/类型、收款方/账户、金额/手续费/实付、状态、打款时间/操作人、备注、操作
- 分页 10 / 20 / 50
- 详情抽屉:出款信息、收款信息、金额、备注与凭证、作废信息
- 仅 `manual_offline` 且 `paid` 的记录显示「作废」
- 有 `finance:manual_disbursement` 时显示「新增线下出款」
新增线下出款字段:
- 出款分类(用户补偿、卖家补款、运营支出、渠道费用、多多退押金、其他、自定义)
- 自定义分类名称(选择「自定义」时必填)
- 收款人 / 单位
- 出款金额(元,提交时转换为分)
- 打款时间
- 出款用途 / 备注
- 打款凭证地址(可选)
作废必须填写作废原因,二次确认后提交。
## 3. 运营开支页
`frontend/src/features/admin/AdminOperatingExpensesPage.tsx`
- 筛选:日期类型(录入/实际开支)、日期范围、状态、开支类别、关键词
- 汇总卡片:有效开支金额与笔数、当前筛选记录数
- 列:开支单/类别、收款方、金额、实际开支时间、状态、录入人、用途、操作
- 详情抽屉:开支信息、用途与凭证、作废信息
- 已记账记录可作废,作废必须填写原因
新增运营开支字段:
- 开支类别(支持常用类别建议与自由输入)
- 收款方 / 单位
- 开支金额(元,提交时转换为分)
- 开支发生时间
- 开支用途 / 详细备注
- 凭证 / 发票地址(可选)
## 4. 菜单与路由
- 路由:`frontend/src/app/AppRouter.tsx` 新增 `finance/disbursements`、`finance/operating-expenses`
- 菜单:财务组新增「资金出款」(`wallet:view`)、「运营开支」(`finance:operating_expense`)
- 面包屑标题与说明同步补充
## 5. 验证结果
```text
npx tsc --noEmit 通过
npm run build 通过(入口 498.51 kB,gzip 161.58 kB)
GET /api/admin/finance/disbursements?... ok,开发库返回 0 条
GET /api/admin/finance/operating-expenses?... ok,开发库返回 0 条
```
开发库当前没有出款与运营开支记录;列表与汇总读取已实测,未执行新增或作废写操作。
## 6. 已知限制
1. 打款凭证与发票目前只支持填写地址,尚未接后台文件上传。
2. 线下出款与运营开支只支持新增和作废,不支持编辑金额或替换凭证。
3. 资金出款页没有按操作人 ID、用户 ID 单独筛选,关键词已覆盖单号、收款方与账户。
4. 作废原因最多 200 字,未做附件或审批流。
5. 财务看板尚未直接跳转到对应出款/开支明细。
## 7. 下一步建议
1. 接入后台文件上传,补齐凭证拍照与预览。
2. 财务看板增加出款与开支明细跳转。
3. 分销站点钱包与提现审核。
4. 移动端下单、支付与交接/归还/结账。
+1 -1
View File
@@ -395,7 +395,7 @@ hfb_jysh/
### Phase 4:管理后台核心(4–5 周)
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉、财务看板、公告管理、审计日志、系统配置与分销站点;线下出款/运营支出及分销长尾能力待迁移。
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉、财务看板、资金出款、运营开支、公告管理、审计日志、系统配置与分销站点;分销长尾能力待迁移。
- 后台登录、工作台、订单列表、订单详情。
- 商品列表、商品详情、审核。