依据:
疫病诊疗标准管理技术方案.md(同目录,下称总方案)、疫病诊疗标准管理功能需求.md。页面布局对齐ruoyi-ui/src/views/breedingStandards/breedingManage/index.vue;请求与表单字段统一 小驼峰,与后端BizEpidemicTreatmentStandard及 Jackson 序列化一致。
| 项 | 说明 |
|---|---|
| Vue 路径 | ruoyi-ui/src/views/breedingStandards/diseaseTreatment/epidemicTreatment/index.vue |
| 组件名 | EpidemicTreatmentStandard |
| 菜单配置 | 若依「菜单管理」组件路径:breedingStandards/diseaseTreatment/epidemicTreatment/index |
| Mixin | breedingStdLocaleMixin(stdNs = "ep" → breedingStd.ep.*) |
| 权限前缀 | `epidemicTreatment:standard:list |
| 文件 | Base Path |
|---|---|
ruoyi-ui/src/api/breedingStandards/epidemicTreatment.js |
/epidemicTreatment/standard |
ruoyi-ui/src/api/category/informationCategory.js |
/category/informationCategory/children |
| 方法 | HTTP | URI | 说明 |
|---|---|---|---|
listEpidemicTreatmentStandard |
GET | /list |
分页列表 |
getEpidemicTreatmentStandard |
GET | /{id} |
详情 |
addEpidemicTreatmentStandard |
POST | / |
新增 |
updateEpidemicTreatmentStandard |
PUT | / |
修改(仅未发布+未同步) |
delEpidemicTreatmentStandard |
DELETE | /{ids} |
删除 |
syncKbEpidemicTreatmentStandard |
POST | /syncKb/{id} |
同步知识库 |
removeKbEpidemicTreatmentStandard |
POST | /removeKb/{id} |
移出知识库 |
publishEpidemicTreatmentStandard |
POST | /publish/{id} |
发布 |
offlineEpidemicTreatmentStandard |
POST | /offline/{id} |
下架 |
标准类型下拉:listInformationCategoryChildren('001', '5'),与后端 EpidemicTreatmentStandardTypeValidator 一致。
上传:POST /common/upload → 正文 contentFileUrl / contentFilePath / contentFileName;封面 coverFileUrl / coverFilePath。
布局为双 el-card(筛选 + 列表),中间 <br /> 分隔。
| 绑定字段 | 说明 |
|---|---|
queryParams.keyword |
名称/简介模糊(总方案 §3.1) |
queryParams.standardType |
资讯类别编码精确匹配,可清空 |
queryParams.pageNum / pageSize |
默认 1 / 20 |
| 列 | 字段 / 展示 |
|---|---|
| 标准名称 | standardName |
| 标准类型 | typeLabel(standardType),列宽 112 |
| 简介 | introduction |
| 正文附件 | contentFileName 链至 contentFileUrl |
| 上架状态 | publishStatusText(publishStatus) |
| 知识库同步 | kbSyncStatusText(kbSyncStatus) |
| 发布日期 | publishTime(yyyy-MM-dd) |
| 创建时间 | createTime |
| 操作 | 见 §5 |
dialogAdd / dialogEdit;:key="formKey" 重置表单。standardName(1~20)、standardType、introduction(≤50)、正文上传、封面上传。canEditFormRow:仅 publishStatus=0 且 kbSyncStatus=0 可改字段及换附件;已发布/已同步点编辑分别提示 rulePublishedNoEdit / ruleSyncedNoEdit。publishStatus、kbSyncStatus、kbDocId;编辑带 id。只读展示主字段、封面(image-preview)、上架/同步状态、发布时间、下架时间。
created 调用 loadStandardTypeOptions();失败时 errStdTypeLoad 提示。
mapCategoryItem 将接口项映射为 { value: code, label: name }。
typeLabel 优先匹配 standardTypeOptions;存量值 1 回退 stdT('type1')(疾病决策);仍无则回显编码。
| 编码(示例) | 界面文案 |
|---|---|
001013 |
疾病决策(资讯类别,总方案 §2.2) |
迁移脚本:biz_epidemic_treatment_standard_alter_standard_type.sql(1 → 001013)。
脚本常量
| 常量 | 值 | 含义 |
|---|---|---|
PUBLISH_STATUS.UNPUBLISHED |
0 | 未发布(含下架回流) |
PUBLISH_STATUS.PUBLISHED |
1 | 已发布 |
KB_SYNC_STATUS.UNSYNCED |
0 | 未同步 |
KB_SYNC_STATUS.SYNCED |
1 | 已同步 |
合法稳态:(0,0)、(0,1)、(1,1)。下架成功后为 未发布 + 已同步(知识库保留副本,≠ 移出)。
| 组合 | 编辑 | 同步 | 移出 | 发布 | 下架 | 删除 |
|---|---|---|---|---|---|---|
| 未发布 + 未同步 | ✓ | ✓ | — | — | — | ✓ |
| 未发布 + 已同步 | ✗ | — | ✓ | ✓ | — | ✗ |
| 已发布 + 已同步 | ✗ | — | — | — | ✓ | ✗ |
can* 方法(均 Number() 比较)+ v-hasPermi + v-if 控制按钮。
| 方法 | 条件 |
|---|---|
canEdit |
publishStatus === 0 且 kbSyncStatus === 0 |
canSyncKb |
未发布且未同步 |
canRemoveKb |
未发布且已同步 |
canPublish |
未发布且已同步 |
canOffline |
已发布 |
canDelete |
未发布且未同步 |
交互提示
rulePublishedNoEditruleSyncedNoEditruleDeleteNeedRemoveKberrStdTypeLoadgetList() 刷新| 项 | 前端规则 |
|---|---|
| 标准名称 | 必填,1~20 字 |
| 标准类型 | 必选(资讯类别编码) |
| 简介 | 选填,≤50 字 |
| 正文 | 必填;后缀 pdf/md/doc/docx/xls/xlsx/pptx(服务端 EpidemicTreatmentStandardRules);≤30MB;文件名不含英文逗号。说明:页面 contentFileExts 本次未同步,保存以服务端校验为准 |
| 封面 | 选填;jpg/jpeg/png;≤10MB |
已同步记录为只读;改内容须先移出知识库后再编辑、同步。
| 命名空间 | 路径 |
|---|---|
| 模块文案 | breedingStd.ep.*(lang/zh/breedingStd.js、lang/bo/breedingStd.js) |
| 公共文案 | breedingStd.common.*、breedingStd.status.* |
| 项 | 说明 |
|---|---|
pagination |
分页 |
parseTime |
时间格式化 |
image-preview |
查看弹窗封面预览 |
resetForm |
重置查询表单 |
$modal |
confirm / msgSuccess / msgWarning / msgError / loading |
001013)一致。contentFileName 在列表与详情正确展示;双语切换正常。| 类型 | 路径 |
|---|---|
| 页面 | ruoyi-ui/src/views/breedingStandards/diseaseTreatment/epidemicTreatment/index.vue |
| 业务 API | ruoyi-ui/src/api/breedingStandards/epidemicTreatment.js |
| 类别 API | ruoyi-ui/src/api/category/informationCategory.js |
| Mixin | ruoyi-ui/src/mixins/breedingStdLocaleMixin.js |
| i18n | ruoyi-ui/src/lang/zh/breedingStd.js、lang/bo/breedingStd.js |
| 版本 | 说明 |
|---|---|
| 1.0 | 初稿:双卡片 CRUD、资讯类别编码、双维状态机、附件上传、知识库与发布/下架 |
| 1.1 | 2026-06-01:标准类型改资讯类别编码(parentCode=001&categoryType=5);存量 1 回退展示;编辑/上传仅 未发布+未同步;类型加载失败与已同步编辑提示;下架回流 (0,1) 操作矩阵修正 |
| 1.2 | 2026-05-20:正文服务端白名单:pdf、md、doc、docx、xls、xlsx、pptx(移除 ppt);前端 contentFileExts 本次不改 |