# 前端接口接入说明(`tyt-admin`) ## 1. 本次接入范围 - 登录页:`/auth/login`,支持可选 `hospitalId`。 - 首页看板:按角色拉取组织与患者统计。 - 设备页:新增管理员专用设备 CRUD,复用真实设备接口。 - 任务页:改为只读调压记录页,接入真实任务列表接口。 - 用户页:修复用户列表响应结构、组织字段联动、工程师分配医院参数。 - 患者页:接入真实患者字段与生命周期查询参数(`phone + idCard`), 后端直接保存身份证号原文,不再做哈希转换;调压任务入口迁到患者页。 - 新增影像库页:接入真实上传接口,支持图片/视频/文件上传与分页查看。 ## 2. 接口契约对齐点 - `GET /users` 当前返回数组,前端已在 `api/users.js` 做本地分页与筛选适配。 - `PATCH /b/users/:id/assign-engineer-hospital` 参数为单个 `hospitalId`,非数组。 - `GET /b/patients` 返回数组,前端已改为本地分页与筛选。 - `GET /b/devices` 已支持服务端分页与筛选,前端直接透传 `page/pageSize`。 - `GET /b/tasks` 返回 `{ list, total, page, pageSize }`,供任务页只读展示调压记录。 - `POST /b/uploads` 使用 `multipart/form-data` 上传文件,返回上传资产元数据。 - `GET /b/uploads` 返回 `{ list, total, page, pageSize }`,仅供系统管理员/医院管理员影像库分页展示。 - `GET /b/tasks/engineers` 返回可选接收工程师列表,患者页发布调压任务前需要先拉取。 - `GET /c/patients/lifecycle` 必须同时传 `phone` 和 `idCard`。 - 患者表单中的 `idCard` 字段直接传身份证号; 服务端只会做去空格与 `x/X` 标准化,不会转哈希。 - 患者手术、调压任务、设备目录中的压力值全部按字符串挡位标签传输,例如 `0.5`、`1`、`1.5`、`10`。 ## 3. 角色权限提示 - 任务接口权限: - `SYSTEM_ADMIN/HOSPITAL_ADMIN/DOCTOR/DIRECTOR/LEADER`:发布时必须指定接收工程师;可取消自己创建的任务 - `ENGINEER`:仅可完成分配给自己的任务 - 患者列表权限: - `SYSTEM_ADMIN` 查询时必须传 `hospitalId` - 用户管理接口: - `SYSTEM_ADMIN/HOSPITAL_ADMIN` 可创建、编辑、删除 - `DIRECTOR` 可只读查看本科室下级医生/组长 - 工程师绑定医院仅 `SYSTEM_ADMIN` - 删除:`SYSTEM_ADMIN` 可删除任意无关联用户;`HOSPITAL_ADMIN` 可删除本院无关联、且非管理员用户 ## 3.1 结构图页面交互调整 - 医院管理员视角下,右侧下级列表会优先显示“人员”节点,再显示组织节点。 - 选中人员节点时,右侧展示人员详情(角色、手机号、所属医院/科室/小组),不再显示空白占位。 ## 3.2 后台页面路由权限(与后端 RBAC 对齐) - `organization/tree`、`organization/departments`、`organization/groups`、`users` - `organization/tree`、`organization/groups`: `SYSTEM_ADMIN`、`HOSPITAL_ADMIN`、`DIRECTOR`、`LEADER` 可访问 - `organization/departments`: 仅 `SYSTEM_ADMIN`、`HOSPITAL_ADMIN` 可访问 - `users`:`SYSTEM_ADMIN`、`HOSPITAL_ADMIN` 可管理;`DIRECTOR` 可只读查看 - `devices`:仅 `SYSTEM_ADMIN`、`HOSPITAL_ADMIN` 可访问 - `uploads`:仅 `SYSTEM_ADMIN`、`HOSPITAL_ADMIN` 可访问 - `organization/hospitals` - 仅 `SYSTEM_ADMIN` 可访问 - `tasks` - `SYSTEM_ADMIN`、`HOSPITAL_ADMIN`、`DOCTOR`、`DIRECTOR`、`LEADER`、`ENGINEER` 可访问 - `patients` - `SYSTEM_ADMIN`、`HOSPITAL_ADMIN`、`DIRECTOR`、`LEADER`、`DOCTOR` 可访问 患者页负责发起调压任务并指定接收人,任务页仅查看调压记录,不再提供发布或接收入口。 患者手术表单中的主刀医生不再单独选择,直接跟随患者归属医生展示和保存。 前端已在路由守卫和侧边栏菜单同时做权限控制,无权限角色会被拦截并跳转到首页,避免进入页面后触发接口 `403`。 ## 3.3 主任/组长组织管理范围 - `DIRECTOR` - 仅保留业务使用和患者管理能力,不再承担科室/小组/医生管理 - `LEADER` - 仅保留业务使用和患者管理能力,不再承担科室/小组/医生管理 - 主任/组长不再显示“科室管理”“小组管理”“用户管理”页面。 - 负责人设置(设主任/设组长)入口仍仅 `SYSTEM_ADMIN`、`HOSPITAL_ADMIN` 显示。 ## 4. 本地运行 在 `tyt-admin` 目录执行: ```bash pnpm install pnpm dev ```