refactor: role setting
This commit is contained in:
parent
62cb3704cf
commit
efa2335b8d
@ -38,7 +38,7 @@ const systemRouter = {
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
|
||||
[PermissionConst.ROLE_READ, PermissionConst.WORKSPACE_ROLE_READ],
|
||||
[EditionConst.IS_EE],
|
||||
[EditionConst.IS_EE, EditionConst.IS_PE],
|
||||
'OR',
|
||||
),
|
||||
],
|
||||
|
||||
@ -19,7 +19,7 @@ const workspaceApiMap = {
|
||||
*/
|
||||
|
||||
export function loadPermissionApi(type: string) {
|
||||
if (hasPermission(EditionConst.IS_EE, 'OR')) {
|
||||
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
||||
if (hasPermission(new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.ROLE_READ],
|
||||
@ -27,7 +27,8 @@ export function loadPermissionApi(type: string) {
|
||||
'OR'), 'OR')) {
|
||||
// 加载系统管理员 API
|
||||
return systemApiMap[type]
|
||||
} if (hasPermission(new ComplexPermission (
|
||||
}
|
||||
if (hasPermission(new ComplexPermission(
|
||||
[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
|
||||
[PermissionConst.WORKSPACE_ROLE_READ.getWorkspacePermissionWorkspaceManageRole],
|
||||
[],
|
||||
|
||||
@ -31,7 +31,9 @@ import type { RoleItem } from '@/api/type/role'
|
||||
import {MsgSuccess} from '@/utils/message'
|
||||
import {RoleTypeEnum} from '@/enums/system'
|
||||
import {loadPermissionApi} from '@/utils/dynamics-api/permission-api'
|
||||
import useStore from "@/stores";
|
||||
|
||||
const {user} = useStore()
|
||||
const props = defineProps<{
|
||||
currentRole?: RoleItem
|
||||
}>()
|
||||
@ -117,7 +119,9 @@ function init() {
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await getUserFormItem()
|
||||
if (user.isEE()) {
|
||||
await getWorkspaceFormItem()
|
||||
}
|
||||
init()
|
||||
})
|
||||
|
||||
@ -131,12 +135,15 @@ function handleCancel() {
|
||||
}
|
||||
|
||||
const memberFormContentRef = ref<InstanceType<typeof MemberFormContent>>()
|
||||
|
||||
function handleAdd() {
|
||||
memberFormContentRef.value?.validate().then(async (valid: any) => {
|
||||
if (valid) {
|
||||
let params
|
||||
if (props.currentRole?.type === RoleTypeEnum.ADMIN) {
|
||||
params = list.value.map((item) => ({user_ids: item.user_ids, workspace_ids: ['None']}))
|
||||
} else if (user.isPE()) {
|
||||
params = list.value.map((item) => ({user_ids: item.user_ids, workspace_ids: ['default']}))
|
||||
}
|
||||
await loadPermissionApi('role').CreateMember(
|
||||
props.currentRole?.id as string,
|
||||
|
||||
@ -53,11 +53,11 @@
|
||||
<span>{{ userForm.password }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<h4 class="title-decoration-1 mb-16 mt-8" v-if="user.isEE()">
|
||||
<h4 class="title-decoration-1 mb-16 mt-8" v-if="user.isEE() || user.isPE()">
|
||||
{{ $t('views.userManage.roleSetting') }}</h4>
|
||||
<MemberFormContent ref="memberFormContentRef" :models="formItemModel" v-model:form="list"
|
||||
v-loading="memberFormContentLoading"
|
||||
:addText="$t('views.userManage.addRole')" v-if="user.isEE()"/>
|
||||
:addText="$t('views.userManage.addRole')" v-if="user.isEE() || user.isPE()"/>
|
||||
<template #footer>
|
||||
<el-button @click.prevent="visible = false"> {{ $t('common.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submit(userFormRef)" :loading="loading">
|
||||
@ -152,9 +152,11 @@ async function getWorkspaceFormItem() {
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
if (user.isEE()) {
|
||||
if (user.isEE() || user.isPE()) {
|
||||
await getRoleFormItem();
|
||||
if (user.isEE()) {
|
||||
await getWorkspaceFormItem();
|
||||
}
|
||||
formItemModel.value = [...roleFormItem.value, ...workspaceFormItem.value]
|
||||
}
|
||||
list.value = [{role_id: '', workspace_ids: []}]
|
||||
@ -262,10 +264,17 @@ const submit = async (formEl: FormInstance | undefined) => {
|
||||
if (memberFormContentRef.value) {
|
||||
await memberFormContentRef.value?.validate()
|
||||
}
|
||||
if (user.isPE()) {
|
||||
list.value = list.value.map(item => ({
|
||||
...item,
|
||||
workspace_ids: adminRoleList.value.find(item1 => item1.id === item.role_id) ? ['None'] : ['default']
|
||||
}))
|
||||
}
|
||||
const params = {
|
||||
...userForm.value,
|
||||
role_setting: list.value
|
||||
}
|
||||
console.log(list.value)
|
||||
if (isEdit.value) {
|
||||
userManageApi.putUserManage(userForm.value.id, params, loading).then((res) => {
|
||||
emit('refresh')
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="role" :label="$t('views.role.member.role')" min-width="100"
|
||||
v-if="user.isEE()">
|
||||
v-if="user.isEE() || user.isPE()">
|
||||
<template #default="{ row }">
|
||||
<TagGroup :tags="row.role"/>
|
||||
</template>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user