# 牧业金融生物资产管理 — 前端技术方案

> 依据：`牦牛资产档案管理功能需求.md`、`牦牛资产档案管理技术方案.md`；列表布局对齐 `dataModel/pasture/index.vue`（双 `el-card`）；字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/livestockFinance/yakAsset/index.vue` |
| **详情组件** | `ruoyi-ui/src/views/livestockFinance/yakAsset/detailDrawer.vue`（抽屉，宽 88%） |
| **组件名** | `YakAsset` |
| **菜单配置** | 组件路径：`livestockFinance/yakAsset/index`（手工配置） |
| **权限前缀** | `dataModel:yakAsset:list\|query\|sync` |

---

## 2. API 模块

| 项 | 说明 |
| --- | --- |
| **文件** | `ruoyi-ui/src/api/livestockFinance/yakAsset.js` |
| **Base** | `/dataModel/yakAsset` |

| 方法 | HTTP | 说明 |
| --- | --- | --- |
| `listYakAsset` | GET | `/list` |
| `getYakAsset` | GET | `/{id}` 详情聚合 |
| `getYakAssetByNo` | GET | `/byNo/{yakNo}` 系谱跳转 |
| `getYakPhysioChart` | GET | `/{id}/physioChart?days=30` |
| `getYakGrowthChart` | GET | `/{id}/growthChart?metric=weight` |
| `syncYakAsset` | POST | `/sync`（五段基础全量；**不含** IoT） |

IoT 称重/定位/环境由后端 **Quartz 定时任务**同步，前端无对应按钮与 API。

本期**无**档案增删改接口。

---

## 3. 页面结构

### 3.1 列表页

1. **筛选区**：牦牛编号关键字（`keyword`）；资产状态（`assetStatus` 1～4）；搜索、重置、**同步**（防重复提交 `syncing`）。  
2. **列表区**：编号、牧场、性别、月龄、实时体温、运动量、资产状态（`el-tag`）、变更日期；操作仅 **查看**。  
3. **同步提示**：成功后展示 `syncTimeHint`（数据截至时间）。

### 3.2 详情抽屉（六块）

| 块 | 内容 |
| --- | --- |
| 摘要条 | 编号、牧场、状态、性别、月龄、最近同步时间 |
| 基础信息 | `el-descriptions` 只读 |
| 系谱 | 父/母编号可点击，`getYakAssetByNo` 跳转 |
| 个体生理 | 当前值 + ECharts 近 30 日体温/步数/环境温度 |
| 生长性状 | 列表 / 曲线切换；曲线支持 metric；实测实线、预测虚线 |
| 繁殖性能 | 表格 |
| 饲喂数据 | 表格 |

---

## 4. 业务规则（前端）

| 规则 | 实现 |
| --- | --- |
| 只读 | 无新增/编辑/删除按钮 |
| 资产状态 | i18n `status1`～`status4`；列表 tag 按风险着色 |
| 空值 | 体温、运动量等无数据显示 `—` |
| 犊牛成活率 | 0～1 转百分比展示 |
| 难产 | `dystociaFlag`：`0` 否 / `1` 是 |
| 生长 `dataKind` | `1` 实测 / `2` 预测 |
| 图表 | `macarons` 主题；抽屉关闭 `dispose`；`resize` 监听 |

---

## 5. 国际化

| 项 | 说明 |
| --- | --- |
| **语言包** | `livestockFinance.yakAsset`（`lang/zh/livestockFinance.js`、`lang/bo/livestockFinance.js`） |
| **Mixin** | `livestockFinanceLocaleMixin`，`lfNs = 'yakAsset'` |
| **注册** | `lang/zh-CN.js`、`lang/bo.js` 引入 `livestockFinance` |

---

## 6. 联调说明

1. 部署 `BizYakAssetController` 及 `biz_yak_asset` 等表。  
2. 菜单组件 `livestockFinance/yakAsset/index`，权限与技术方案 §4 一致。  
3. 验证：列表筛选、同步摘要、详情六块、生理/生长曲线、系谱跳转、双语。

---

## 7. 文件清单

| 类型 | 路径 |
| --- | --- |
| 列表 | `ruoyi-ui/src/views/livestockFinance/yakAsset/index.vue` |
| 详情抽屉 | `ruoyi-ui/src/views/livestockFinance/yakAsset/detailDrawer.vue` |
| API | `ruoyi-ui/src/api/livestockFinance/yakAsset.js` |
| Mixin | `ruoyi-ui/src/mixins/livestockFinanceLocaleMixin.js` |
| i18n | `ruoyi-ui/src/lang/zh/livestockFinance.js`、`lang/bo/livestockFinance.js` |

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：列表 + 同步 + 详情抽屉；ECharts 生理/生长曲线；系谱跳转 |
