西藏巴青项目

养殖大户数据填报前端技术方案.md 5.6KB

养殖大户数据填报 — 前端技术方案

依据:同目录功能需求、技术方案;交互对齐家庭牧场村级填报;字段 小驼峰


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 参数:statYearstatMonth、可选 townDeptId

3. 页面结构

  1. 筛选:年、月、乡镇、企业名称(无村筛选,与需求一致)。
  2. 列表:年、月、乡镇、村、企业、法人、类型、注册资本、成立时间、牛存栏、牛出栏、草场面积(grasslandAreaSubtotal)、操作。
  3. 新增/编辑:选村(可搜索,标签「乡镇 / 村」);企业类型默认「个体工商户」、销售渠道默认「其他」;成立时间 el-date-pickeryyyy-MM-dd);补助资金年份 type="year"yyyy);派生字段只读展示。
  4. 详情:全部字段含派生 + 乡镇只读;数值用 formatWithUnit 带单位。
  5. 导入:选年月 → upsert 摘要(insert/update/fail)。
  6. 导出:选年月;所属乡镇与列表共用选项与文案,打开时带入列表当前乡镇,清空=全部。

表单分区

分区 内容
基本信息 年月、村、企业名称、法人、类型、注册资本、成立时间、劳力人数
存栏与出栏 牛/羊存栏与能繁、牛/羊出栏;只读存栏小计
草场与草畜平衡 草畜平衡面积、流转面积、核定载畜量、存栏绵羊单位;只读草场面积小计、是否草畜平衡户
经营与补助 收入、支出、只读利润;补助年份/是否/金额
其他 商标、质量认证、销售渠道、带动人数、工资、备注

4. 业务规则

规则 实现
必填 年、月、村、企业名称
提交 只传 villageDeptId 与录入项;乡镇与派生由后端计算
前端只读派生 存栏小计、草场面积小计、利润、是否草畜平衡户(与后端公式一致,便于预览)
是/否 hasSubsidy / hasTrademark / hasQualityCert 单选「是」「否」
枚举 企业类型、销售渠道与后端 LargeLivestockFarmerValidation 一致
不可未来月 表单 / 导入 / 导出校验
草畜失衡预警 由后端写入 biz_yak_disease_warning;前端不单独处理

枚举取值

  • 企业类型:个体工商户 / 个人独资企业 / 有限责任公司 / 合伙企业 / 其他(默认个体工商户)
  • 销售渠道:其他 / 线上销售 / 线下集市 / 企事业单位 / 商超门店(默认其他)

派生预览公式(与后端一致)

  • 存栏小计 = 牛年底存栏 + 羊年底存栏
  • 草场面积小计 = 草畜平衡面积 + 流转经营草地面积
  • 利润 = 收入 − 支出(任一侧为空则不展示)
  • 是否草畜平衡户:核定载畜量 ≥ 年底存栏绵羊单位 →「是」,否则「否」(缺一侧则「—」)

5. 国际化

dataModel.largeLivestockFarmerlang/zh|bo/dataModel.js);页面 dmNs = 'largeLivestockFarmer',复用 dataModelLocaleMixindmT / dmCommon / formatWithUnit)。


6. 联调说明

  1. 执行 sql/biz_large_livestock_farmer.sql
  2. 菜单组件 dataModel/largeLivestockFarmer/index,权限见 §1。
  3. 验证:默认类型/渠道、派生只读、导出乡镇带入列表筛选、草畜失衡写入疾病预警(后端)。

7. 文件清单

类型 路径
页面 ruoyi-ui/src/views/dataModel/largeLivestockFarmer/index.vue
API ruoyi-ui/src/api/dataModel/largeLivestockFarmer.js
i18n lang/zh/dataModel.jslang/bo/dataModel.jslargeLivestockFarmer
前端技术方案 本文档

8. 修订记录

版本 说明
1.0 初版:村×年月×企业;CRUD + 导入 upsert + 导出乡镇与列表联动;对齐家庭牧场前端交互
1.1 与需求 1.1 一致:导出所属乡镇打开带入列表筛选、可清空表示全部