家庭牧场数据填报 — 前端技术方案
依据:同目录功能需求、技术方案;交互对齐出栏/合作社村级填报;字段 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/dataModel/familyRanch/index.vue |
| 组件名 |
FamilyRanch |
| 菜单配置 |
组件路径:dataModel/familyRanch/index |
| 权限前缀 |
dataModel:familyRanch:list\|query\|add\|edit\|remove\|import\|export |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/dataModel/familyRanch.js |
| Base |
/dataModel/familyRanch |
CRUD、yearOptions / monthOptions / townOptions / villageTree、导入 importData、模板 importTemplate、导出 export(可选 townDeptId)与畜牧产品产量模块同构;模板/导出均为 GET + blob。
3. 页面结构
- 筛选:年、月、乡镇、企业名称(无村筛选,与需求一致)。
- 列表:年、月、乡镇、村、企业、法人、类型、注册资本、成立时间、牛存栏、牛出栏、草场面积(
grasslandAreaSubtotal)、操作。
- 新增/编辑:选村(可搜索);企业类型默认「个体工商户」、销售渠道默认「其他」;成立时间
el-date-picker(yyyy-MM-dd);派生字段只读展示。
- 详情:全部字段含派生 + 乡镇只读。
- 导入:选年月 → upsert 摘要。
- 导出:选年月;所属乡镇与列表共用选项与文案,打开时带入列表当前乡镇,清空=全部。
4. 业务规则
| 规则 |
实现 |
| 必填 |
年、月、村、企业名称 |
| 提交 |
只传 villageDeptId 与录入项;乡镇与派生由后端计算 |
| 前端只读派生 |
存栏小计、草场面积小计、利润、是否草畜平衡户(与后端公式一致,便于预览) |
| 是/否 |
hasSubsidy / hasTrademark / hasQualityCert 单选「是」「否」 |
| 枚举 |
企业类型、销售渠道与后端 FamilyRanchValidation 一致 |
5. 国际化
dataModel.familyRanch(lang/zh|bo/dataModel.js);dmNs = 'familyRanch'。
6. 联调说明
- 执行
sql/biz_family_ranch.sql。
- 菜单组件
dataModel/familyRanch/index。
- 验证:默认类型/渠道、派生只读、导出乡镇带入列表筛选、草畜失衡写入疾病预警(后端)。
7. 文件清单
| 类型 |
路径 |
| 页面 |
ruoyi-ui/src/views/dataModel/familyRanch/index.vue |
| API |
ruoyi-ui/src/api/dataModel/familyRanch.js |
| i18n |
lang/zh/dataModel.js、lang/bo/dataModel.js |
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:村×年月×企业;CRUD + 导入 upsert + 导出乡镇与列表联动 |
| 1.1 |
成立时间日期组件;补助资金年份 type=year(yyyy);派生字段表单只读预览 |