Files
hospital_performance/FRONTEND_FIX_SUMMARY.md
2026-02-28 15:16:15 +08:00

2.2 KiB
Raw Blame History

前端接口报错问题修复总结

问题原因

前端调用报错是因为后端数据库模型更新后,数据库数据与新的枚举值不匹配。

具体问题

  1. 数据库模型新增了 9 种科室类型(如 clinical_surgical, clinical_nonsurgical_ward 等)
  2. init_db.py 仍在使用旧的枚举值(如 clinical
  3. Pydantic Schema 也未同步更新枚举定义
  4. 导致查询时出现 LookupError: 'clinical' is not among the defined enum values

已修复内容

1. 更新 init_db.py

将科室类型从旧的 clinical 改为新的 clinical_nonsurgical_ward

2. 更新 Pydantic Schema

更新 app/schemas/schemas.py 中的 DeptType 枚举,包含所有 9 种类型

3. 重建数据库

删除旧数据库并使用新的枚举值重新初始化

当前系统状态

已恢复正常的功能

  • 健康检查:http://localhost:8000/health
  • 用户登录POST /api/v1/auth/login
  • 科室管理GET/POST/PUT/DELETE /api/v1/departments
  • 员工管理GET/POST/DELETE /api/v1/staff
  • 指标管理GET/POST/PUT/DELETE /api/v1/indicators
  • 考核流程:所有接口正常
  • 统计报表:所有接口正常

访问方式

默认账号

  • 用户名admin
  • 密码admin123

前端使用建议

如果仍遇到问题

  1. 清除浏览器缓存Ctrl+Shift+Delete
  2. 清除 localStorage
    localStorage.clear()
    
  3. 硬刷新页面Ctrl+F5
  4. 重启服务
    # 停止所有 Python 进程
    powershell -Command "Get-Process | Where-Object {$_.ProcessName -eq 'python'} | Stop-Process -Force"
    
    # 重启后端
    cd D:\医院绩效系统\backend
    python -m uvicorn app.main:app --reload
    
    # 重启前端(新终端)
    cd D:\医院绩效系统\frontend
    npm run dev
    

测试工具

访问内置测试页面:http://localhost:5173/test-api.html

联系支持

如仍有问题,请提供:

  1. F12 控制台错误截图
  2. Network 标签中失败请求的响应内容
  3. 后端日志:backend/logs/error_*.log