交易订单管理 — 前端技术方案
依据:交易订单管理功能需求.md、交易订单管理技术方案.md;布局对齐 tradeMarket/marketEntry/index.vue(双 el-card);字段 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/tradeMarket/tradeOrder/index.vue |
| 组件名 |
TradeMarketTradeOrder |
| 菜单配置 |
组件路径:tradeMarket/tradeOrder/index(「交易市场平台」目录下,手工配置) |
| 权限前缀 |
tradeMarket:tradeOrder:list\|query\|add\|edit\|remove\|pay |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/tradeMarket/tradeOrder.js |
| Base |
/tradeMarket/tradeOrder |
| 方法 |
HTTP |
说明 |
listTradeOrder |
GET |
/list |
getTradeOrder |
GET |
/{id} |
addTradeOrder |
POST |
/ |
updateTradeOrder |
PUT |
/ |
delTradeOrder |
DELETE |
/{ids} |
listTradeOrderSupplierEarTags |
GET |
/supplierEarTags?supplierId= |
completeTradeOrderPay |
PUT |
/completePay |
关联接口
| 方法 |
文件 |
说明 |
listSupplier |
supplier.js |
供应商筛选/表单 |
listDistributor |
distributor.js |
承销商筛选/表单 |
/common/upload |
— |
支付凭证上传 |
3. 页面结构
- 筛选区:订单编号模糊;供应商、承销商精确;搜索、重置、新增。
- 列表区:编号、创建时间、双方、采购明细入口、头数、金额、状态标签、支付凭证缩略图、完成时间、操作。
- 新增/编辑弹窗:供应商/承销商可搜、采购明细可增删行(耳标/重量/金额)、头数与金额只读联动。
- 完成支付弹窗:单图上传 →
completePay。
- 采购明细表弹窗:列表快捷只读查看。
- 查看弹窗:全字段 + 明细表 + 审计;待支付可编辑/删除。
- 打印:待支付「打印小票」;已完成「打印凭证」(新窗口 HTML +
window.print())。
4. 业务规则(前端)
| 规则 |
实现 |
| 订单状态 |
0 待支付 / 1 已完成;操作按钮按 §8.7 矩阵显示 |
| 换供应商 |
onSupplierChange 清空 lineList 并重载耳标 |
| 耳标下拉 |
listTradeOrderSupplierEarTags(进栏子表);earTagOptionsForRow 排除本单已选 |
| 明细校验 |
至少 1 行;耳标不重复;重量/金额 > 0 |
| 汇总 |
syncTotals:totalHeads = lineList.length;totalAmount = sum(amount) 保留 2 位 |
| 完成支付 |
payVoucherUrl/payVoucherPath;jpg/jpeg/png ≤10MB |
| 打印边界 |
小票仅待支付;凭证仅已完成 |
| 删除/编辑 |
前端拦截已完成;后端 R7 二次校验 |
5. 国际化
| 项 |
说明 |
| 语言包 |
tradeMarket.tradeOrder(lang/zh/tradeMarket.js、lang/bo/tradeMarket.js) |
| Mixin |
tradeMarketLocaleMixin,tmNs = 'tradeOrder' |
6. 联调说明
- 部署
BizTradeOrderController 及 biz_trade_order、biz_trade_order_line 表。
- 预置供应商(含收费配置)、承销商、市场进栏耳标数据。
- 菜单组件
tradeMarket/tradeOrder/index,权限与后端一致。
- 验证:新增待支付、修改明细、完成支付生成结算单、打印、逻辑删除、双语切换。
7. 文件清单
| 类型 |
路径 |
| 页面 |
ruoyi-ui/src/views/tradeMarket/tradeOrder/index.vue |
| API |
ruoyi-ui/src/api/tradeMarket/tradeOrder.js |
| Mixin |
ruoyi-ui/src/mixins/tradeMarketLocaleMixin.js(复用) |
| i18n |
ruoyi-ui/src/lang/zh/tradeMarket.js、lang/bo/tradeMarket.js(tradeOrder 节点) |
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:列表+CRUD、采购明细表、完成支付、打印小票/凭证、汉藏双语 |