# 生长与出栏标准管理 — 前端技术方案 > 依据:`doc/生长与出栏标准/生长与出栏标准管理技术方案.md`;页面布局对齐 `ruoyi-ui/src/views/breedingStandards/breedingManage/index.vue`;请求与表单字段统一 **小驼峰**,与后端 `BizGrowthSlaughterStandard` 及 Jackson 序列化一致。 --- ## 1. 页面与路由 | 项 | 说明 | | --- | --- | | **Vue 路径** | `ruoyi-ui/src/views/breedingStandards/growthOutbound/index.vue` | | **组件名** | `GrowthOutboundStandard` | | **菜单配置** | 若依「菜单管理」组件路径:`breedingStandards/growthOutbound/index` | | **权限前缀** | `growthSlaughter:standard:` | --- ## 2. API 模块 | 项 | 说明 | | --- | --- | | **文件** | `ruoyi-ui/src/api/breedingStandards/growthSlaughter.js` | | **Base Path** | `/growthSlaughter/standard` | 封装方法:`listGrowthSlaughterStandard`、`getGrowthSlaughterStandard`、`addGrowthSlaughterStandard`、`updateGrowthSlaughterStandard`、`delGrowthSlaughterStandard`、`syncKbGrowthSlaughterStandard`、`removeKbGrowthSlaughterStandard`、`publishGrowthSlaughterStandard`、`offlineGrowthSlaughterStandard`。 --- ## 3. 列表与查询 - **分页**:`pageNum`、`pageSize`(默认 20)。 - **筛选**:`keyword`(标准名称或简介模糊);`standardType`(精确,可空)。 - **标准类型**:`created` 调用 `listInformationCategoryChildren('001', 4)` 动态加载;`value`=`code`,`label`=`name`。 - **表格列**:标准名称、标准类型、简介、正文附件链接、`publishStatus`、`kbSyncStatus`、发布日期、创建时间、操作列。 --- ## 4. 表单与上传 - **新增/编辑**:标准名称(1~20)、标准类型、简介(≤50 字,选填)、正文附件(必填)、封面(选填)。 - **上传**:`POST /common/upload`,Header `Authorization: Bearer `;映射 `url` → `contentFileUrl`、`fileName` → `contentFilePath`、`originalFilename`/文件名 → `contentFileName`。 - **前端校验**:正文扩展名与大小(≤30MB)、封面 jpg/jpeg/png(≤10MB)、文件名不含英文逗号,与疫病诊疗/养殖标准页一致。 - **编辑态**:仅 `publishStatus === 0`(未发布)时可替换正文与封面。 --- ## 5. 操作按钮与状态机 与《养殖标准管理技术方案》双维模型一致:**未发布/已发布** × **未同步/已同步**。 | 按钮 | 显示条件 | 权限标识 | | --- | --- | --- | | 查看 | 有 query 权限 | `growthSlaughter:standard:query` | | 同步知识库 | 未发布且未同步 | `growthSlaughter:standard:syncKb` | | 移出知识库 | 未发布且已同步 | `growthSlaughter:standard:removeKb` | | 编辑 | 未发布 | `growthSlaughter:standard:edit` | | 删除 | 未发布且未同步 | `growthSlaughter:standard:remove` | | 发布 | 未发布且已同步 | `growthSlaughter:standard:publish` | | 下架 | 已发布 | `growthSlaughter:standard:offline` | 下架完成后业务稳态为 **未发布 + 已同步**,可再次修改并重新发布(与功能需求 **4.8** 一致)。 --- ## 6. 与疫病诊疗标准前端的差异 | 项 | 疫病诊疗 | 生长与出栏 | | --- | --- | --- | | API 文件 | `epidemicTreatment.js` | `growthSlaughter.js` | | Base Path | `/epidemicTreatment/standard` | `/growthSlaughter/standard` | | 标准类型选项 | 资讯类别接口 | `001011` 牦牛生长、`001012` 牦牛出栏(`parentCode=001`,`categoryType=4`) | 页面结构、上传组件与权限粒度与疫病诊疗标准页保持一致,便于维护。 --- ## 7. 联调说明 1. 确认后端 `BizGrowthSlaughterStandardController` 已部署,`VUE_APP_BASE_API` 代理正确。 2. 菜单与按钮权限与 `sql/biz_growth_slaughter_standard.sql` 注释中的标识一致。 3. 新增前可先调用 `/common/upload` 验证 Token 与跨域;再提交 `POST /growthSlaughter/standard` 全量合法 Body。 --- ## 8. 修订记录 | 日期 | 说明 | | --- | --- | | 2026-05-13 | 初稿:页面、API、权限与后端 Controller 对齐 |