草场管理 — 前端技术方案
依据:草场管理功能需求.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. 页面结构
- 筛选区(
el-card):草场名称关键字(模糊)、利用类型、退化等级;搜索、重置、新增、批量删除、导出。
- 列表区(
el-card):宽表横向滚动;列含名称、面积、退化等级、利用类型、亩产草量、利用率(%)、禁牧起止、轮牧三项、创建时间。
- 新增/编辑弹窗(900px,两列):全部业务字段 + 备注;数值带单位(亩、kg/亩、0~1、块、天)。
- 查看弹窗:只读 + 审计字段。
行内操作:查看、编辑、删除(无地图标点,本期不实现)。
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~1;禁牧结束 ≥ 开始;轮牧三项为 ≥1 的整数。
- 备注选填 ≤100 字。
- 不因利用类型隐藏字段(与功能需求 §5.1 一致)。
- 删除为逻辑删除,前端仅调 DELETE 接口。
7. 联调说明
- 后端实现
草场管理技术方案.md §3 及 biz_grassland 表。
- 配置菜单与六项按钮权限。
- 验证:筛选、全字段 CRUD、导出、日期与利用率边界。
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:双卡片 + 宽表 CRUD;无地图标点 |