# 我的预约（机构）— 前端技术方案

> 依据：`我的预约(机构)功能需求.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. 页面结构

1. **筛选区**：预约人、预约日期范围、状态（已预约/已取消/已完成）；搜索、重置。  
2. **列表（精简）**：预约人、预约日期、联系电话、状态、操作（查看）。  
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` 按钮权限。
