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

> 依据：同目录功能需求、技术方案。

## 1. 页面与 API

| 项 | 说明 |
| --- | --- |
| 页面 | `ruoyi-ui/src/views/dataModel/yakOutboundReport/index.vue` |
| API | `ruoyi-ui/src/api/dataModel/yakOutboundReport.js` |
| i18n | `lang/zh|bo/dataModel.js` → `yakOutboundReport` |
| 村树 | Treeselect + `GET /villageTree`；`disable-branch-nodes` |

## 2. 列表

列（顺序）：所属年份、所属月份、所属乡镇、所属村、农牧户数、农牧人数、牦牛出栏数、**牲畜总出栏数**、自食牛数、**自食牲畜总数**、操作。

合计由前端 `sumOutboundTotal` / `sumSelfConsumptionTotal` 按明细加总。

筛选：年、月、乡镇、村；进入页不默认年月。

## 3. 新增 / 修改

- 必填：年、月、所属村（Treeselect）。  
- 分区录入：农牧户情况、出栏情况（六类）、自食情况（三类）、备注。  
- **不展示**牲畜总出栏数、自食牲畜总数。

## 4. 详情

与新增录入项一致的全部明细 + 乡镇（反推结果）+ 两项合计只读 + 备注。

## 5. 导入 / 导出

导入摘要含新增/更新条数（按唯一键 upsert）。导出选年月，可选所属乡镇后下载 blob。

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 2.0 | 村粒度、Treeselect、全量覆盖导入 |
| 2.2 | 导入 upsert；导出可选乡镇 |
| 2.1 | 列表十数据列；详情含合计；新增/修改隐藏合计 |
