# 草场管理 — 前端技术方案

> 依据：`草场管理功能需求.md`、`草场管理技术方案.md`；布局参考 `breedingStandards/breedingManage/index.vue`（双 `el-card`）；请求/响应字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/dataModel/grassland/index.vue` |
| **组件名** | `Grassland` |
| **菜单配置** | 若依「菜单管理」组件路径：`dataModel/grassland/index` |
| **权限标识** | `dataModel:grassland:list\|query\|add\|edit\|remove\|export` |

---

## 2. API 模块

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

| 方法 | HTTP | 路径 | 说明 |
| --- | --- | --- | --- |
| `listGrassland` | GET | `/list` | 分页；Query：`keyword`、`utilizationType`、`degradationLevel` |
| `getGrassland` | GET | `/{id}` | 详情 |
| `addGrassland` | POST | `/` | 新增 |
| `updateGrassland` | PUT | `/` | 修改（含 `id`） |
| `delGrassland` | DELETE | `/{ids}` | 逻辑删除，逗号分隔 |

**导出**：页面调用若依 `download('dataModel/grassland/export', query, fileName)`，需 `dataModel:grassland:export` 权限。

---

## 3. 页面结构

1. **筛选区**（`el-card`）：草场名称关键字（模糊）、利用类型、退化等级；搜索、重置、新增、批量删除、导出。  
2. **列表区**（`el-card`）：宽表横向滚动；列含名称、面积、禁牧面积、草畜平衡面积、退化等级、利用类型、亩产草量、利用率（%）、禁牧起止、轮牧三项、创建时间。  
3. **新增/编辑弹窗**（900px，两列）：全部业务字段 + 备注；数值带单位（亩、kg/亩、0～1、块、天）。  
4. **查看弹窗**：只读 + 审计字段。  

**行内操作**：查看、编辑、删除（无地图标点，本期不实现）。

---

## 4. 枚举与展示

| 字段 | 编码 | i18n 键前缀 |
| --- | --- | --- |
| 退化等级 | 1～5 | `dataModel.grassland.degradation{n}` |
| 利用类型 | 1～3 | `dataModel.grassland.utilization{n}` |

**利用率**：表单录入 **0～1**（`el-input-number` max=1）；列表/详情展示为 **百分比**（×100，保留 2 位小数）。

---

## 5. 国际化

| 项 | 说明 |
| --- | --- |
| **语言包** | `ruoyi-ui/src/lang/zh/dataModel.js`、`ruoyi-ui/src/lang/bo/dataModel.js` |
| **注册** | `zh-CN.js`、`bo.js` 挂载 `dataModel` |
| **Mixin** | `dataModelLocaleMixin`：`dmT`（`data.dmNs = 'grassland'`）、`dmCommon` |

---

## 6. 校验与交互要点

- **必填**：草场名称 1～10 字；面积 > 0。  
- **选填**（有值时校验）：禁牧面积、草畜平衡面积 > 0；亩产草量 > 0；利用率 0～1；禁牧结束 ≥ 开始且成对；轮牧三项为 ≥1 的整数。  
- 备注选填 ≤100 字。  
- 不因利用类型隐藏字段（与功能需求 §5.1 一致）。  
- 删除为逻辑删除，前端仅调 DELETE 接口。  

---

## 7. 联调说明

1. 后端实现 `草场管理技术方案.md` §3 及 `biz_grassland` 表（升级脚本 `biz_grassland_fields_alter.sql`）。  
2. 配置菜单与六项按钮权限。  
3. 验证：筛选、仅名称+面积新增、全字段 CRUD、日期与利用率边界。  

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：双卡片 + 宽表 CRUD；无地图标点 |
| 1.1 | 禁牧面积、草畜平衡面积；非名称/面积字段改为选填 |
