BookSystem/.trae/documents/bug_fix_plan_v2.md
jayhgq 6f4ace886f fix(roles): 修复角色创建时 model_dump 错误
修复角色创建时出现的 AttributeError: 'dict' object has no attribute 'model_dump' 错误,将 role_data.model_dump() 改为 dict(role_data) 以兼容 Pydantic v1 和 v2。

同时优化了搜索布局和样式,确保查询条件和按钮在同一行显示:

1. 修改 admin-crud.css 添加搜索区域不换行样式
2. 调整 role-crud.ts 中的 search 配置
3. 将 GET 查询接口改为 POST /search 方式
4. 修复角色权限分配时的权限加载问题
2026-05-09 17:59:10 +08:00

64 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Bug 修复计划版本2
## 问题描述
### 问题1查询条件布局仍未生效
前端页面中用户、角色、权限的查询条件和查询、重置按钮没有在同一行显示,需要重新检查配置。
### 问题2删除 GET 查询接口
用户要求删除原有的 GET 方式查询接口,只保留 POST 方式。
## 分析
### 问题1原因分析
fast-crud 的搜索布局配置可能需要调整。当前配置:
```javascript
search: {
show: true,
inline: true,
expand: false,
}
```
可能需要调整为:
```javascript
search: {
show: true,
form: {
inline: true,
},
expand: false,
}
```
### 问题2修改方案
删除后端三个路由文件中的 GET 查询接口(`@router.get("/")`),只保留 POST `/search` 接口。
## 修改步骤
### 步骤1修复前端搜索布局配置
修改三个 CRUD 配置文件,调整搜索布局配置:
1. `user-crud.ts`: 调整 search 配置
2. `role-crud.ts`: 调整 search 配置
3. `permission-crud.ts`: 调整 search 配置
### 步骤2删除后端 GET 查询接口
删除三个后端路由文件中的 GET 查询接口:
1. `users/urls.py`: 删除 `@router.get("/")` 接口
2. `roles/urls.py`: 删除 `@router.get("/")` 接口
3. `permissions/urls.py`: 删除 `@router.get("/")` 接口
## 修改文件清单
| 文件 | 修改内容 |
|------|----------|
| `frontend/src/modules/admin/views/users/user-crud.ts` | 调整 search 布局配置 |
| `frontend/src/modules/admin/views/roles/role-crud.ts` | 调整 search 布局配置 |
| `frontend/src/modules/admin/views/permissions/permission-crud.ts` | 调整 search 布局配置 |
| `backend/auth/apps/users/urls.py` | 删除 GET `/users/` 查询接口 |
| `backend/auth/apps/roles/urls.py` | 删除 GET `/roles/` 查询接口 |
| `backend/auth/apps/permissions/urls.py` | 删除 GET `/permissions/` 查询接口 |