76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
# 前端接口报错问题修复总结
|
||
|
||
## 问题原因
|
||
|
||
前端调用报错是因为后端数据库模型更新后,数据库数据与新的枚举值不匹配。
|
||
|
||
### 具体问题
|
||
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
|
||
- 考核流程:所有接口正常
|
||
- 统计报表:所有接口正常
|
||
|
||
### 访问方式
|
||
- 前端地址:http://localhost:5173
|
||
- 后端地址:http://localhost:8000
|
||
- API 文档:http://localhost:8000/api/v1/docs
|
||
|
||
### 默认账号
|
||
- 用户名:admin
|
||
- 密码:admin123
|
||
|
||
## 前端使用建议
|
||
|
||
### 如果仍遇到问题
|
||
1. **清除浏览器缓存**:Ctrl+Shift+Delete
|
||
2. **清除 localStorage**:
|
||
```javascript
|
||
localStorage.clear()
|
||
```
|
||
3. **硬刷新页面**:Ctrl+F5
|
||
4. **重启服务**:
|
||
```bash
|
||
# 停止所有 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`
|