diff --git a/src/apis/system/menu.ts b/src/apis/system/menu.ts index 29b9540..5702f6c 100644 --- a/src/apis/system/menu.ts +++ b/src/apis/system/menu.ts @@ -6,7 +6,7 @@ export type * from './type' const BASE_URL = '/system/menu' /** @desc 查询菜单列表 */ -export function listMenu(query: T.MenuQuery) { +export function listMenu(query?: T.MenuQuery) { return http.get(`${BASE_URL}/tree`, query) } diff --git a/src/apis/system/role.ts b/src/apis/system/role.ts index 2b40920..35d7168 100644 --- a/src/apis/system/role.ts +++ b/src/apis/system/role.ts @@ -6,8 +6,8 @@ export type * from './type' const BASE_URL = '/system/role' /** @desc 查询角色列表 */ -export function listRole(query: T.RolePageQuery) { - return http.get>(`${BASE_URL}`, query) +export function listRole(query: T.RoleQuery) { + return http.get(`${BASE_URL}/list`, query) } /** @desc 查询角色详情 */ @@ -30,12 +30,27 @@ export function deleteRole(ids: string | Array) { return http.del(`${BASE_URL}/${ids}`) } +/** @desc 修改角色权限 */ +export function updateRolePermission(id: string, data: any) { + return http.put(`${BASE_URL}/${id}/permission`, data) +} + /** @desc 查询角色关联用户 */ -export function listRoleUsers(id: string) { - return http.get(`${BASE_URL}/${id}/user`) +export function listRoleUser(id: string, query: T.RoleUserPageQuery) { + return http.get>(`${BASE_URL}/${id}/user`, query) } /** @desc 分配角色给用户 */ export function assignToUsers(id: string, userIds: Array) { return http.post(`${BASE_URL}/${id}/user`, userIds) } + +/** @desc 取消分配角色给用户 */ +export function unassignFromUsers(userRoleIds: Array) { + return http.del(`${BASE_URL}/user`, userRoleIds) +} + +/** @desc 查询角色关联用户 ID */ +export function listRoleUserId(id: string) { + return http.get(`${BASE_URL}/${id}/user/id`) +} diff --git a/src/apis/system/type.ts b/src/apis/system/type.ts index bce9da2..e6b18e4 100644 --- a/src/apis/system/type.ts +++ b/src/apis/system/type.ts @@ -38,6 +38,7 @@ export interface UserQuery { deptId?: string sort: Array userIds?: Array + excludeUserIds?: Array } export interface UserPageQuery extends UserQuery, PageQuery {} @@ -62,11 +63,29 @@ export type RoleDetailResp = RoleResp & { menuCheckStrictly: boolean deptCheckStrictly: boolean } +export interface RoleUserResp { + id: string + username: string + nickname: string + gender: number + description: string + status: 1 | 2 + isSystem?: boolean + deptId: string + deptName: string + roleIds: Array + roleNames: Array + disabled: boolean +} export interface RoleQuery { description?: string sort: Array } -export interface RolePageQuery extends RoleQuery, PageQuery {} +export interface RoleUserQuery { + description?: string + sort: Array +} +export interface RoleUserPageQuery extends RoleUserQuery, PageQuery {} /** 菜单类型 */ export interface MenuResp { diff --git a/src/components/SplitPanel/index.vue b/src/components/SplitPanel/index.vue index 529c63a..1b06f3a 100644 --- a/src/components/SplitPanel/index.vue +++ b/src/components/SplitPanel/index.vue @@ -219,7 +219,7 @@ onUnmounted(() => { overflow: hidden; :deep(.arco-table-border .arco-table-container) { - border: none; + // do nothing } } diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue index 148796c..d757cb8 100644 --- a/src/components/UserSelect/index.vue +++ b/src/components/UserSelect/index.vue @@ -94,11 +94,13 @@ const emit = defineEmits<{ interface Props { multiple?: boolean value: string | string[] + excludeValue?: string[] } // 查询表单 const queryForm = reactive({ sort: ['t1.createTime,desc', 't1.id,desc'], + excludeUserIds: props.excludeValue, }) // 用户列表 diff --git a/src/styles/global.scss b/src/styles/global.scss index 88412b6..c326a7c 100644 --- a/src/styles/global.scss +++ b/src/styles/global.scss @@ -313,6 +313,31 @@ } } +.gi_tabs { + display: flex; + flex-direction: column; + overflow: hidden; + height: 100%; + + .arco-tabs-content { + flex: 1; + overflow: hidden; + + .arco-tabs-content-list { + height: 100%; + } + + .arco-tabs-content-item { + height: 100%; + } + + .arco-tabs-pane { + height: 100%; + overflow: hidden; + } + } +} + .detail{ height: 100%; display: flex; @@ -517,4 +542,4 @@ ::view-transition-new(root), .dark::view-transition-old(root) { z-index: 9999; -} \ No newline at end of file +} diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue index b5d5c24..42a1de3 100644 --- a/src/views/system/dict/index.vue +++ b/src/views/system/dict/index.vue @@ -132,7 +132,7 @@ const reset = () => { // 删除 const onDelete = (record: DictItemResp) => { return handleDelete(() => deleteDictItem(record.id), { - content: `是否确定删除字典「${record.label}」?`, + content: `是否确定删除字典项「${record.label}」?`, showModal: true, }) } diff --git a/src/views/system/dict/tree/index.vue b/src/views/system/dict/tree/index.vue index 296d2b5..a4592e0 100644 --- a/src/views/system/dict/tree/index.vue +++ b/src/views/system/dict/tree/index.vue @@ -125,7 +125,7 @@ const onMenuItemClick = (mode: string, node: DictResp) => { } else if (mode === 'delete') { Modal.warning({ title: '提示', - content: `是否确定删除 [${node.name}]?`, + content: `是否确定删除字典「${node.name}」?`, hideCancel: false, okButtonProps: { status: 'danger' }, onBeforeOk: async () => { diff --git a/src/views/system/file/main/FileMain/index.vue b/src/views/system/file/main/FileMain/index.vue index 2395b53..a594f13 100644 --- a/src/views/system/file/main/FileMain/index.vue +++ b/src/views/system/file/main/FileMain/index.vue @@ -183,7 +183,7 @@ const handleRightMenuClick = async (mode: string, fileInfo: FileItem) => { if (mode === 'delete') { Modal.warning({ title: '提示', - content: `是否确定删除文件 [${fileInfo.name}]?`, + content: `是否确定删除文件「${fileInfo.name}」?`, hideCancel: false, okButtonProps: { status: 'danger' }, onOk: async () => { diff --git a/src/views/system/role/RoleUpdateDrawer.vue b/src/views/system/role/RoleAddDrawer.vue similarity index 62% rename from src/views/system/role/RoleUpdateDrawer.vue rename to src/views/system/role/RoleAddDrawer.vue index e070999..a503f85 100644 --- a/src/views/system/role/RoleUpdateDrawer.vue +++ b/src/views/system/role/RoleAddDrawer.vue @@ -1,7 +1,7 @@ - - diff --git a/src/views/system/role/components/Pane1.vue b/src/views/system/role/components/Pane1.vue new file mode 100644 index 0000000..c171e66 --- /dev/null +++ b/src/views/system/role/components/Pane1.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/src/views/system/role/components/Pane2.vue b/src/views/system/role/components/Pane2.vue new file mode 100644 index 0000000..f971d28 --- /dev/null +++ b/src/views/system/role/components/Pane2.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index de6d27f..64d6294 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -1,160 +1,39 @@