tyt-api-nest/docs/frontend-api-integration.md
EL 0b5640a977 调压任务流程从“发布即指派”改为“发布待接收(PENDING) -> 工程师接收(ACCEPTED) -> 完成(COMPLETED)”。
新增工程师“取消接收”能力,任务可从 ACCEPTED 回退到 PENDING。
发布任务不再要求 engineerId,并增加同设备存在未结束任务时的重复发布拦截。
完成任务新增 completionMaterials 必填校验,仅允许图片/视频凭证,并在完成时落库。
植入物目录新增 isValve,区分阀门与管子;非阀门不维护压力挡位,阀门至少 1 个挡位。
患者设备与任务查询返回新增字段,前端任务页支持接收/取消接收/上传凭证后完成。
增补 Prisma 迁移、接口文档、E2E 用例与夹具修复逻辑。
2026-03-20 06:03:09 +08:00

4.4 KiB
Raw Blame History

前端接口接入说明(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 必须同时传 phoneidCard
  • 患者表单中的 idCard 字段直接传身份证号; 服务端只会做去空格与 x/X 标准化,不会转哈希。
  • 患者手术、调压任务、设备目录中的压力值全部按字符串挡位标签传输,例如 0.511.510

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/treeorganization/departmentsorganization/groupsusers
    • organization/treeorganization/groups SYSTEM_ADMINHOSPITAL_ADMINDIRECTORLEADER 可访问
    • organization/departmentsSYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • usersSYSTEM_ADMINHOSPITAL_ADMIN 可管理;DIRECTOR 可只读查看
  • devices:仅 SYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • uploads:仅 SYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • organization/hospitals
    • SYSTEM_ADMIN 可访问
  • tasks
    • SYSTEM_ADMINHOSPITAL_ADMINDOCTORDIRECTORLEADERENGINEER 可访问
  • patients
    • SYSTEM_ADMINHOSPITAL_ADMINDIRECTORLEADERDOCTOR 可访问

患者页负责发起调压任务,任务页负责查看、接收与完成调压任务。

患者手术表单中的主刀医生不再单独选择,直接跟随患者归属医生展示和保存。

前端已在路由守卫和侧边栏菜单同时做权限控制,无权限角色会被拦截并跳转到首页,避免进入页面后触发接口 403

3.3 主任/组长组织管理范围

  • DIRECTOR
    • 仅保留业务使用和患者管理能力,不再承担科室/小组/医生管理
  • LEADER
    • 仅保留业务使用和患者管理能力,不再承担科室/小组/医生管理
  • 主任/组长不再显示“科室管理”“小组管理”“用户管理”页面。
  • 负责人设置(设主任/设组长)入口仍仅 SYSTEM_ADMINHOSPITAL_ADMIN 显示。

4. 本地运行

tyt-admin 目录执行:

pnpm install
pnpm dev