# 草场管理 — 功能需求

## 1. 文档说明

| 项 | 说明 |
| --- | --- |
| 模块名称 | 草场管理 |
| 目标 | 对草场资源基础信息进行登记、查询、维护与查阅，支撑产业数据体系中的草场台账及后续与牧场、畜群等业务的关联 |
| 关联系统 | 业务后台 |
| 修订依据 | 同目录 `草场管理功能需求-草稿.md`、界面原型（`Snipaste_2026-05-19_10-43-53.jpg`） |

本文档仅描述**功能需求与业务规则**，不涉及库表结构、接口路径、请求体字段命名、技术栈选型及实现方案。

---

## 2. 术语与枚举

### 2.1 退化等级（单选）

反映草场植被退化程度，用于分类管理与统计。

| 取值 | 含义概要 |
| --- | --- |
| **未退化** | 植被状况良好，无明显退化迹象 |
| **轻度** | 出现轻度退化，宜加强监测与管护 |
| **中度** | 中度退化，需采取针对性改良或利用调整措施 |
| **重度** | 重度退化，利用强度宜严格控制 |
| **极重度** | 严重退化，宜优先纳入修复或禁牧等保护性措施 |

### 2.2 利用类型（单选）

反映草场当前或规划中的主要利用方式。

| 取值 | 含义概要 |
| --- | --- |
| **禁牧** | 以禁止放牧或休牧恢复为主要管理方式 |
| **轮牧** | 划分小区按周期轮换放牧 |
| **全年放牧** | 在管控条件下可全年安排放牧利用 |

### 2.3 记录说明

- 本模块为**草场资源台账**，单条记录表示一块（处）可独立管理的草场。  
- 删除采用**逻辑删除**：删除后默认不在列表与常规统计中展示，数据可保留供审计或恢复策略（恢复能力若需实现须单独约定）。  
- **地图标点**功能本期**不实现**（见 **§3**、**§5.6**）。  
- 草稿中「退回等级」为笔误，统一为**退化等级**（见 **§2.1**）；修改、查看等场景中的「牧场名称」统一为**草场名称**。

### 2.4 指标字段含义（摘要）

| 字段 | 业务含义 |
| --- | --- |
| 面积 | 草场范围对应的土地面积，单位为**亩** |
| 亩产草量 | 单位面积产草量，单位为 **kg/亩**，用于评估草场生产力 |
| 利用率 | 草场可利用程度或利用强度系数，取 **0～1**，数值越大表示利用程度越高（具体统计口径若与行业标准不一致，须在评审时固化） |
| 禁牧开始/结束日期 | 本条记录所对应的**禁牧或休牧时段**（起止日均必填，且开始日不得晚于结束日） |
| 轮牧小区数量 | 轮牧划分的小区（地块）个数，单位为**块** |
| 小区放牧天数 | 每个小区单次连续放牧天数，单位为**天** |
| 轮牧周期 | 完成一轮轮牧所需周期，单位为**天** |

> **说明：** 界面新增表单中上述指标均为必填（见 **§5.1**）。不同「利用类型」下各指标的业务侧重点不同（见 **§2.5**），但本期不因利用类型而隐藏或豁免必填校验，除非产品另行评审变更。

### 2.5 利用类型与字段的业务侧重（逻辑说明）

| 利用类型 | 业务侧重（需求层理解） |
| --- | --- |
| **禁牧** | 「禁牧开始/结束日期」为核心管控信息；轮牧相关指标仍须填报，用于台账完整性与后续类型变更，宜按实际规划或历史轮牧参数填写 |
| **轮牧** | 「轮牧小区数量」「小区放牧天数」「轮牧周期」为核心管控信息；禁牧日期可表示休牧窗口或禁牧补段 |
| **全年放牧** | 强调全年可利用；禁牧日期可表示季节性休牧或临时禁牧段；轮牧指标可填「等效」或历史参数，具体填报口径由县级业务规范约定 |

若后续产品要求「按利用类型动态显隐字段、仅校验相关项」，须单独修订 **§5.1** 并更新界面原型。

---

## 3. 功能范围

**本期实现：**

- 草场的新增、修改、逻辑删除、分页列表查询、详情查看  
- 草场名称、面积、退化等级、利用类型、产草与利用指标、禁牧时段、轮牧参数、备注的录入与校验  
- 按草场名称关键字、利用类型的列表筛选  
- 列表操作：查看、编辑、删除；**不含**地图标点  

**本期不实现：**

- 地图标点、经纬度采集与地图展示  
- 与牧场、畜群、补贴等下游业务的关联维护（若需关联，另出需求）  
- 列表按「退化等级」筛选（草稿未要求；若界面增加筛选项，规则见 **§5.2** 补充约定）  

---

## 4. 业务流程概览

```mermaid
flowchart LR
    A[新增草场] --> B[列表查询/筛选]
    B --> C[查看详情]
    B --> D[修改草场]
    B --> E[逻辑删除]
    D --> B
    E --> B
```

1. **登记**：录入草场基础信息、退化与利用属性、产草与轮牧指标、禁牧时段及备注 → 形成一条草场记录。  
2. **查询**：按名称关键字、利用类型筛选，分页浏览列表。  
3. **维护**：对已有记录修改全部业务字段；保存时重新执行 **§5.1** 全部校验。  
4. **查阅**：查看单条记录全部业务字段及审计信息（若系统提供）。  
5. **删除**：逻辑删除；删除前宜二次确认；删除后默认列表不可见。

---

## 5. 详细功能需求

### 5.1 新增草场

| 字段 | 规则 |
| --- | --- |
| 草场名称 | **必填**；长度 **1～10** 个字符（与界面「限 10 字」一致；字符计数与项目全局一致） |
| 面积 | **必填**；**数字**；单位为**亩**；须为**正数**（大于 0）；小数位数与项目数字输入规范一致 |
| 退化等级 | **必填**；**单选**，取值见 **§2.1**（未退化 / 轻度 / 中度 / 重度 / 极重度） |
| 利用类型 | **必填**；**单选**，取值见 **§2.2**（禁牧 / 轮牧 / 全年放牧） |
| 亩产草量 | **必填**；**正数**；单位为 **kg/亩** |
| 利用率 | **必填**；**数字**；取值区间 **0～1**（闭区间，含 0 与 1） |
| 禁牧开始日期 | **必填**；日期格式 **YYYY-MM-DD** |
| 禁牧结束日期 | **必填**；日期格式 **YYYY-MM-DD**；**不得早于**禁牧开始日期 |
| 轮牧小区数量 | **必填**；**正整数**（≥ 1）；单位为**块** |
| 小区放牧天数 | **必填**；**正整数**（≥ 1）；单位为**天** |
| 轮牧周期 | **必填**；**正整数**（≥ 1）；单位为**天** |
| 备注 | **选填**；若有内容，长度不超过 **100** 个字符 |

**必填字段汇总：** 除备注外，上表所列字段均为必填。

**联动与校验：**

- 禁牧开始日期、禁牧结束日期须成对有效；仅填其一视为不完整，不允许提交。  
- 面积、亩产草量、利用率、轮牧相关数值须拒绝非数字、负数、零（面积与亩产草量、轮牧整数项）及超出区间的利用率。  
- 各字段校验失败时须给出**可区分**的错误提示（如名称超长、日期区间颠倒、利用率超界等）。  
- 若业务要求「草场名称」在管辖范围内唯一，须在评审时单独约定并写入本节。  
- 「轮牧周期」与「轮牧小区数量 × 小区放牧天数」是否存在固定换算关系，本期**不强制**等式校验；若县级规范有公式要求，评审通过后补充至本节。

---

### 5.2 查询草场列表

- **关键字：** 对「草场名称」进行**模糊**匹配；关键字为空时不按名称过滤。  
- **利用类型：** **精确**匹配筛选；未选择时不按利用类型过滤。  
- **退化等级：** 本期草稿与原型未要求列表筛选项；若界面提供「退化等级」筛选，则为精确匹配，规则与 **§2.1** 一致（实现前与产品确认）。  
- **逻辑删除：** 默认**不展示**已逻辑删除记录；是否提供「含已删除」查看能力须单独约定。  
- **分页：** 默认 **每页 20 条**，首页为第一页；单页条数上限与项目列表通用规范一致。  
- **排序：** 默认按 **创建时间倒序**（最新登记在前）；相同时间下次要排序键与项目列表规范一致（若有）。  
- **重置：** 支持一键清空查询条件并恢复默认列表（与界面「重置」一致）。

**列表宜展示：** 草场名称、面积（亩）、退化等级、利用类型、亩产草量（kg/亩）、利用率、禁牧开始日期、禁牧结束日期、轮牧小区数量（块）、小区放牧天数（天）、轮牧周期（天）、操作列（查看 / 编辑 / 删除）；**地图标点**入口本期不展示或置灰并提示「暂未开放」。

---

### 5.3 修改草场

- **可修改项：** 草场名称、面积、退化等级、利用类型、亩产草量、利用率、禁牧开始日期、禁牧结束日期、轮牧小区数量、小区放牧天数、轮牧周期、备注（**全部业务字段**均可修改）。  
- **保存约束：** 须重新满足 **§5.1** 全部校验；必填项不得为空。  
- **利用类型变更：** 允许在禁牧 / 轮牧 / 全年放牧之间变更；变更后仍须满足全部字段校验；宜提示用户核对与新区划方式不一致的历史指标（提示文案由产品确定，非阻断性）。  
- **日期变更：** 修改禁牧开始或结束日期后，仍须满足「开始日 ≤ 结束日」。  

---

### 5.4 删除草场（逻辑删除）

- **允许删除：** 具备删除权限的用户可对单条或多条记录执行删除（是否支持批量删除与项目列表惯例一致）。  
- **删除方式：** **逻辑删除**，非物理抹库；删除后该草场在默认列表与常规统计中不可见。  
- **删除后果：**  
  - 已逻辑删除记录**不宜**被下游业务当作有效草场引用（若存在关联，须在关联模块约定校验）。  
  - 删除操作**可审计**（谁、何时删除）。  
- **确认：** 删除前宜弹出确认提示，避免误删。  
- **恢复：** 是否提供「恢复已删除」管理功能，本期不强制；若需要须单独需求。

---

### 5.5 查看草场详情

- **展示内容：** 草场名称、面积、退化等级、利用类型、亩产草量、利用率、禁牧开始日期、禁牧结束日期、轮牧小区数量、小区放牧天数、轮牧周期、备注；宜展示创建人、创建时间、最后修改人、最后修改时间（若系统有审计字段）。  
- **展示格式：** 日期按 **YYYY-MM-DD** 展示；数值带单位说明（亩、kg/亩、块、天等）与列表或表单一致。  
- **交互：** 具备编辑权限的用户可从详情进入编辑（见 **§5.3**）；只读账号仅可查看。

---

### 5.6 地图标点（本期不实现）

- 列表操作列原型含「地图标点」；**本期不实现**点位采集、地图展示与坐标存储。  
- 若后续实现，须单独修订本文档，约定：坐标字段、与草场范围关系、权限及是否在已逻辑删除记录上禁止标点等。

---

## 6. 操作权限矩阵（汇总）

在**已授权**前提下：

| 操作 | 说明 |
| --- | --- |
| 查看 | 具备查询权限即可 |
| 新增 | 具备新增权限即可 |
| 修改 | 具备修改权限即可 |
| 删除 | 具备删除权限即可；逻辑删除前确认 |
| 地图标点 | 本期无 |

菜单与按钮级权限（查询、新增、修改、删除、导出等）按项目角色配置，具体标识在权限配置文档中定义（本文档不展开）。

---

## 7. 错误与提示约定

- 业务与校验错误宜采用项目统一的提示方式呈现（如页面字段下提示、弹窗或统一消息结构），便于用户理解与前端统一处理；**不约定**具体 HTTP 状态码或接口字段名。  
- 常见提示宜可区分，例如：  
  - 必填项缺失、字段超长或格式不符；  
  - 面积、亩产草量、轮牧参数非正整数或正数；  
  - 利用率不在 0～1 区间；  
  - 禁牧开始日期晚于结束日期；  
  - 退化等级、利用类型未选择或取值非法；  
  - 删除确认取消与删除失败原因。  

---

## 8. 非功能需求（建议）

| 类别 | 建议 |
| --- | --- |
| 权限 | 菜单与按钮：查询、新增、修改、删除；是否按角色限制删除 |
| 审计 | 新增、修改、逻辑删除记操作日志 |
| 性能 | 列表按名称、利用类型筛选满足后台通用体验 |
| 数据质量 | 退化等级、利用类型选项与县级业务字典一致；数值单位在界面固定展示，避免歧义 |
| 双语 | 字段标签与提示符合项目 i18n 规范（汉语 + 藏文） |
| 扩展 | 地图标点、草场与牧场/畜群关联、按退化等级筛选、名称唯一性、已删除恢复、按利用类型动态表单 |

---

## 9. 修订说明（相对草稿）

| 草稿问题 | 优化处理 |
| --- | --- |
| 条目编号跳跃（1～5 后直接 10～12） | 重整为 **§5** 分节与连续叙述 |
| 混入技术栈、接口响应格式 | 技术栈移除；用户提示保留于 **§7**（不涉及接口设计） |
| 「退回等级」笔误 | 统一为**退化等级**（**§2.1**） |
| 修改/查看写「牧场名称」 | 统一为**草场名称** |
| 禁牧日期规则分散 | 明确开始/结束成对、格式与先后关系（**§5.1**） |
| 利用类型与轮牧、禁牧字段关系不清 | 新增 **§2.4、§2.5** 说明业务侧重与本期校验策略 |
| 逻辑删除后果未写清 | **§2.3、§5.2、§5.4** 补充 |
| 地图标点写在需求条目中 | 明确 **§3、§5.6** 本期不实现 |
| 列表缺重置、排序、展示列 | **§5.2** 补充 |
| 备注上限未在汇总中强调 | **§5.1** 明确选填 ≤100 字 |

---

## 10. 功能需求追溯（自查）

| 能力 | 对应章节 |
| --- | --- |
| 新增与字段校验 | §5.1、§2.1～§2.5 |
| 列表查询与筛选 | §5.2 |
| 修改 | §5.3 |
| 逻辑删除 | §5.4 |
| 详情查看 | §5.5 |
| 地图标点（不做） | §3、§5.6 |
| 权限与错误提示 | §6、§7 |
