diff --git a/backend/controller/role.py b/backend/controller/role.py index d9e1222..c103ccd 100644 --- a/backend/controller/role.py +++ b/backend/controller/role.py @@ -62,8 +62,8 @@ async def role_put(pk: int, data: RoleIn) -> Response: async def role_query(query: RoleQuery) -> Response[ListAll[list[RoleRead]]]: """post条件查询角色表""" - limit = query.size - skip = (query.offset - 1) * limit - del query.offset, query.size - users, count = await get_roles(skip, limit, query.dict()) + size = query.limit + skip = (query.offset - 1) * size + del query.offset, query.limit + users, count = await get_roles(skip, size, query.dict()) return Response(data=ListAll(total=count, items=users)) diff --git a/backend/dbhelper/role.py b/backend/dbhelper/role.py index 4c9a4a0..6e91526 100644 --- a/backend/dbhelper/role.py +++ b/backend/dbhelper/role.py @@ -38,7 +38,7 @@ async def get_roles(skip: int, limit: int, kwargs: dict = None): kwargs = {f"{k}__contains": v for k, v in kwargs.items()} else: kwargs = {} - result = RoleModel.filter(status__not=9, **kwargs).all().order_by("-created") + result = RoleModel.filter(**kwargs).all().order_by("-created") return await result.offset(skip).limit(limit), await result.count() diff --git a/backend/mini.db b/backend/mini.db index 60e7509..e2a2455 100644 Binary files a/backend/mini.db and b/backend/mini.db differ diff --git a/backend/mini.db-shm b/backend/mini.db-shm new file mode 100644 index 0000000..2644cf9 Binary files /dev/null and b/backend/mini.db-shm differ diff --git a/backend/mini.db-wal b/backend/mini.db-wal new file mode 100644 index 0000000..015d765 Binary files /dev/null and b/backend/mini.db-wal differ diff --git a/backend/router/url.py b/backend/router/url.py index 29111c0..d0d6d51 100644 --- a/backend/router/url.py +++ b/backend/router/url.py @@ -157,7 +157,9 @@ routes = [ summary="查询角色拥有权限", **has_perm ), - Route.put("/role", endpoint=role_put, tags=["角色管理"], summary="角色更新", **has_perm), + Route.put( + "/role/{pk}", endpoint=role_put, tags=["角色管理"], summary="角色更新", **has_perm + ), Route.post( "/role/query", endpoint=role_query, tags=["角色管理"], summary="角色条件查询", **has_perm ), diff --git a/backend/tests/test_case.py b/backend/tests/test_case.py index 4d708a7..8e68bc3 100644 --- a/backend/tests/test_case.py +++ b/backend/tests/test_case.py @@ -247,7 +247,7 @@ params = [ type=2, component=None, pid=4, - identifier="", + identifier="role:query", api="/role/query", method="POST", ).dict(), @@ -276,7 +276,7 @@ params = [ component=None, pid=4, identifier="role:update", - api="/role", + api="/role/{pk}", method="PUT", ).dict(), ), diff --git a/frontend/src/service/role.js b/frontend/src/service/role.js index 5336e77..209e025 100644 --- a/frontend/src/service/role.js +++ b/frontend/src/service/role.js @@ -1,9 +1,44 @@ import request from '@/utils/request' // 获取角色列表, 需要考虑创建用户选择角色应该是所有未被删除的情况 -export function getRoles(parms) { +export function getRoles(params) { return request({ url: '/role', - parms + params + }) +} + +// 条件查询 +export function queryRole(data) { + return request({ + url: '/role/query', + method: 'post', + data + }) +} + +// 删除 +export function delRole(id) { + return request({ + url: `/role/${id}`, + method: 'delete' + }) +} + +// 创建 +export function addRole(data) { + return request({ + url: '/role', + method: 'post', + data + }) +} + +// 修改 +export function putRole(id, data) { + return request({ + url: `/role/${id}`, + method: 'put', + data }) } diff --git a/frontend/src/views/main/system/role/conf.js b/frontend/src/views/main/system/role/conf.js new file mode 100644 index 0000000..288de5b --- /dev/null +++ b/frontend/src/views/main/system/role/conf.js @@ -0,0 +1,49 @@ +export const columns = [ + { + title: 'ID', + dataIndex: 'id', + key: 'id' + }, + { + title: '名称', + dataIndex: 'name', + key: 'name' + }, + { + title: '描述', + dataIndex: 'remark', + key: 'remark' + }, + { + title: '状态', + dataIndex: 'status', + key: 'status' + }, + { + title: '创建时间', + dataIndex: 'created', + key: 'created' + }, + { + title: '更新时间', + dataIndex: 'modified', + key: 'modified' + }, + { + title: '操作', + key: 'action' + } +] + +export const addRoleRules = [ + { + name: [ + { required: true, message: '请输入名称', trigger: 'blur' }, + { min: 3, max: 12, message: '3-12', trigger: 'blur' } + ], + remark: [ + { required: true, message: '请输入描述', trigger: 'blur' }, + { min: 1, max: 20, message: '1~20', trigger: 'blur' } + ] + } +] diff --git a/frontend/src/views/main/system/role/role.vue b/frontend/src/views/main/system/role/role.vue index dc6f494..678a2a9 100644 --- a/frontend/src/views/main/system/role/role.vue +++ b/frontend/src/views/main/system/role/role.vue @@ -1,7 +1,268 @@ - + - +