西藏巴青项目

休药期标准管理前端技术方案.md 5.7KB

休药期标准管理 — 前端技术方案

依据:休药期标准管理技术方案.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: publishoffline)。


3. 页面结构

3.1 查询区

UI 绑定/说明
药物名称 queryParams.keyword drug_name 模糊匹配(总方案 §3.1
药物类型 queryParams.drugType14 精确筛选,可清空
新增 权限 withdrawalPeriod:standard:add

3.2 列表区

字段 备注
药物名称 drugName
药物类型 drugType drugTypeLabel
休药期(天) withdrawalDays
使用指南 usageGuide 溢出省略
药物作用 drugEffect 溢出省略
知识库同步 kbSyncStatus kbSyncStatusText
创建时间 createTime parseTime
操作 §5

分页:默认 pageNum=1pageSize=20

3.3 新增 / 编辑弹窗

字段 控件 校验
drugName 输入框,maxlength=20 必填 1~20;提交前 trim;全表唯一由后端校验
drugType 下拉 必填,14
withdrawalDays el-input-number 必填整数 1~999
usageGuide 多行文本 必填 1~200 字
drugEffect 多行文本 必填 1~200 字

编辑条件:仅 kbSyncStatus === 0(总方案 §3.4)。已同步点编辑提示 ruleSyncedNoEdit,不打开弹窗。

3.4 查看弹窗

展示 §3.3 全部字段 + kbSyncStatuskbDocId(便于验收占位 ID)、createTimeupdateTime


4. 药物类型枚举(总方案 §2.2)

页面 drugTypeOptions14 映射国际化文案,资讯类别接口:

文案(示例)
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}

列表查询参数pageNumpageSizekeyworddrugType


7. 错误与交互约定

场景 前端行为
药物名称重复 展示后端 msg(如「药物名称已存在」)
已同步点编辑 msgWarning(ruleSyncedNoEdit)
已同步点删除 msgWarning(ruleDeleteNeedRemoveKb)
同步 / 移出 / 删除 this.$modal.confirm 二次确认

8. 与养殖标准页的差异

养殖标准 休药期标准
正文/封面上传
发布/下架
状态机 上架 × 知识库 仅知识库
列表筛选 关键词 + standardType(资讯类别编码) 药物名称 + drugType14

9. 交付与联调清单

  • 菜单路由指向 breedingStandards/diseaseTreatment/withdrawalPeriod/index
  • publish / offline 按钮与权限
  • 后端 /withdrawalPeriod/standard/** 与总方案 §3 对齐
  • 联调:新增 → 同步 → 移出 → 编辑 → 再同步 → 删除
  • 联调:已同步编辑/删除被前端拦截;药物名称唯一性后端校验

10. 文档修订记录

版本 日期 说明
v1.0 2026-05-13 初稿:页面、API、权限与后端 Controller 对齐
v1.1 2026-06-01 对齐总方案/功能需求:无发布下架单维知识库状态机;keyword 仅药物名称;提交 drugName trim;已同步编辑/删除提示;查看弹窗展示 kbDocId