牧场管理 — 前端技术方案
依据:牧场管理功能需求.md、牧场管理技术方案.md;布局参考 breedingStandards/breedingManage/index.vue(双 el-card);请求/响应字段 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/dataModel/pasture/index.vue |
| 组件名 |
Pasture |
| 菜单配置 |
若依「菜单管理」组件路径:dataModel/pasture/index |
| 权限标识 |
dataModel:pasture:list\|query\|add\|edit\|remove\|export |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/dataModel/pasture.js |
| Base |
/dataModel/pasture |
| 方法 |
HTTP |
路径 |
说明 |
listPasture |
GET |
/list |
分页;Query:keyword、pastureNature、bizStatus |
getPasture |
GET |
/{id} |
详情 |
addPasture |
POST |
/ |
新增 |
updatePasture |
PUT |
/ |
修改(含 id) |
delPasture |
DELETE |
/{ids} |
逻辑删除,逗号分隔 |
导出:download('dataModel/pasture/export', query, fileName)。
照片上传:POST /common/upload → photoFileUrl、photoFilePath(fileName)。
3. 页面结构
- 筛选区:牧场名称关键字、牧场性质、经营状态;搜索、重置、新增、批量删除、导出。
- 列表区:名称、性质、证件号(脱敏)、省市区、地址、负责人、手机(脱敏)、经营状态、创建时间。
- 新增/编辑弹窗(900px,两列):主体信息、省/市/县三级级联(
RegionCascader)、照片(单张)、备注。
- 查看弹窗:全字段只读;照片
el-image 预览。
行内操作:查看、编辑、删除(无地图标点)。
4. 枚举与校验
| 字段 |
编码 |
i18n |
| 牧场性质 |
1 个体 / 2 企业 |
dataModel.pasture.nature{n} |
| 经营状态 |
1 正常 / 2 停业 / 3 注销 |
dataModel.pasture.bizStatus{n} |
| 校验 |
规则 |
| 牧场名称 |
1~10 字 |
| 证件号 |
个体:18 位身份证;企业:18 位 USCC([0-9A-Z]{18}) |
| 区划 |
须选至县级(6 个 code/name 字段) |
| 手机 |
1[3-9] 开头的 11 位 |
| 照片 |
jpg/jpeg/png,≤10MB,可选 |
切换牧场性质时清空证件号并重新校验。
5. 组件与依赖
| 项 |
说明 |
| RegionCascader |
ruoyi-ui/src/components/RegionCascader/index.vue;数据来自 element-china-area-data |
| chinaRegion |
ruoyi-ui/src/utils/chinaRegion.js |
| i18n |
dataModel.pasture(zh / bo);Mixin:dataModelLocaleMixin,dmNs = 'pasture' |
6. 联调说明
- 后端已实现
BizPastureController(/dataModel/pasture)。
- 配置菜单与六项按钮权限。
- 区划 code 与库表一致(国标 adcode);历史短码数据可能在级联中无法回显,宜统一为国标码。
- 删除为逻辑删除;换图/删除时旧照片清理由后端处理。
7. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:CRUD + 区划级联 + 单图上传;双卡片布局 |