西藏巴青项目

畜牧医疗资源管理前端技术方案.md 4.7KB

畜牧医疗资源管理 — 前端技术方案

依据:畜牧医疗资源管理功能需求.md畜牧医疗资源管理技术方案.md;布局对齐 commonProsperity/project/index.vue(双 el-card、发布/下架);Tab 组织对齐 policy/projectSubsidy/index.vue;字段 小驼峰


1. 页面与路由

说明
Vue 路径 ruoyi-ui/src/views/diseaseTreatment/medicalResource/index.vue
组件名 DiseaseTreatmentMedicalResource
菜单配置 组件路径:diseaseTreatment/medicalResource/index(「牧业疫病诊疗服务」目录下,手工配置)
权限前缀 diseaseTreatment:medicalResource:list\|query\|add\|edit\|remove\|publish\|offline\|assignAccount

2. API 模块

说明
文件 ruoyi-ui/src/api/diseaseTreatment/medicalResource.js
Base /diseaseTreatment/medicalResource
方法 HTTP 说明
listMedicalResource GET /list,Query:pageNumpageSize(默认 20)、resourceType(必填)、resourceNamepublishStatus(0/1/2)
getMedicalResource GET /{id}
addMedicalResource POST /
updateMedicalResource PUT /
delMedicalResource DELETE /{ids}
publishMedicalResource POST /publish/{id}
offlineMedicalResource POST /offline/{id}
assignAccountMedicalResource POST /assignAccount/{id}

3. 页面结构

  1. Tab 区el-tabs type="border-card" 四个 Tab(兽医 / 团队 / 机构 / 设备),切换即改 resourceType 并刷新列表。
  2. 筛选区:资源类型下拉(与 Tab 联动)、资源名称模糊、发布状态三态;搜索、重置、新增。
  3. 列表区:按当前 Tab 展示差异化列;发布状态用 displayPublishStatus;操作列按钮显隐用后端 canEdit / canPublish / canOffline / canDelete / canAssignAccount
  4. 新增/编辑弹窗:先选资源类型(编辑时禁用);按类型 v-if 动态字段;单图上传 /common/uploadphotoFileUrlphotoFilePath
  5. 查看弹窗:只读全字段;未发布/已下架且 canEdit 时可从查看进入编辑。

4. 业务规则(前端)

规则 实现
Tab ↔ 类型 vet→004001team→004002org→004003equipment→004004;下拉选项来自 listInformationCategoryChildren(parentCode=004, categoryType=6)
列表筛选 publishStatus 0 未发布 / 1 已发布 / 2 已下架(与后端 Query 一致)
多选提交 consultModesListserviceWeekdaysList 数组提交,后端编码入库
服务时段 两个 el-time-select,校验结束 ≥ 开始
手机号 PHONE_REG = /^1[3-9]\d{9}$/
照片 jpg/jpeg/png,≤10MB,必填
分配账号 仅兽医/机构 Tab 列表展示「账号分配」列;按钮 canAssignAccount
资源类型 新增默认当前 Tab 类型;编辑不可改

资源类型接口

方法 说明
listInformationCategoryChildren GET /category/informationCategory/children?parentCode=004&categoryType=6data[]codename

其它枚举(页面内)

常量
定点/上门/在线接诊 consultMode = 1/2/3
诊所/医院 orgLevel = 1/2
周一至周日 weekday = 1~7

存量 tinyint 资源类型(1~4)在 normalizeResourceType 中映射为 004001004004


5. 国际化

说明
语言包 diseaseTreatment.medicalResourcelang/zh/diseaseTreatment.jslang/bo/diseaseTreatment.js
Mixin diseaseTreatmentLocaleMixindtNs = 'medicalResource',方法 dtT / dtCommon
注册 lang/zh-CN.jslang/bo.js 引入 diseaseTreatment

6. 联调说明

  1. 部署 BizMedicalResourceControllerbiz_medical_resource 表。
  2. 菜单组件 diseaseTreatment/medicalResource/index,权限与后端 §6 一致。
  3. 验证:四 Tab 列表、三态筛选、四类动态表单新增/编辑、发布/下架、兽医/机构分配账号、已发布不可编辑、双语切换。

7. 文件清单

类型 路径
页面 ruoyi-ui/src/views/diseaseTreatment/medicalResource/index.vue
API ruoyi-ui/src/api/diseaseTreatment/medicalResource.js
Mixin ruoyi-ui/src/mixins/diseaseTreatmentLocaleMixin.js
i18n ruoyi-ui/src/lang/zh/diseaseTreatment.jslang/bo/diseaseTreatment.js

8. 修订记录

版本 说明
1.0 初版:四 Tab 分库列表、动态表单、发布/下架/分配账号、汉藏 i18n