疫情上报 — 前端技术方案
依据:疫情上报功能需求.md、疫情上报技术方案.md;布局参考 breedingStandards/breedingManage/index.vue(双 el-card);请求/响应字段 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/diseaseDetection/epidemicReport/index.vue |
| 组件名 |
EpidemicReport |
| 菜单配置 |
若依「菜单管理」组件路径:diseaseDetection/epidemicReport/index |
| 权限标识 |
diseaseDetection:epidemicReport:list\|query\|add\|edit\|remove\|relieve |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/diseaseDetection/epidemicReport.js |
| Base |
/diseaseDetection/epidemicReport |
| 方法 |
HTTP |
路径 |
说明 |
listEpidemicReport |
GET |
/list |
分页;Query:pageNum、pageSize、transmissionRoute、riskLevel、relieveStatus |
getEpidemicReport |
GET |
/{id} |
详情 |
addEpidemicReport |
POST |
/ |
新增(不含 releaseDate) |
updateEpidemicReport |
PUT |
/ |
修改(含 id;仅未解除) |
delEpidemicReport |
DELETE |
/{ids} |
批量删除,逗号分隔 |
relieveEpidemicReport |
PUT |
/relieve |
Body:id、releaseDate |
3. 页面结构
- 筛选区(
el-card):传播途径、风险等级、处置状态(0 未解除 / 1 已解除);搜索、重置、新增、批量删除。
- 列表区(
el-card):表格 + 分页;列含上报日期、传播途径、疫病类型/名称、风险等级、涉疫点位/轨迹、处置状态、解除日期、创建时间。
- 新增/编辑弹窗:
reportDate、transmissionRoute、affectedLocationTrack、epidemicType、epidemicName、riskLevel;不含解除日期。
- 解除弹窗:仅
releaseDate;日期选择器禁用早于当前行 reportDate、晚于今天。
- 查看弹窗:只读展示全部字段及审计信息。
行内操作
| 处置状态 |
可用按钮 |
| 未解除 |
查看、编辑、解除、删除 |
| 已解除 |
查看、删除 |
前端以 releaseDate 非空或 relieveStatus === 1 判定「已解除」(diseaseDetectionLocaleMixin.isReleased)。
4. 枚举与展示
| 字段 |
编码 |
i18n 键前缀 |
| 传播途径 |
1~4 |
diseaseDetection.epidemicReport.transmission{n} |
| 疫病类型 |
1~4 |
diseaseDetection.epidemicReport.epidemicType{n} |
| 风险等级 |
1~3 |
diseaseDetection.epidemicReport.risk{n} |
列表/表单使用 el-select + 计算属性 *Options;表格列通过 transmissionLabel 等方法转文案。
5. 国际化
| 项 |
说明 |
| 语言包 |
ruoyi-ui/src/lang/zh/diseaseDetection.js、ruoyi-ui/src/lang/bo/diseaseDetection.js |
| 注册 |
zh-CN.js、bo.js 挂载 diseaseDetection |
| Mixin |
diseaseDetectionLocaleMixin:ddT(data.ddNs = 'epidemicReport')、ddCommon、relieveStatusText、isReleased |
6. 校验与交互要点
- 新增/编辑:必填与长度(轨迹 1~500、疫病名称 1~50)与后端一致。
- 编辑/解除前:若已解除,提示
ruleReleasedNoEdit / ruleReleasedNoRelieve 并中止。
- 解除:
releaseDate 必填;自定义校验 ≥ reportDate 且 ≤ 今天;确认后调用 relieve 接口。
- 删除:单条带
id 确认文案;批量需先勾选。
- 权限:
v-hasPermi 控制按钮显隐。
7. 联调说明
- 后端实现
疫情上报技术方案.md §3 接口及 biz_epidemic_report 表。
- 配置菜单与六项按钮权限。
- 验证:未解除可改/可解除;已解除隐藏编辑/解除;解除日期边界;筛选
relieveStatus。
- 当前仓库若尚无 Java 模块,可先 Mock 或对接完成后端再联调列表。
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:列表 CRUD + 解除弹窗;对齐养殖标准管理双卡片布局 |