diff --git a/frontend/src/assets/style/arco-reset.less b/frontend/src/assets/style/arco-reset.less index 74cc039d39..621c4a71ab 100644 --- a/frontend/src/assets/style/arco-reset.less +++ b/frontend/src/assets/style/arco-reset.less @@ -315,6 +315,13 @@ border: 1px solid var(--color-text-input-border); } } +.arco-checkbox-indeterminate .arco-checkbox-icon { + border-color: rgba(var(--primary-7)); + background-color: rgba(var(--primary-1)); + &::after { + background-color: rgb(var(--primary-7)); + } +} .arco-checkbox-disabled, .arco-checkbox-disabled:hover { .arco-checkbox-icon { diff --git a/frontend/src/components/pure/ms-table/select-all.vue b/frontend/src/components/pure/ms-table/select-all.vue index 68c0bea41a..a31ac57640 100644 --- a/frontend/src/components/pure/ms-table/select-all.vue +++ b/frontend/src/components/pure/ms-table/select-all.vue @@ -73,11 +73,9 @@ font-size: 12px; border-radius: 50%; color: var(--color-text-4); - background-color: rgb(var(--primary-3)); } .dropdown-icon:hover { color: rgb(var(--primary-5)); - background-color: transparent; } } diff --git a/frontend/src/models/setting/usergroup.ts b/frontend/src/models/setting/usergroup.ts index f554a48426..d94047e53b 100644 --- a/frontend/src/models/setting/usergroup.ts +++ b/frontend/src/models/setting/usergroup.ts @@ -13,11 +13,9 @@ export interface CustomMoreActionItem { eventKey: string; name: string; } -export interface PopVisibleItem { - [key: string]: boolean; -} export type RenameType = 'rename' | 'auth'; +export type AuthScopeType = 'SYSTEM' | 'PROJECT' | 'ORGANIZATION'; export interface UserGroupItem { // 组ID @@ -29,7 +27,7 @@ export interface UserGroupItem { // 是否是内置用户组 internal: true; // 所属类型 - type: string; + type: AuthScopeType; createTime: number; updateTime: number; // 创建人 @@ -59,8 +57,6 @@ export interface UserGroupPermissionItem { license: boolean; } -export type AuthScopeType = 'SYSTEM' | 'PROJECT' | 'ORGANIZATION'; - // 用户组对应的权限配置 export interface UserGroupAuthSetting { // 菜单项ID @@ -122,3 +118,15 @@ export interface UserTableItem { deleted: boolean; [key: string]: string | boolean | number; } + +export type MoreActionType = 'rename' | 'addMember' | 'create'; + +export interface PopVisibleItem { + id?: string; + visible: boolean; + authScope: AuthScopeType; + defaultName: string; +} +export interface PopVisible { + [key: string]: PopVisibleItem; +} diff --git a/frontend/src/views/setting/organization/usergroup/components/index.vue b/frontend/src/views/setting/organization/usergroup/components/index.vue index 26431dbbaf..01197ab3b0 100644 --- a/frontend/src/views/setting/organization/usergroup/components/index.vue +++ b/frontend/src/views/setting/organization/usergroup/components/index.vue @@ -82,7 +82,7 @@ diff --git a/frontend/src/views/setting/system/usergroup/components/createOrUpdateUserGroup.vue b/frontend/src/views/setting/system/usergroup/components/createOrUpdateUserGroup.vue new file mode 100644 index 0000000000..7a8824f30f --- /dev/null +++ b/frontend/src/views/setting/system/usergroup/components/createOrUpdateUserGroup.vue @@ -0,0 +1,128 @@ + + + + + + + {{ + props.id ? t('system.userGroup.rename') : t('system.userGroup.createUserGroup') + }} + + + + + + + + + {{ t('common.cancel') }} + + + {{ props.id ? t('common.rename') : t('common.create') }} + + + + + + + + diff --git a/frontend/src/views/setting/system/usergroup/components/index.vue b/frontend/src/views/setting/system/usergroup/components/index.vue deleted file mode 100644 index 632e262998..0000000000 --- a/frontend/src/views/setting/system/usergroup/components/index.vue +++ /dev/null @@ -1,241 +0,0 @@ - - - - - {{ t('system.userGroup.global') }} - - - - - handlePopConfirmCancel(element.id)" - @submit="(value: CustomMoreActionItem) => handlePopConfirmSubmit(value,element.id)" - > - - - - {{ element.name }} - ({{ t(`system.userGroup.${element.type}`) }}) - - - - handleMoreAction(value, element.id)" /> - - - - - - - - - - - diff --git a/frontend/src/views/setting/system/usergroup/components/ms-usergroup-list.vue b/frontend/src/views/setting/system/usergroup/components/ms-usergroup-list.vue new file mode 100644 index 0000000000..7534d47e0b --- /dev/null +++ b/frontend/src/views/setting/system/usergroup/components/ms-usergroup-list.vue @@ -0,0 +1,454 @@ + + + + + + + + + + {{ t('system.userGroup.systemUserGroup') }} + + + + + + + + + + + + + + {{ element.name }} + + + + + + + + handleMoreAction(value, element.id, 'SYSTEM')"> + + + + + + + + + + + + + + + + + + + + {{ t('system.userGroup.orgUserGroup') }} + + + + + + + + + + + + + + {{ element.name }} + + + + + + + + handleMoreAction(value, element.id, 'ORGANIZATION')" + > + + + + + + + + + + + + + + + + + + + + {{ t('system.userGroup.projectUserGroup') }} + + + + + + + + + + + + + + {{ element.name }} + + + + + + + + handleMoreAction(value, element.id, 'PROJECT')"> + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/views/setting/system/usergroup/components/popconfirm.vue b/frontend/src/views/setting/system/usergroup/components/popconfirm.vue deleted file mode 100644 index d43f03867c..0000000000 --- a/frontend/src/views/setting/system/usergroup/components/popconfirm.vue +++ /dev/null @@ -1,142 +0,0 @@ - - (form.name = '')" - > - {{ null }} - - - - {{ message.title }} - - - - - {{ t('system.userGroup.SYSTEM') }} - {{ t('system.userGroup.ORGANIZATION') }} - {{ t('system.userGroup.PROJECT') }} - - - - - - - - - - - -@/models/setting/usergroup diff --git a/frontend/src/views/setting/system/usergroup/index.vue b/frontend/src/views/setting/system/usergroup/index.vue index 77265e86b6..ea361639c2 100644 --- a/frontend/src/views/setting/system/usergroup/index.vue +++ b/frontend/src/views/setting/system/usergroup/index.vue @@ -52,7 +52,7 @@ import { useI18n } from '@/hooks/useI18n'; import MsCard from '@/components/pure/ms-card/index.vue'; import useUserGroupStore from '@/store/modules/setting/system/usergroup'; - import UserGroupLeft from './components/index.vue'; + import UserGroupLeft from './components/ms-usergroup-list.vue'; import UserTable from './components/userTable.vue'; import AuthTable from './components/authTable.vue'; import MsIcon from '@/components/pure/ms-icon-font/index.vue'; diff --git a/frontend/src/views/setting/system/usergroup/locale/en-US.ts b/frontend/src/views/setting/system/usergroup/locale/en-US.ts index 57df164942..7973d49afb 100644 --- a/frontend/src/views/setting/system/usergroup/locale/en-US.ts +++ b/frontend/src/views/setting/system/usergroup/locale/en-US.ts @@ -4,11 +4,14 @@ export default { addUserGroupSuccess: 'Add user group success', updateUserGroupSuccess: 'Update user group success', searchHolder: 'Please input user group name', + systemUserGroup: 'System user group', inSystem: 'In system', customUserGroup: 'Custom user group', addSystemUserGroup: 'Add system user group', addSystemUser: 'Add system user', addUser: 'Add user', + addMember: 'Add member', + createUserGroup: 'Create user group', emptyUserGroup: 'There are currently no custom user groups available. Please click "Create" or "+" above to create a user group', rename: 'Rename', @@ -18,7 +21,6 @@ export default { add: 'Add', cancel: 'Cancel', create: 'Create', - createUserGroup: 'create user group', userGroupName: 'User group name', authScope: 'Auth scope', auth: 'Auth', @@ -58,6 +60,11 @@ export default { removeName: 'Confirm to remove {name} this user', removeTip: 'After removal, the User Group permission will be lost', custom: 'Custom user group', + projectUserGroup: 'Project user group', + orgUserGroup: 'Organization user group', + addSysUserGroup: 'Add system user group', + addOrgUserGroup: 'Add organization user group', + addProjectUserGroup: 'Add project user group', }, }, permission: { diff --git a/frontend/src/views/setting/system/usergroup/locale/zh-CN.ts b/frontend/src/views/setting/system/usergroup/locale/zh-CN.ts index 8ca8a451c3..51d1384612 100644 --- a/frontend/src/views/setting/system/usergroup/locale/zh-CN.ts +++ b/frontend/src/views/setting/system/usergroup/locale/zh-CN.ts @@ -3,6 +3,7 @@ export default { userGroup: { addUserGroupSuccess: '添加用户组成功', updateUserGroupSuccess: '更新用户组成功', + systemUserGroup: '系统用户组', global: '全局用户组', searchHolder: '请输入用户组名称', inSystem: '系统内置', @@ -10,6 +11,7 @@ export default { addSystemUserGroup: '添加系统用户组', addSystemUser: '添加系统用户', addUser: '添加成员', + addMember: '添加成员', emptyUserGroup: '暂无自定义用户组,请点击上方创建或 “+” 创建用户组', rename: '重命名', changeAuthScope: '修改权限范围', @@ -57,6 +59,11 @@ export default { removeName: '确认移除 {name} 这个用户吗', removeTip: '移除后,将失去用户组权限', custom: '自定义用户组', + projectUserGroup: '项目用户组', + orgUserGroup: '组织用户组', + addSysUserGroup: '添加系统用户组', + addOrgUserGroup: '添加组织用户组', + addProjectUserGroup: '添加项目用户组', }, }, permission: {