BookSystem/.trae/documents/bug_fix_plan_v3.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

44 lines
1.2 KiB
Markdown
Raw Permalink 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 修复计划版本3
## 问题描述
搜索组件的查询按钮和条件无法显示在同一行,需要调整 fast-crud 的搜索布局配置。
## 分析
根据 fast-crud 的官方文档和 GitHub issues正确的行内布局配置应该是
```javascript
search: {
show: true,
options: {
layout: 'inline' // 使用 options.layout 而非 form.inline
},
expand: false,
}
```
之前使用的 `search.form.inline` 配置不正确,导致布局没有生效。
## 修改步骤
修改三个 CRUD 配置文件,调整搜索布局配置:
1. `user-crud.ts`: 调整 search.options.layout 配置
2. `role-crud.ts`: 调整 search.options.layout 配置
3. `permission-crud.ts`: 调整 search.options.layout 配置
## 修改文件清单
| 文件 | 修改内容 |
|------|----------|
| `frontend/src/modules/admin/views/users/user-crud.ts` | 调整 search 配置为 options.layout: 'inline' |
| `frontend/src/modules/admin/views/roles/role-crud.ts` | 调整 search 配置为 options.layout: 'inline' |
| `frontend/src/modules/admin/views/permissions/permission-crud.ts` | 调整 search 配置为 options.layout: 'inline' |
## 预期结果
修改后,查询条件和查询、重置按钮将显示在同一行,且展开按钮被隐藏。