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

1.2 KiB
Raw Blame History

Bug 修复计划版本3

问题描述

搜索组件的查询按钮和条件无法显示在同一行,需要调整 fast-crud 的搜索布局配置。

分析

根据 fast-crud 的官方文档和 GitHub issues正确的行内布局配置应该是

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'

预期结果

修改后,查询条件和查询、重置按钮将显示在同一行,且展开按钮被隐藏。