养殖大户数据填报 — 前端技术方案
依据:同目录功能需求、技术方案;交互对齐家庭牧场村级填报;字段 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/dataModel/largeLivestockFarmer/index.vue |
| 组件名 |
LargeLivestockFarmer |
| 菜单配置 |
组件路径:dataModel/largeLivestockFarmer/index |
| 权限前缀 |
dataModel:largeLivestockFarmer:list\|query\|add\|edit\|remove\|import\|export |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/dataModel/largeLivestockFarmer.js |
| Base |
/dataModel/largeLivestockFarmer |
CRUD、yearOptions / monthOptions / townOptions / villageTree、导入 importData、模板 importTemplate、导出 export(可选 townDeptId)与家庭牧场模块同构;模板/导出均为 GET + blob。
| 方法 |
路径 |
说明 |
listLargeLivestockFarmer |
GET /list |
分页;筛选年、月、乡镇、企业名称 |
getLargeLivestockFarmer |
GET /{id} |
详情 |
addLargeLivestockFarmer |
POST / |
新增 |
updateLargeLivestockFarmer |
PUT / |
修改 |
delLargeLivestockFarmer |
DELETE /{ids} |
删除 |
listLargeLivestockFarmerYearOptions |
GET /yearOptions |
年份下拉 |
listLargeLivestockFarmerMonthOptions |
GET /monthOptions |
月份下拉 |
listLargeLivestockFarmerTownOptions |
GET /townOptions |
乡镇下拉 |
listLargeLivestockFarmerVillageTree |
GET /villageTree |
县→乡镇→村树 |
importLargeLivestockFarmer |
POST /importData |
FormData:file + statYear + statMonth |
downloadLargeLivestockFarmerTemplate |
GET /importTemplate |
模板 blob |
exportLargeLivestockFarmer |
GET /export |
参数:statYear、statMonth、可选 townDeptId |
3. 页面结构
- 筛选:年、月、乡镇、企业名称(无村筛选,与需求一致)。
- 列表:年、月、乡镇、村、企业、法人、类型、注册资本、成立时间、牛存栏、牛出栏、草场面积(
grasslandAreaSubtotal)、操作。
- 新增/编辑:选村(可搜索,标签「乡镇 / 村」);企业类型默认「个体工商户」、销售渠道默认「其他」;成立时间
el-date-picker(yyyy-MM-dd);补助资金年份 type="year"(yyyy);派生字段只读展示。
- 详情:全部字段含派生 + 乡镇只读;数值用
formatWithUnit 带单位。
- 导入:选年月 → upsert 摘要(insert/update/fail)。
- 导出:选年月;所属乡镇与列表共用选项与文案,打开时带入列表当前乡镇,清空=全部。
表单分区
| 分区 |
内容 |
| 基本信息 |
年月、村、企业名称、法人、类型、注册资本、成立时间、劳力人数 |
| 存栏与出栏 |
牛/羊存栏与能繁、牛/羊出栏;只读存栏小计 |
| 草场与草畜平衡 |
草畜平衡面积、流转面积、核定载畜量、存栏绵羊单位;只读草场面积小计、是否草畜平衡户 |
| 经营与补助 |
收入、支出、只读利润;补助年份/是否/金额 |
| 其他 |
商标、质量认证、销售渠道、带动人数、工资、备注 |
4. 业务规则
| 规则 |
实现 |
| 必填 |
年、月、村、企业名称 |
| 提交 |
只传 villageDeptId 与录入项;乡镇与派生由后端计算 |
| 前端只读派生 |
存栏小计、草场面积小计、利润、是否草畜平衡户(与后端公式一致,便于预览) |
| 是/否 |
hasSubsidy / hasTrademark / hasQualityCert 单选「是」「否」 |
| 枚举 |
企业类型、销售渠道与后端 LargeLivestockFarmerValidation 一致 |
| 不可未来月 |
表单 / 导入 / 导出校验 |
| 草畜失衡预警 |
由后端写入 biz_yak_disease_warning;前端不单独处理 |
枚举取值
- 企业类型:个体工商户 / 个人独资企业 / 有限责任公司 / 合伙企业 / 其他(默认个体工商户)
- 销售渠道:其他 / 线上销售 / 线下集市 / 企事业单位 / 商超门店(默认其他)
派生预览公式(与后端一致)
- 存栏小计 = 牛年底存栏 + 羊年底存栏
- 草场面积小计 = 草畜平衡面积 + 流转经营草地面积
- 利润 = 收入 − 支出(任一侧为空则不展示)
- 是否草畜平衡户:核定载畜量 ≥ 年底存栏绵羊单位 →「是」,否则「否」(缺一侧则「—」)
5. 国际化
dataModel.largeLivestockFarmer(lang/zh|bo/dataModel.js);页面 dmNs = 'largeLivestockFarmer',复用 dataModelLocaleMixin(dmT / dmCommon / formatWithUnit)。
6. 联调说明
- 执行
sql/biz_large_livestock_farmer.sql。
- 菜单组件
dataModel/largeLivestockFarmer/index,权限见 §1。
- 验证:默认类型/渠道、派生只读、导出乡镇带入列表筛选、草畜失衡写入疾病预警(后端)。
7. 文件清单
| 类型 |
路径 |
| 页面 |
ruoyi-ui/src/views/dataModel/largeLivestockFarmer/index.vue |
| API |
ruoyi-ui/src/api/dataModel/largeLivestockFarmer.js |
| i18n |
lang/zh/dataModel.js、lang/bo/dataModel.js → largeLivestockFarmer |
| 前端技术方案 |
本文档 |
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:村×年月×企业;CRUD + 导入 upsert + 导出乡镇与列表联动;对齐家庭牧场前端交互 |
| 1.1 |
与需求 1.1 一致:导出所属乡镇打开带入列表筛选、可清空表示全部 |