我的预约(机构)— 前端技术方案
依据:我的预约(机构)功能需求.md、我的预约(机构)技术方案.md;列表布局参考兽医端 myAppointment/vet/index.vue(双 card + 分页),登记制只读无确认/拒绝。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/diseaseTreatment/myAppointment/org/index.vue |
| 组件名 |
DiseaseTreatmentOrgMyAppointment |
| 菜单配置 |
组件路径:diseaseTreatment/myAppointment/org/index |
| 权限前缀 |
diseaseTreatment:orgMyAppointment:list、query、complete(无 confirm/reject) |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/diseaseTreatment/orgMyAppointment.js |
| Base |
/diseaseTreatment/myAppointment/org |
| 方法 |
HTTP |
说明 |
listOrgMyAppointment |
GET |
/list;Query 小驼峰 |
getOrgMyAppointment |
GET |
/{id} 详情 |
completeOrgMyAppointment |
POST |
/complete/{id} |
列表 Query:appointeeName、startDate、endDate、status(仅 3/4/5)、pageNum、pageSize(默认 20)。
本期无写接口。
3. 页面结构
- 筛选区:预约人、预约日期范围、状态(已预约/已取消/已完成);搜索、重置。
- 列表(精简):预约人、预约日期、联系电话、状态、操作(查看)。
- 详情弹窗(完整):预约人、日期、时段、电话、地址、需求、状态;无拒绝理由、评价、确认/拒绝按钮。
4. 业务规则(前端)
| 规则 |
实现 |
| 登记制 |
已预约可完成接诊;无确认/拒绝 |
| 操作可见 |
status === 5 或 canComplete === true 显示完成接诊 |
| 状态 |
5 已预约、3 已取消、4 已完成 |
| 状态筛选 |
下拉仅上述三态 |
| 时段展示 |
详情内 timeStart + '~' + timeEnd |
| 状态文案 |
优先 statusLabel;否则 i18n orgMyAppointment.status3/4/5 |
| 状态 Tag |
已预约 success、已取消 info、已完成默认 |
| 日期校验 |
开始日期不得晚于结束日期 |
5. 与兽医端差异
| 项 |
机构 |
兽医 |
| 列表列 |
4 列 + 操作 |
含时段、地址、需求、拒绝理由 |
| 写操作 |
无 |
待确认可确认/拒绝 |
| 状态数 |
3(5/3/4) |
5(0~4) |
6. 国际化
| 项 |
说明 |
| 语言包 |
diseaseTreatment.orgMyAppointment(lang/zh、lang/bo) |
| Mixin |
diseaseTreatmentLocaleMixin,dtNs = 'orgMyAppointment';orgAppointmentStatusText / orgAppointmentStatusTagType |
7. 文件清单
| 路径 |
说明 |
src/views/diseaseTreatment/myAppointment/org/index.vue |
主页面 |
src/api/diseaseTreatment/orgMyAppointment.js |
API |
src/mixins/diseaseTreatmentLocaleMixin.js |
机构三态文案/Tag |
src/lang/zh/diseaseTreatment.js |
中文 |
src/lang/bo/diseaseTreatment.js |
藏文 |
8. 联调说明
- 登录账号须在「畜牧医疗资源管理」绑定机构资源(
resource_type=3 且已分配账号),否则列表为空。
- 预约由移动端「预约服务-诊疗机构」提交,初始状态为 已预约(5);机构后台不参与接单。
- 菜单需在若依后台配置组件路径与
list、query 按钮权限。