# 供应商结算管理 — 前端技术方案

> 依据：`供应商结算管理功能需求.md`、`供应商结算管理技术方案.md`；布局对齐 `tradeMarket/tradeOrder/index.vue`（双 `el-card`、无新增）；字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/tradeMarket/supplierSettlement/index.vue` |
| **组件名** | `TradeMarketSupplierSettlement` |
| **菜单配置** | 组件路径：`tradeMarket/supplierSettlement/index`（「交易市场平台」目录下，手工配置） |
| **权限前缀** | `tradeMarket:supplierSettlement:list\|query\|settle` |

---

## 2. API 模块

| 项 | 说明 |
| --- | --- |
| **文件** | `ruoyi-ui/src/api/tradeMarket/supplierSettlement.js` |
| **Base** | `/tradeMarket/supplierSettlement` |

| 方法 | HTTP | 说明 |
| --- | --- | --- |
| `listSupplierSettlement` | GET | `/list` |
| `getSupplierSettlement` | GET | `/{id}` |
| `completeSupplierSettlement` | PUT | `/completeSettle` |

**关联**

| 用途 | 说明 |
| --- | --- |
| `POST /common/upload` | 结算凭证上传 |
| 交易订单管理 | 结算单由订单「完成支付」自动生成；**本模块不提供跳转订单** |

---

## 3. 页面结构

1. **筛选区**：结算单编号、关联订单编号模糊；搜索、重置（**无新增**）。  
2. **列表区**：编号、创建时间、订单号、供应商、头数、金额、服务费、应付、状态标签、凭证缩略图、完成时间、操作。  
3. **完成结算弹窗**：单图上传 → `completeSettle`。  
4. **查看弹窗**：只读全字段 + 收费快照明细 + 凭证预览 + 审计；待结算可进完成结算。  
5. **打印凭证**：仅已完成；新窗口 HTML + `window.print()`。

---

## 4. 业务规则（前端）

| 规则 | 实现 |
| --- | --- |
| 结算状态 | `0` 待结算 / `1` 已完成 |
| 操作矩阵 | 待结算：完成结算、查看；已完成：打印凭证、查看 |
| 不可新建 | 无「新增」按钮；数据仅来自订单完成支付 |
| 收费快照 | `feeSnapshotText`：按户/按头(元/头)/按额(费率%) |
| 结算凭证 | jpg/jpeg/png ≤10MB；与订单支付凭证规则一致 |
| 订单关联 | `orderNo` 仅展示，**无**跳转订单详情 |

---

## 5. 国际化

| 项 | 说明 |
| --- | --- |
| **语言包** | `tradeMarket.supplierSettlement`（`lang/zh/tradeMarket.js`、`lang/bo/tradeMarket.js`） |
| **Mixin** | `tradeMarketLocaleMixin`，`tmNs = 'supplierSettlement'` |

---

## 6. 联调说明

1. 部署 `BizSupplierSettlementController` 及 `biz_supplier_settlement` 表。  
2. 先通过 **交易订单管理** 完成支付，生成待结算单。  
3. 菜单组件 `tradeMarket/supplierSettlement/index`，权限与后端一致。  
4. 验证：列表筛选、完成结算、打印凭证、双语切换。

---

## 7. 文件清单

| 类型 | 路径 |
| --- | --- |
| 页面 | `ruoyi-ui/src/views/tradeMarket/supplierSettlement/index.vue` |
| API | `ruoyi-ui/src/api/tradeMarket/supplierSettlement.js` |
| Mixin | `ruoyi-ui/src/mixins/tradeMarketLocaleMixin.js`（复用） |
| i18n | `ruoyi-ui/src/lang/zh/tradeMarket.js`、`lang/bo/tradeMarket.js`（`supplierSettlement` 节点） |

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：列表+查看+完成结算+打印凭证、汉藏双语 |
