本文档从当前项目代码中提取并集中说明与“复诊管理”相关的前端页面、导航、交互与现状(哪些页面已实现、哪些页面为占位/待实现),并给出必要的接口建议与 UI 行为说明,方便前后端对齐与产品设计对接。
当前仓库涉及与“复诊/预约/随访”相关的前端位置:
医生侧
pages/doctor/index/index.vue(医生首页)/pages/doctor/manage/followup)todayReminders.followUpCount(待处理复诊数量)patientActivities,其中某些项描述会提到“完成了今日复诊”作为活动示例pages/doctor/index/my-patients.vue(我的病人)pages/doctor/manage/index.vue(后台管理)患者侧
pages/patient/index/my-doctor.vue(我的医生)pages/patient/index/index.vue(患者首页)家属
pages/patient-family/index/my-family.vue(我的家人)健康数据提醒触发
pages/patient/health/details/*(血压 / 血糖 / 心率 / 体格)uni.showModal 弹窗建议“建议尽快复诊” —— 这是在数据输入端触发复诊建议的逻辑点。pages/doctor/index/index.vue(医生首页)复诊管理 调用 onItemClick('复诊管理') 并导航至 '/pages/doctor/manage/followup'。todayReminders.followUpCount(数字)与标签 "待处理复诊"/pages/doctor/manage/followuppages/doctor/index/my-patients.vue(我的病人).patient-card)中的操作按钮:
/pages/public/health/index?patientId=...&bindingType=DOCTORinviteRevisit(patient) 仅调用 uni.showToast({ title: '邀请复诊功能开发中' }),无后端调用或模态输入。pages/patient/index/my-doctor.vue(我的医生)makeAppointment() -> 占位(弹窗)userBinding.create 实现)pages/patient-family/index/my-family.vue(我的家人)my-patients.vue:提供 "邀请复诊" 按钮 -> 目前为占位pages/patient/health/details/*(指标页面)confirmAdd() 或提交数据时:
uni.showModal({title: '异常', content: '建议尽快复诊'}) 提醒病人。为了把现有占位功能逐步实现,建议采用以下最小可用流程:
复诊管理 列表
/pages/doctor/manage/followup(当前缺失,需创建)邀请复诊(直接从 我的病人 发起),或基于预设规则(异常数据触发复诊建议)创建新的复诊任务followup 列表并更新 todayReminders.followUpCount/pages/patient/appointments(未来新增)confirmAdd() 检测到异常时,除了 showModal,增加 "现在预约" 按钮或 "联系医生",直接跳转到 my-doctor -> 预约交互,或弹出预约表单src/api:
https://wx.baiyun.work/doctor/today_reminders —— 返回 { followUpCount, abnormalCount }https://wx.baiyun.work/doctor/patient_activities —— 返回列表活动inviteRevisit / makeAppointment 的占位按钮应支持模态表单输入(时间、备注),并在提交成功后把患者活动和医生 todayReminders.followUpCount 更新。user-binding 集成:邀请/预约时须确保 patientUserId 的可用性与安全权限(仅当医生与患者绑定时允许邀请)。showModal),建议加入可操作按钮(如“现在预约”)以提升转化。pages/doctor/manage/followup.vue 页面骨架,并实现最小列表展示及跳转功能。src/api 中新增 followup.ts,封装 list/invite/accept/decline 接口并使用统一请求包装 src/api/request.ts。my-patients 和 my-family 中把 inviteRevisit 从占位修改为调用 followup/invite,并添加预约对话框(time picker)my-doctor 页面实现预约交互:打开选择时间 -> POST /appointment/create