休药期标准管理 — 前端技术方案
依据:休药期标准管理技术方案.md(同目录,下称总方案)。本模块无发布/下架、无附件上传;仅 知识库同步 单维状态机。请求与表单字段统一 小驼峰,与后端 BizWithdrawalPeriodStandard 及 Jackson 序列化一致。
1. 技术架构
| 项 |
说明 |
| 工程 |
若依 RuoYi-Vue 前端(Vue 2.x + Element UI) |
| 页面路径 |
ruoyi-ui/src/views/breedingStandards/diseaseTreatment/withdrawalPeriod/index.vue |
| 组件名 |
WithdrawalPeriodStandard |
| 布局参考 |
双 el-card(查询区 + 表格区);新增/编辑弹窗 + 查看弹窗 |
| 国际化 |
breedingStdLocaleMixin,命名空间 breedingStd.wp |
2. 源码与路由
| 类型 |
路径 |
| 页面 |
ruoyi-ui/src/views/breedingStandards/diseaseTreatment/withdrawalPeriod/index.vue |
| API 模块 |
ruoyi-ui/src/api/breedingStandards/withdrawalPeriod.js |
菜单配置:组件路径 breedingStandards/diseaseTreatment/withdrawalPeriod/index;权限前缀 withdrawalPeriod:standard:(无 publish、offline)。
3. 页面结构
3.1 查询区
| UI |
绑定/说明 |
| 药物名称 |
queryParams.keyword,仅 drug_name 模糊匹配(总方案 §3.1) |
| 药物类型 |
queryParams.drugType,1~4 精确筛选,可清空 |
| 新增 |
权限 withdrawalPeriod:standard:add |
3.2 列表区
| 列 |
字段 |
备注 |
| 药物名称 |
drugName |
— |
| 药物类型 |
drugType |
drugTypeLabel |
| 休药期(天) |
withdrawalDays |
— |
| 使用指南 |
usageGuide |
溢出省略 |
| 药物作用 |
drugEffect |
溢出省略 |
| 知识库同步 |
kbSyncStatus |
kbSyncStatusText |
| 创建时间 |
createTime |
parseTime |
| 操作 |
— |
见 §5 |
分页:默认 pageNum=1、pageSize=20。
3.3 新增 / 编辑弹窗
| 字段 |
控件 |
校验 |
drugName |
输入框,maxlength=20 |
必填 1~20;提交前 trim;全表唯一由后端校验 |
drugType |
下拉 |
必填,1~4 |
withdrawalDays |
el-input-number |
必填整数 1~999 |
usageGuide |
多行文本 |
必填 1~200 字 |
drugEffect |
多行文本 |
必填 1~200 字 |
编辑条件:仅 kbSyncStatus === 0(总方案 §3.4)。已同步点编辑提示 ruleSyncedNoEdit,不打开弹窗。
3.4 查看弹窗
展示 §3.3 全部字段 + kbSyncStatus、kbDocId(便于验收占位 ID)、createTime、updateTime。
4. 药物类型枚举(总方案 §2.2)
页面 drugTypeOptions 由 1~4 映射国际化文案,非资讯类别接口:
| 值 |
文案(示例) |
1 |
抗生素 |
2 |
抗原虫 |
3 |
抗病毒 |
4 |
激素 |
5. 操作按钮与权限
本模块仅有知识库同步维度(功能需求 §5 操作矩阵)。
| 按钮 |
权限标识 |
显示条件 |
| 查看 |
withdrawalPeriod:standard:query |
有权限即显 |
| 同步知识库 |
withdrawalPeriod:standard:syncKb |
kbSyncStatus === 0 |
| 移出知识库 |
withdrawalPeriod:standard:removeKb |
kbSyncStatus === 1 |
| 编辑 |
withdrawalPeriod:standard:edit |
kbSyncStatus === 0 |
| 删除 |
withdrawalPeriod:standard:remove |
kbSyncStatus === 0 |
已同步记录点编辑/删除时前端提示 ruleSyncedNoEdit / ruleDeleteNeedRemoveKb(双重守卫,与按钮 v-if 一致)。
6. API 模块(总方案 §3)
文件:ruoyi-ui/src/api/breedingStandards/withdrawalPeriod.js,Base Path /withdrawalPeriod/standard。
| 方法 |
HTTP |
URI |
listWithdrawalPeriodStandard |
GET |
/list |
getWithdrawalPeriodStandard |
GET |
/{id} |
addWithdrawalPeriodStandard |
POST |
/ |
updateWithdrawalPeriodStandard |
PUT |
/ |
delWithdrawalPeriodStandard |
DELETE |
/{ids} |
syncKbWithdrawalPeriodStandard |
POST |
/syncKb/{id} |
removeKbWithdrawalPeriodStandard |
POST |
/removeKb/{id} |
列表查询参数:pageNum、pageSize、keyword、drugType。
7. 错误与交互约定
| 场景 |
前端行为 |
| 药物名称重复 |
展示后端 msg(如「药物名称已存在」) |
| 已同步点编辑 |
msgWarning(ruleSyncedNoEdit) |
| 已同步点删除 |
msgWarning(ruleDeleteNeedRemoveKb) |
| 同步 / 移出 / 删除 |
this.$modal.confirm 二次确认 |
8. 与养殖标准页的差异
| 项 |
养殖标准 |
休药期标准 |
| 正文/封面上传 |
有 |
无 |
| 发布/下架 |
有 |
无 |
| 状态机 |
上架 × 知识库 |
仅知识库 |
| 列表筛选 |
关键词 + standardType(资讯类别编码) |
药物名称 + drugType(1~4) |
9. 交付与联调清单
10. 文档修订记录
| 版本 |
日期 |
说明 |
| v1.0 |
2026-05-13 |
初稿:页面、API、权限与后端 Controller 对齐 |
| v1.1 |
2026-06-01 |
对齐总方案/功能需求:无发布下架单维知识库状态机;keyword 仅药物名称;提交 drugName trim;已同步编辑/删除提示;查看弹窗展示 kbDocId |