# 市场行情登记 — 前端技术方案

> 依据：`市场行情登记功能需求.md`、`市场行情登记技术方案.md`；布局双 `el-card`；字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/tradeMarket/marketQuote/index.vue` |
| **组件名** | `TradeMarketMarketQuote` |
| **菜单配置** | 组件路径：`tradeMarket/marketQuote/index` |
| **权限前缀** | `tradeMarket:marketQuote:list\|query\|add\|edit\|remove` |

---

## 2. API 模块

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

| 方法 | HTTP | URI |
| --- | --- | --- |
| `listMarketQuote` | GET | `/list` |
| `getMarketQuote` | GET | `/{id}` |
| `addMarketQuote` | POST | `/` |
| `updateMarketQuote` | PUT | `/` |
| `delMarketQuote` | DELETE | `/{ids}` |
| `listTradeMarketOptions` | GET | `/tradeMarketOptions` |

---

## 3. 页面结构

1. **筛选区**：行情日期区间、`tradeMarketId` 渠道下拉、`RegionCascader` 产地（回写 `countyCode`）。  
2. **列表区**：日期、产地、渠道、公母、重量、价格区间、均价、出栏情况、操作。  
3. **新增/编辑弹窗（960px）**：日期（默认昨天）、渠道、三级产地、品类维度、价格/单位、均价只读自动计算、变化因素多选、三项概率、出栏建议。  
4. **查看弹窗**：全字段只读；变化因素、概率摘要。

---

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

| 规则 | 实现 |
| --- | --- |
| 行情日期 | 默认 `yesterdayYmd()`；`value > todayYmd()` 拒绝 |
| 产地 | `RegionCascader`；`validateRegion` 须选至县 |
| 渠道 | `listTradeMarketOptions`；必选 |
| 均价 | `displayAvgPrice = (min+max)/2`；提交带 `avgPrice` |
| 概率 | `probRise+probFlat+probFall` 与 100 误差 ≤0.01 |
| 变化因素 | `el-checkbox-group`；`changeFactors` 数组提交 |
| 可选维度 | `weightGrade` 等空则 `null` |
| 列表筛选 | `beginQuoteDate`/`endQuoteDate` 来自 `queryDateRange` |

---

## 5. 国际化

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

---

## 6. 依赖组件

| 组件 | 路径 |
| --- | --- |
| `RegionCascader` | `ruoyi-ui/src/components/RegionCascader/index.vue` |

---

## 7. 联调说明

1. 部署 `BizMarketDailyQuoteController`、`biz_market_daily_quote` 及 `tradeMarketOptions` 接口。  
2. 预置 `biz_trade_market` 正常状态市场供渠道下拉。  
3. 菜单 `tradeMarket/marketQuote/index`，权限与后端一致。

---

## 8. 文件清单

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

---

## 9. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：日度行情 CRUD；渠道下拉；区划级联；均价与概率校验 |
