# 尾款凭证上传功能 — 前端缺少入口 **日期**: 2026-03-22 **页面**: 订单详情 **类型**: 前端功能缺失 --- ## 问题 订单详情页没有"上传尾款凭证"的按钮,管理员无法记录线下收取的尾款。 ## 后端接口(已就绪) ### 记录尾款(线下收取) ``` PUT /admin/order/{orderId}/record-balance ``` **请求体**: ```json { "proofUrl": "https://xxx.oss.aliyuncs.com/proof/xxx.jpg", // 选填:支付凭证图片URL "remark": "客户微信转账" // 选填:备注 } ``` **前置条件**:订单状态为 `CONFIRMED`(已确认)或 `PENDING_DEPARTURE`(待出发) **调用后效果**: - 订单状态变为 `PENDING_DEPARTURE`(待出发) - `balance_proof_url` 保存凭证图片 - 时间线记录"管理员确认收到尾款" ### 设置尾款支付方式 ``` PUT /admin/order/{orderId}/balance-pay-method?balancePayMethod=OFFLINE ``` 可选值:`ONLINE`(线上支付)/ `OFFLINE`(线下收取) ## 前端实现建议 ### 显示时机 订单状态为 `CONFIRMED`(已确认)且 `paymentMode = DEPOSIT`(定金模式)时,在订单详情页显示"尾款"区域。 ### UI 布局 ``` ┌─ 尾款信息 ──────────────────────────────┐ │ 尾款金额:¥8,950.00(总价 - 已付定金) │ │ 支付方式:○ 线上支付 ● 线下收取 │ │ │ │ [上传凭证] ← 点击上传图片(调文件服务) │ │ 备注:[________________] │ │ │ │ [确认收到尾款] │ └─────────────────────────────────────────┘ ``` ### 操作流程 1. 管理员选择"线下收取" 2. 上传凭证图片(调 `POST /admin/file/upload-token` 获取上传凭证 → 上传到 OSS → 拿到 URL) 3. 点击"确认收到尾款" → 调 `PUT /admin/order/{orderId}/record-balance` 4. 刷新订单详情 ### 已有凭证回显 订单详情返回的 `balanceProofUrl` 字段如果有值,显示已上传的凭证图片。