我的预约(专家)— 前端技术方案
依据:我的预约(专家)功能需求.md、我的预约(专家)技术方案.md;列表布局参考 diseaseTreatment/myAppointment/vet/index.vue(双 card + 分页)。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/techService/myAppointment/expert/index.vue |
| 组件名 |
TechServiceExpertMyAppointment |
| 菜单配置 |
组件路径:techService/myAppointment/expert/index |
| 权限前缀 |
techService:expertMyAppointment:list、query、confirm、reject、complete、reviewList |
准入:登录账号须在「畜牧科技资源管理」绑定专家资源(resource_type=004005 且已分配账号),否则列表为空。
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/techService/expertMyAppointment.js |
| Base |
/techService/myAppointment/expert |
| 方法 |
HTTP |
说明 |
listExpertMyAppointment |
GET |
/list;Query 小驼峰 |
getExpertMyAppointment |
GET |
/{id} 详情(已完成可含评价星级与 summary) |
confirmExpertMyAppointment |
POST |
/confirm/{id} |
rejectExpertMyAppointment |
POST |
/reject/{id};Body:rejectReason |
completeExpertMyAppointment |
POST |
/complete/{id} |
listExpertMyAppointmentReviews |
GET |
/reviewList/{id};仅已完成 |
列表 Query:appointeeName、startDate、endDate、status(0~4)、pageNum、pageSize(默认 20)。
3. 页面结构
- 筛选区:预约人、预约日期范围、状态;搜索、重置。
- 列表:预约人、日期、时段、电话、地址、需求、状态 Tag、拒绝理由、操作。
- 查看详情:
el-descriptions;已拒绝展示拒绝理由;已完成展示评价区(三星级 + 综合评价,无数据时「暂无评价」)。
- 待确认:确认接诊、拒绝接诊(拒绝理由 1~100 字)。
- 已完成:列表与详情内「查看评价」→ 评价列表弹窗(评价人、时间、综合评价)。
4. 业务规则(前端)
| 规则 |
实现 |
| 状态 |
0 待确认、1 已确认、2 已拒绝、3 已取消、4 已完成 |
| 操作可见 |
待确认:确认/拒绝;已确认:完成接诊;已完成:查看评价 |
| 时段展示 |
timeStart + '~' + timeEnd |
| 状态文案 |
优先 statusLabel;否则 expertMyAppointment.status0~4 |
| 状态 Tag |
待确认 warning、已确认 success、已拒绝 danger、已取消 info、已完成默认 |
| 详情评价 |
punctualityScore、attitudeScore、guidanceScore 用 el-rate 只读;summary 文本 |
| 评价列表 |
GET reviewList/{id};空表展示「暂无评价」 |
| 日期校验 |
开始日期不得晚于结束日期 |
5. 与兽医端差异
| 项 |
专家(本文档) |
兽医 |
| 业务域 |
牧业养殖科技服务 |
牧业疫病诊疗服务 |
| API Base |
/techService/myAppointment/expert |
/diseaseTreatment/myAppointment/vet |
| 资源表 |
biz_tech_resource |
biz_medical_resource |
| 查看评价 |
✓ |
✗ |
| 详情评价区 |
✓(已完成) |
✗ |
6. 国际化
| 项 |
说明 |
| 语言包 |
techService.expertMyAppointment(lang/zh/techService.js、lang/bo/techService.js) |
| Mixin |
techServiceLocaleMixin,tsNs = 'expertMyAppointment';expertAppointmentStatusText / expertAppointmentStatusTagType |
7. 文件清单
| 路径 |
说明 |
src/views/techService/myAppointment/expert/index.vue |
主页面 |
src/api/techService/expertMyAppointment.js |
API |
src/mixins/techServiceLocaleMixin.js |
预约状态文案/Tag |
src/lang/zh/techService.js |
中文 |
src/lang/bo/techService.js |
藏文 |
8. 联调说明
- 账号须已绑定专家科技资源(角色
exp,常见 role_id=101)。
- 确认/拒绝仅对
status=0 有效。
- 查看评价仅对
status=4;评价由移动端写入,后台只读。
- 菜单配置组件路径与上述权限按钮后可见。