西藏巴青项目

牦牛存栏数据填报前端技术方案.md 4.3KB

牦牛存栏数据填报 — 前端技术方案

依据:同目录 牦牛存栏数据填报功能需求.md牦牛存栏数据填报技术方案.md;布局对齐 dataModel/grassland/index.vue(双 el-card + 分页表格);字段 小驼峰


1. 页面与路由

说明
Vue 路径 ruoyi-ui/src/views/dataModel/yakHerdInventory/index.vue
组件名 YakHerdInventory
菜单配置 组件路径:dataModel/yakHerdInventory/index(「产业数据模型及服务」目录下)
权限前缀 dataModel:yakHerdInventory:list\|query\|add\|edit\|remove\|import

2. API 模块

说明
文件 ruoyi-ui/src/api/dataModel/yakHerdInventory.js
Base /dataModel/yakHerdInventory
方法 HTTP 说明
listYakHerdInventory GET /list 分页列表
getYakHerdInventory GET /{id} 详情
addYakHerdInventory POST / 新增
updateYakHerdInventory PUT / 修改
delYakHerdInventory DELETE /{ids} 删除
listYakHerdInventoryYearOptions GET /yearOptions 可选年份
listYakHerdInventoryTownOptions GET /townOptions 乡镇下拉
importYakHerdInventory POST /importDatamultipart/form-datafile + statYear

模板下载使用 downloadYakHerdInventoryTemplate()GET + responseType: 'blob'),勿用若依全局 this.download()(固定 POST,仅适用于导出类接口)。


3. 页面结构

  1. 筛选区:所属年份(yearOptions)、所属乡镇(townOptions);搜索重置新增导入
  2. 列表区:所属年份、乡镇、村居数、牧户数、存栏数、公牛存栏数、母牛存栏数;空值展示
  3. 操作列:查看、修改、删除。
  4. 新增/编辑弹窗:年份/乡镇必填;存栏指标必填,el-input-number:min="0" :precision="0",非负整数);备注选填。
  5. 查看弹窗:全字段只读(含预留村居、审计信息);可跳转编辑。
  6. 导入弹窗:先选「填报年份」→ 上传 .xlsx → 展示 insert/update/fail 及 fail/warn 明细。

本期前端不实现:Excel 导出(后端已有 /export,需求 §3 标注后续立项)。


4. 业务规则(前端)

规则 实现
年份范围 /yearOptions 动态加载(当前年起向前 5 年)
乡镇下拉 /townOptions 返回 deptId / deptName
列表筛选 statYeartownDeptId 精确匹配
存栏数字 必填;须为大于等于 0 的整数
唯一性 同年同乡镇重复由后端拦截,前端展示 msg
导入 FormData 提交;成功后 $alert 展示摘要与明细
删除 $modal.confirmdelYakHerdInventory(id)
预留村居 详情展示 villageDeptId / villageName;表单本期不编辑

5. 国际化

说明
语言包 dataModel.yakHerdInventorydataModel.common
文件 lang/zh/dataModel.jslang/bo/dataModel.js
Mixin dataModelLocaleMixindmNs = 'yakHerdInventory'dmT / dmCommon
注册 已随 dataModel 模块在 lang/zh-CN.jslang/bo.js 引入

6. 联调说明

  1. 部署后端 BizYakHerdInventoryControllerbiz_yak_herd_inventory 表。
  2. 菜单组件 dataModel/yakHerdInventory/index,权限与后端 §5 一致。
  3. 执行 sql/biz_yak_herd_inventory.sql(及乡镇 sys_dept 数据)。
  4. 验证:年份/乡镇筛选、CRUD、导入模板下载、导入结果反馈、双语切换。
  5. 导入联调:选填报年份 → 上传 2026年.xlsx 格式文件;开发环境对照后端日志与 failMessages

7. 文件清单

类型 路径
页面 ruoyi-ui/src/views/dataModel/yakHerdInventory/index.vue
API ruoyi-ui/src/api/dataModel/yakHerdInventory.js
Mixin ruoyi-ui/src/mixins/dataModelLocaleMixin.js
i18n ruoyi-ui/src/lang/zh/dataModel.jslang/bo/dataModel.js

8. 修订记录

版本 说明
1.0 初版:列表/CRUD/详情/导入/模板下载;汉藏 i18n;对齐功能需求 v1.3