refactor: chat user api
This commit is contained in:
parent
f73721c73e
commit
63c836da04
116
ui/src/api/system/workspace.ts
Normal file
116
ui/src/api/system/workspace.ts
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
import { Result } from '@/request/Result'
|
||||||
|
import type { Ref } from 'vue'
|
||||||
|
import { get, post, del } from '@/request/index'
|
||||||
|
import type { WorkspaceItem, CreateWorkspaceMemberParamsItem, WorkspaceMemberItem } from '@/api/type/workspace'
|
||||||
|
import type { pageRequest, PageList } from '@/api/type/common'
|
||||||
|
|
||||||
|
const prefix = '/system/workspace'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取首页的工作空间下拉列表
|
||||||
|
*/
|
||||||
|
const getWorkspaceListByUser: (loading?: Ref<boolean>) => Promise<Result<WorkspaceItem[]>> = (loading) => {
|
||||||
|
return get('/workspace/by_user', undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取添加成员时的工作空间下拉列表
|
||||||
|
*/
|
||||||
|
const getWorkspaceList: (loading?: Ref<boolean>) => Promise<Result<Record<string, any>[]>> = (loading) => {
|
||||||
|
return get('/workspace/current_user', undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工作空间列表
|
||||||
|
*/
|
||||||
|
const getSystemWorkspaceList: (loading?: Ref<boolean>) => Promise<Result<WorkspaceItem[]>> = (loading) => {
|
||||||
|
return get(`${prefix}`, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新建或更新工作空间
|
||||||
|
*/
|
||||||
|
const CreateOrUpdateWorkspace: (
|
||||||
|
data: WorkspaceItem,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (data, loading) => {
|
||||||
|
return post(`${prefix}`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除工作空间前的校验
|
||||||
|
*/
|
||||||
|
const deleteWorkspaceCheck: (workspace_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
||||||
|
workspace_id,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return get(`${prefix}/${workspace_id}/check`, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除工作空间
|
||||||
|
*/
|
||||||
|
const deleteWorkspace: (workspace_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
|
workspace_id,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return del(`${prefix}/${workspace_id}`, undefined, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工作空间成员列表
|
||||||
|
*/
|
||||||
|
const getWorkspaceMemberList: (
|
||||||
|
workspace_id: string,
|
||||||
|
page: pageRequest,
|
||||||
|
param: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<PageList<WorkspaceMemberItem[]>>> = (workspace_id, page, param, loading) => {
|
||||||
|
return get(
|
||||||
|
`${prefix}/${workspace_id}/user_list/${page.current_page}/${page.page_size}`,
|
||||||
|
param,
|
||||||
|
loading,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新建工作空间成员
|
||||||
|
*/
|
||||||
|
const CreateWorkspaceMember: (
|
||||||
|
workspace_id: string,
|
||||||
|
data: CreateWorkspaceMemberParamsItem[],
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (workspace_id, data, loading) => {
|
||||||
|
return post(`${prefix}/${workspace_id}/add_member`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除工作空间成员
|
||||||
|
*/
|
||||||
|
const deleteWorkspaceMember: (workspace_id: string, user_relation_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
||||||
|
workspace_id,
|
||||||
|
user_relation_id,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return post(`${prefix}/${workspace_id}/remove_member/${user_relation_id}`, undefined, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取添加成员时的角色下拉列表
|
||||||
|
*/
|
||||||
|
const getWorkspaceRoleList: (loading?: Ref<boolean>) => Promise<Result<Record<string, any>[]>> = (loading) => {
|
||||||
|
return get('/role_list/current_user', undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
getWorkspaceList,
|
||||||
|
getSystemWorkspaceList,
|
||||||
|
CreateOrUpdateWorkspace,
|
||||||
|
deleteWorkspace,
|
||||||
|
getWorkspaceMemberList,
|
||||||
|
CreateWorkspaceMember,
|
||||||
|
deleteWorkspaceMember,
|
||||||
|
getWorkspaceRoleList,
|
||||||
|
getWorkspaceListByUser,
|
||||||
|
deleteWorkspaceCheck
|
||||||
|
}
|
||||||
105
ui/src/api/workspace/chat-user.ts
Normal file
105
ui/src/api/workspace/chat-user.ts
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
import {Result} from '@/request/Result'
|
||||||
|
import {get, put, post, del} from '@/request/index'
|
||||||
|
import type {pageRequest, PageList} from '@/api/type/common'
|
||||||
|
import type {ChatUserItem} from '@/api/type/systemChatUser'
|
||||||
|
import type {Ref} from 'vue'
|
||||||
|
|
||||||
|
const prefix = '/workspace/chat_user'
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户列表
|
||||||
|
*/
|
||||||
|
const getChatUserList: (loading?: Ref<boolean>) => Promise<Result<ChatUserItem[]>> = (loading) => {
|
||||||
|
return get(`${prefix}/list`, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户分页列表
|
||||||
|
* @query 参数
|
||||||
|
username_or_nickname: string
|
||||||
|
*/
|
||||||
|
const getUserManage: (
|
||||||
|
page: pageRequest,
|
||||||
|
params?: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<PageList<ChatUserItem[]>>> = (page, params, loading) => {
|
||||||
|
return get(
|
||||||
|
`${prefix}/user_manage/${page.current_page}/${page.page_size}`,
|
||||||
|
params ? params : undefined,
|
||||||
|
loading,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户
|
||||||
|
* @param 参数 user_id,
|
||||||
|
*/
|
||||||
|
const delUserManage: (user_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
|
user_id,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return del(`${prefix}/${user_id}`, undefined, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户
|
||||||
|
*/
|
||||||
|
const postUserManage: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
||||||
|
data,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return post(`${prefix}`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑用户
|
||||||
|
*/
|
||||||
|
const putUserManage: (
|
||||||
|
user_id: string,
|
||||||
|
data: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (user_id, data, loading) => {
|
||||||
|
return put(`${prefix}/${user_id}`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户密码
|
||||||
|
*/
|
||||||
|
const putUserManagePassword: (
|
||||||
|
user_id: string,
|
||||||
|
data: any,
|
||||||
|
loading?: Ref<boolean>
|
||||||
|
) => Promise<Result<any>> = (user_id, data, loading) => {
|
||||||
|
return put(`${prefix}/${user_id}/re_password`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置用户组
|
||||||
|
*/
|
||||||
|
const batchAddGroup: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
||||||
|
data,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return post(`${prefix}/batch_add_group`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
const batchDelete: (data: string[], loading?: Ref<boolean>) => Promise<Result<any>> = (
|
||||||
|
data,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return post(`${prefix}/batch_delete`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
getUserManage,
|
||||||
|
putUserManage,
|
||||||
|
delUserManage,
|
||||||
|
postUserManage,
|
||||||
|
putUserManagePassword,
|
||||||
|
getChatUserList,
|
||||||
|
batchAddGroup,
|
||||||
|
batchDelete,
|
||||||
|
}
|
||||||
86
ui/src/api/workspace/user-group.ts
Normal file
86
ui/src/api/workspace/user-group.ts
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import {Result} from '@/request/Result'
|
||||||
|
import {get, post, del} from '@/request/index'
|
||||||
|
import type {Ref} from 'vue'
|
||||||
|
import type {ChatUserGroupUserItem,} from '@/api/type/systemChatUser'
|
||||||
|
import type {pageRequest, PageList, ListItem} from '@/api/type/common'
|
||||||
|
|
||||||
|
const prefix = '/workspace/group'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户组列表
|
||||||
|
*/
|
||||||
|
const getUserGroup: (loading?: Ref<boolean>) => Promise<Result<ListItem[]>> = () => {
|
||||||
|
return get(`${prefix}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户组
|
||||||
|
* @param 参数
|
||||||
|
* {
|
||||||
|
"id": "string",
|
||||||
|
"name": "string"
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
const postUserGroup: (data: ListItem, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
|
data,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return post(`${prefix}`, data, undefined, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户组
|
||||||
|
* @param 参数 user_group_id
|
||||||
|
*/
|
||||||
|
const delUserGroup: (user_group_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
|
user_group_id,
|
||||||
|
loading,
|
||||||
|
) => {
|
||||||
|
return del(`${prefix}/${user_group_id}`, undefined, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 给用户组添加用户
|
||||||
|
*/
|
||||||
|
const postAddMember: (
|
||||||
|
user_group_id: string,
|
||||||
|
body: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (user_group_id, body, loading) => {
|
||||||
|
return post(`${prefix}/${user_group_id}/add_member`, body, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 从用户组删除用户
|
||||||
|
*/
|
||||||
|
const postRemoveMember: (
|
||||||
|
user_group_id: string,
|
||||||
|
body: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<any>> = (user_group_id, body, loading) => {
|
||||||
|
return post(`${prefix}/${user_group_id}/remove_member`, body, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户组的成员列表
|
||||||
|
*/
|
||||||
|
const getUserListByGroup: (
|
||||||
|
user_group_id: string,
|
||||||
|
page: pageRequest,
|
||||||
|
params ?: any,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (user_group_id, page, params, loading) => {
|
||||||
|
return get(
|
||||||
|
`${prefix}/${user_group_id}/user_list/${page.current_page}/${page.page_size}`,
|
||||||
|
params ? params : undefined,
|
||||||
|
loading,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
getUserGroup,
|
||||||
|
postUserGroup,
|
||||||
|
delUserGroup,
|
||||||
|
postAddMember,
|
||||||
|
postRemoveMember,
|
||||||
|
getUserListByGroup
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@ import { get, post, del } from '@/request/index'
|
|||||||
import type { WorkspaceItem, CreateWorkspaceMemberParamsItem, WorkspaceMemberItem } from '@/api/type/workspace'
|
import type { WorkspaceItem, CreateWorkspaceMemberParamsItem, WorkspaceMemberItem } from '@/api/type/workspace'
|
||||||
import type { pageRequest, PageList } from '@/api/type/common'
|
import type { pageRequest, PageList } from '@/api/type/common'
|
||||||
|
|
||||||
const prefix = '/system/workspace'
|
const prefix = '/workspace'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取首页的工作空间下拉列表
|
* 获取首页的工作空间下拉列表
|
||||||
@ -27,35 +27,6 @@ const getSystemWorkspaceList: (loading?: Ref<boolean>) => Promise<Result<Workspa
|
|||||||
return get(`${prefix}`, undefined, loading)
|
return get(`${prefix}`, undefined, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 新建或更新工作空间
|
|
||||||
*/
|
|
||||||
const CreateOrUpdateWorkspace: (
|
|
||||||
data: WorkspaceItem,
|
|
||||||
loading?: Ref<boolean>,
|
|
||||||
) => Promise<Result<any>> = (data, loading) => {
|
|
||||||
return post(`${prefix}`, data, undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除工作空间前的校验
|
|
||||||
*/
|
|
||||||
const deleteWorkspaceCheck: (workspace_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
workspace_id,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return get(`${prefix}/${workspace_id}/check`, undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除工作空间
|
|
||||||
*/
|
|
||||||
const deleteWorkspace: (workspace_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
|
||||||
workspace_id,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return del(`${prefix}/${workspace_id}`, undefined, {}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取工作空间成员列表
|
* 获取工作空间成员列表
|
||||||
@ -105,12 +76,9 @@ const getWorkspaceRoleList: (loading?: Ref<boolean>) => Promise<Result<Record<st
|
|||||||
export default {
|
export default {
|
||||||
getWorkspaceList,
|
getWorkspaceList,
|
||||||
getSystemWorkspaceList,
|
getSystemWorkspaceList,
|
||||||
CreateOrUpdateWorkspace,
|
|
||||||
deleteWorkspace,
|
|
||||||
getWorkspaceMemberList,
|
getWorkspaceMemberList,
|
||||||
CreateWorkspaceMember,
|
CreateWorkspaceMember,
|
||||||
deleteWorkspaceMember,
|
deleteWorkspaceMember,
|
||||||
getWorkspaceRoleList,
|
getWorkspaceRoleList,
|
||||||
getWorkspaceListByUser,
|
getWorkspaceListByUser,
|
||||||
deleteWorkspaceCheck
|
}
|
||||||
}
|
|
||||||
|
|||||||
@ -2,16 +2,28 @@ import {PermissionConst, EditionConst, RoleConst} from '@/utils/permission/data'
|
|||||||
import {hasPermission} from '@/utils/permission/index'
|
import {hasPermission} from '@/utils/permission/index'
|
||||||
import roleSystemApi from '@/api/system/role'
|
import roleSystemApi from '@/api/system/role'
|
||||||
import roleWorkspaceApi from '@/api/workspace/role'
|
import roleWorkspaceApi from '@/api/workspace/role'
|
||||||
|
import systemWorkspaceApi from '@/api/system/workspace'
|
||||||
|
import workspaceApi from '@/api/workspace/workspace'
|
||||||
|
import systemChatUserApi from '@/api/system/chat-user'
|
||||||
|
import workspaceChatUserApi from '@/api/workspace/chat-user'
|
||||||
|
import systemUserGroupApi from '@/api/system/user-group'
|
||||||
|
import workspaceUserGroupApi from '@/api/workspace/user-group'
|
||||||
import {ComplexPermission} from '../permission/type'
|
import {ComplexPermission} from '../permission/type'
|
||||||
|
|
||||||
// 系统管理员 API
|
// 系统管理员 API
|
||||||
const systemApiMap = {
|
const systemApiMap = {
|
||||||
role: roleSystemApi,
|
role: roleSystemApi,
|
||||||
|
workspace: systemWorkspaceApi,
|
||||||
|
chatUser: systemChatUserApi,
|
||||||
|
userGroup: systemUserGroupApi
|
||||||
} as any
|
} as any
|
||||||
|
|
||||||
// 企业版工作空间管理员 API
|
// 企业版工作空间管理员 API
|
||||||
const workspaceApiMap = {
|
const workspaceApiMap = {
|
||||||
role: roleWorkspaceApi,
|
role: roleWorkspaceApi,
|
||||||
|
workspace: workspaceApi,
|
||||||
|
chatUser: workspaceChatUserApi,
|
||||||
|
userGroup: workspaceUserGroupApi
|
||||||
} as any
|
} as any
|
||||||
|
|
||||||
/** 动态导入 API 模块的函数
|
/** 动态导入 API 模块的函数
|
||||||
@ -20,19 +32,10 @@ const workspaceApiMap = {
|
|||||||
|
|
||||||
export function loadPermissionApi(type: string) {
|
export function loadPermissionApi(type: string) {
|
||||||
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
||||||
if (hasPermission(new ComplexPermission(
|
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
|
||||||
[RoleConst.ADMIN],
|
|
||||||
[PermissionConst.ROLE_READ],
|
|
||||||
[],
|
|
||||||
'OR'), 'OR')) {
|
|
||||||
// 加载系统管理员 API
|
// 加载系统管理员 API
|
||||||
return systemApiMap[type]
|
return systemApiMap[type]
|
||||||
}
|
} else if (hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.EXTENDS_WORKSPACE_MANAGE.getWorkspaceRole], 'OR')) {
|
||||||
if (hasPermission(new ComplexPermission(
|
|
||||||
[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
|
|
||||||
[PermissionConst.WORKSPACE_ROLE_READ.getWorkspacePermissionWorkspaceManageRole],
|
|
||||||
[],
|
|
||||||
'OR'), 'OR')) {
|
|
||||||
// 加载企业版工作空间管理员 API
|
// 加载企业版工作空间管理员 API
|
||||||
return workspaceApiMap[type]
|
return workspaceApiMap[type]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import userManageApi from '@/api/system/chat-user'
|
import userManageApi from '@/api/system/chat-user'
|
||||||
import type { ListItem } from '@/api/type/common'
|
import type { ListItem } from '@/api/type/common'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
optionLoading: boolean,
|
optionLoading: boolean,
|
||||||
@ -73,7 +74,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
userManageApi.batchAddGroup(form.value, loading).then(() => {
|
loadPermissionApi('chatUser').batchAddGroup(form.value, loading).then(() => {
|
||||||
MsgSuccess(t('common.settingSuccess'))
|
MsgSuccess(t('common.settingSuccess'))
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
@ -57,6 +57,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import type { ListItem } from '@/api/type/common'
|
import type { ListItem } from '@/api/type/common'
|
||||||
import { copyClick } from '@/utils/clipboard'
|
import { copyClick } from '@/utils/clipboard'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
title: string,
|
title: string,
|
||||||
@ -153,13 +154,13 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
await formEl.validate((valid, fields) => {
|
await formEl.validate((valid, fields) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (isEdit.value) {
|
if (isEdit.value) {
|
||||||
chatUserApi.putUserManage(userForm.value.id, userForm.value, loading).then((res) => {
|
loadPermissionApi('chatUser').putUserManage(userForm.value.id, userForm.value, loading).then((res) => {
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
MsgSuccess(t('common.editSuccess'))
|
MsgSuccess(t('common.editSuccess'))
|
||||||
visible.value = false
|
visible.value = false
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
chatUserApi.postUserManage(userForm.value, loading).then((res) => {
|
loadPermissionApi('chatUser').postUserManage(userForm.value, loading).then((res) => {
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
MsgSuccess(t('common.createSuccess'))
|
MsgSuccess(t('common.createSuccess'))
|
||||||
visible.value = false
|
visible.value = false
|
||||||
|
|||||||
@ -47,6 +47,7 @@ import type { ResetPasswordRequest } from '@/api/type/user'
|
|||||||
import userManageApi from '@/api/system/chat-user'
|
import userManageApi from '@/api/system/chat-user'
|
||||||
import { MsgSuccess } from '@/utils/message'
|
import { MsgSuccess } from '@/utils/message'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
const emit = defineEmits(['refresh'])
|
const emit = defineEmits(['refresh'])
|
||||||
|
|
||||||
const { user } = useStore()
|
const { user } = useStore()
|
||||||
@ -118,7 +119,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid, fields) => {
|
await formEl.validate((valid, fields) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
userManageApi.putUserManagePassword(userId.value, userForm.value, loading).then((res) => {
|
loadPermissionApi('chatUser').putUserManagePassword(userId.value, userForm.value, loading).then((res) => {
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
user.profile()
|
user.profile()
|
||||||
MsgSuccess(t('views.userManage.tip.updatePwdSuccess'))
|
MsgSuccess(t('views.userManage.tip.updatePwdSuccess'))
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
{{ t('views.userManage.createUser') }}
|
{{ t('views.userManage.createUser') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="syncUsers"
|
<el-button @click="syncUsers"
|
||||||
v-hasPermission="
|
v-hasPermission="
|
||||||
new ComplexPermission(
|
new ComplexPermission(
|
||||||
[RoleConst.ADMIN],
|
[RoleConst.ADMIN],
|
||||||
[PermissionConst.CHAT_USER_SYNC],
|
[PermissionConst.CHAT_USER_SYNC],
|
||||||
@ -59,8 +59,8 @@
|
|||||||
style="width: 120px"
|
style="width: 120px"
|
||||||
@change="search_type_change"
|
@change="search_type_change"
|
||||||
>
|
>
|
||||||
<el-option :label="$t('views.login.loginForm.username.label')" value="username" />
|
<el-option :label="$t('views.login.loginForm.username.label')" value="username"/>
|
||||||
<el-option :label="$t('views.userManage.userForm.nick_name.label')" value="nick_name" />
|
<el-option :label="$t('views.userManage.userForm.nick_name.label')" value="nick_name"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input
|
<el-input
|
||||||
v-if="search_type === 'username'"
|
v-if="search_type === 'username'"
|
||||||
@ -88,17 +88,17 @@
|
|||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
@sort-change="handleSortChange"
|
@sort-change="handleSortChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55"/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="nick_name"
|
prop="nick_name"
|
||||||
:label="$t('views.userManage.userForm.nick_name.label')"
|
:label="$t('views.userManage.userForm.nick_name.label')"
|
||||||
/>
|
/>
|
||||||
<el-table-column prop="username" :label="$t('common.username')" />
|
<el-table-column prop="username" :label="$t('common.username')"/>
|
||||||
<el-table-column prop="is_active" :label="$t('common.status.label')" width="100">
|
<el-table-column prop="is_active" :label="$t('common.status.label')" width="100">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div v-if="row.is_active" class="flex align-center">
|
<div v-if="row.is_active" class="flex align-center">
|
||||||
<el-icon class="color-success mr-8" style="font-size: 16px">
|
<el-icon class="color-success mr-8" style="font-size: 16px">
|
||||||
<SuccessFilled />
|
<SuccessFilled/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
<span class="color-secondary">
|
<span class="color-secondary">
|
||||||
{{ $t('common.status.enabled') }}
|
{{ $t('common.status.enabled') }}
|
||||||
@ -137,7 +137,7 @@
|
|||||||
min-width="110"
|
min-width="110"
|
||||||
>
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<TagGroup :tags="row.user_group_names" />
|
<TagGroup :tags="row.user_group_names"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="source" :label="$t('views.userManage.source.label')">
|
<el-table-column prop="source" :label="$t('views.userManage.source.label')">
|
||||||
@ -177,7 +177,7 @@
|
|||||||
[],'OR'),'OR')"
|
[],'OR'),'OR')"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical"/>
|
||||||
<span class="mr-8">
|
<span class="mr-8">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@ -190,7 +190,7 @@
|
|||||||
[],'OR'),'OR')"
|
[],'OR'),'OR')"
|
||||||
>
|
>
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<EditPen />
|
<EditPen/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
@ -207,7 +207,7 @@
|
|||||||
[],'OR'),'OR')"
|
[],'OR'),'OR')"
|
||||||
>
|
>
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<Lock />
|
<Lock/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
@ -224,7 +224,7 @@
|
|||||||
[],'OR'),'OR')"
|
[],'OR'),'OR')"
|
||||||
>
|
>
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<Delete />
|
<Delete/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
@ -240,33 +240,34 @@
|
|||||||
ref="UserDrawerRef"
|
ref="UserDrawerRef"
|
||||||
@refresh="refresh"
|
@refresh="refresh"
|
||||||
/>
|
/>
|
||||||
<UserPwdDialog ref="UserPwdDialogRef" @refresh="refresh" />
|
<UserPwdDialog ref="UserPwdDialogRef" @refresh="refresh"/>
|
||||||
<SetUserGroupsDialog
|
<SetUserGroupsDialog
|
||||||
:optionLoading="optionLoading"
|
:optionLoading="optionLoading"
|
||||||
:chatGroupList="chatGroupList"
|
:chatGroupList="chatGroupList"
|
||||||
ref="setUserGroupsRef"
|
ref="setUserGroupsRef"
|
||||||
@refresh="refresh"
|
@refresh="refresh"
|
||||||
/>
|
/>
|
||||||
<SyncUsersDialog ref="syncUsersDialogRef" @refresh="refresh" />
|
<SyncUsersDialog ref="syncUsersDialogRef" @refresh="refresh"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { onMounted, ref, reactive } from 'vue'
|
import {onMounted, ref, reactive} from 'vue'
|
||||||
import UserDrawer from './component/UserDrawer.vue'
|
import UserDrawer from './component/UserDrawer.vue'
|
||||||
import UserPwdDialog from './component/UserPwdDialog.vue'
|
import UserPwdDialog from './component/UserPwdDialog.vue'
|
||||||
import SetUserGroupsDialog from './component/SetUserGroupsDialog.vue'
|
import SetUserGroupsDialog from './component/SetUserGroupsDialog.vue'
|
||||||
import SyncUsersDialog from './component/SyncUsersDialog.vue'
|
import SyncUsersDialog from './component/SyncUsersDialog.vue'
|
||||||
import userManageApi from '@/api/system/chat-user'
|
import userManageApi from '@/api/system/chat-user'
|
||||||
import { datetimeFormat } from '@/utils/time'
|
import {datetimeFormat} from '@/utils/time'
|
||||||
import { MsgSuccess, MsgConfirm } from '@/utils/message'
|
import {MsgSuccess, MsgConfirm} from '@/utils/message'
|
||||||
import { t } from '@/locales'
|
import {t} from '@/locales'
|
||||||
import type { ChatUserItem } from '@/api/type/systemChatUser'
|
import type {ChatUserItem} from '@/api/type/systemChatUser'
|
||||||
import SystemGroupApi from '@/api/system/user-group'
|
import SystemGroupApi from '@/api/system/user-group'
|
||||||
import type { ListItem } from '@/api/type/common'
|
import type {ListItem} from '@/api/type/common'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import {PermissionConst, RoleConst} from '@/utils/permission/data'
|
||||||
import { ComplexPermission } from '@/utils/permission/type'
|
import {ComplexPermission} from '@/utils/permission/type'
|
||||||
import { hasPermission } from '@/utils/permission'
|
import {hasPermission} from '@/utils/permission'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const search_type = ref('username')
|
const search_type = ref('username')
|
||||||
const search_form = ref<{
|
const search_form = ref<{
|
||||||
@ -277,7 +278,7 @@ const search_form = ref<{
|
|||||||
nick_name: '',
|
nick_name: '',
|
||||||
})
|
})
|
||||||
const search_type_change = () => {
|
const search_type_change = () => {
|
||||||
search_form.value = { username: '', nick_name: '' }
|
search_form.value = {username: '', nick_name: ''}
|
||||||
}
|
}
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@ -300,7 +301,7 @@ function getList() {
|
|||||||
const params = {
|
const params = {
|
||||||
[search_type.value]: search_form.value[search_type.value as keyof typeof search_form.value],
|
[search_type.value]: search_form.value[search_type.value as keyof typeof search_form.value],
|
||||||
}
|
}
|
||||||
return userManageApi.getUserManage(paginationConfig, params, loading).then((res) => {
|
return loadPermissionApi('chatUser').getUserManage(paginationConfig, params, loading).then((res) => {
|
||||||
userTableData.value = res.data.records
|
userTableData.value = res.data.records
|
||||||
paginationConfig.total = res.data.total
|
paginationConfig.total = res.data.total
|
||||||
})
|
})
|
||||||
@ -308,7 +309,7 @@ function getList() {
|
|||||||
|
|
||||||
const orderBy = ref<string>('')
|
const orderBy = ref<string>('')
|
||||||
|
|
||||||
function handleSortChange({ prop, order }: { prop: string; order: string }) {
|
function handleSortChange({prop, order}: { prop: string; order: string }) {
|
||||||
orderBy.value = order === 'ascending' ? prop : `-${prop}`
|
orderBy.value = order === 'ascending' ? prop : `-${prop}`
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
@ -324,7 +325,7 @@ function changeState(row: ChatUserItem) {
|
|||||||
is_active: !row.is_active,
|
is_active: !row.is_active,
|
||||||
}
|
}
|
||||||
const str = obj.is_active ? t('common.status.enableSuccess') : t('common.status.disableSuccess')
|
const str = obj.is_active ? t('common.status.enableSuccess') : t('common.status.disableSuccess')
|
||||||
userManageApi
|
loadPermissionApi('chatUser')
|
||||||
.putUserManage(row.id, obj, loading)
|
.putUserManage(row.id, obj, loading)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
getList()
|
getList()
|
||||||
@ -356,12 +357,13 @@ function deleteUserManage(row: ChatUserItem) {
|
|||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
userManageApi.delUserManage(row.id, loading).then(() => {
|
loadPermissionApi('chatUser').delUserManage(row.id, loading).then(() => {
|
||||||
MsgSuccess(t('common.deleteSuccess'))
|
MsgSuccess(t('common.deleteSuccess'))
|
||||||
getList()
|
getList()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
.catch(() => {
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const UserPwdDialogRef = ref()
|
const UserPwdDialogRef = ref()
|
||||||
@ -384,7 +386,7 @@ const chatGroupList = ref<ListItem[]>([])
|
|||||||
|
|
||||||
async function getChatGroupList() {
|
async function getChatGroupList() {
|
||||||
try {
|
try {
|
||||||
const res = await SystemGroupApi.getUserGroup(optionLoading)
|
const res = await loadPermissionApi('userGroup').getUserGroup(optionLoading)
|
||||||
chatGroupList.value = res.data
|
chatGroupList.value = res.data
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
@ -392,12 +394,12 @@ async function getChatGroupList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleBatchDelete() {
|
function handleBatchDelete() {
|
||||||
MsgConfirm(t('views.chatUser.batchDeleteUser', { count: multipleSelection.value.length }), '', {
|
MsgConfirm(t('views.chatUser.batchDeleteUser', {count: multipleSelection.value.length}), '', {
|
||||||
confirmButtonText: t('common.confirm'),
|
confirmButtonText: t('common.confirm'),
|
||||||
confirmButtonClass: 'color-danger',
|
confirmButtonClass: 'color-danger',
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
userManageApi
|
loadPermissionApi('chatUser')
|
||||||
.batchDelete(
|
.batchDelete(
|
||||||
multipleSelection.value.map((item) => item.id),
|
multipleSelection.value.map((item) => item.id),
|
||||||
loading,
|
loading,
|
||||||
@ -407,7 +409,8 @@ function handleBatchDelete() {
|
|||||||
await getList()
|
await getList()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
.catch(() => {
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const setUserGroupsRef = ref<InstanceType<typeof SetUserGroupsDialog>>()
|
const setUserGroupsRef = ref<InstanceType<typeof SetUserGroupsDialog>>()
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import {t} from '@/locales'
|
|||||||
import SystemGroupApi from '@/api/system/user-group'
|
import SystemGroupApi from '@/api/system/user-group'
|
||||||
import userManageApi from '@/api/system/chat-user'
|
import userManageApi from '@/api/system/chat-user'
|
||||||
import type {ChatUserItem} from '@/api/type/systemChatUser'
|
import type {ChatUserItem} from '@/api/type/systemChatUser'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refresh'): void;
|
(e: 'refresh'): void;
|
||||||
@ -53,7 +54,7 @@ const chatUserList = ref<ChatUserItem[]>([])
|
|||||||
|
|
||||||
async function getChatUserList() {
|
async function getChatUserList() {
|
||||||
try {
|
try {
|
||||||
const res = await userManageApi.getChatUserList(optionLoading)
|
const res = await loadPermissionApi('chatUser').getChatUserList(optionLoading)
|
||||||
chatUserList.value = res.data
|
chatUserList.value = res.data
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
@ -93,7 +94,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
SystemGroupApi.postAddMember(groupId.value, {"user_ids": form.value.user}, loading).then(() => {
|
loadPermissionApi('userGroup').postAddMember(groupId.value, {"user_ids": form.value.user}, loading).then(() => {
|
||||||
MsgSuccess(t('common.addSuccess'))
|
MsgSuccess(t('common.addSuccess'))
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import SystemGroupApi from '@/api/system/user-group'
|
import SystemGroupApi from '@/api/system/user-group'
|
||||||
import type { ListItem } from '@/api/type/common'
|
import type { ListItem } from '@/api/type/common'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
@ -58,7 +59,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
SystemGroupApi.postUserGroup(form.value, loading).then((res: any) => {
|
loadPermissionApi('userGroup').postUserGroup(form.value, loading).then((res: any) => {
|
||||||
MsgSuccess(!form.value.id ? t('common.createSuccess') : t('common.renameSuccess'))
|
MsgSuccess(!form.value.id ? t('common.createSuccess') : t('common.renameSuccess'))
|
||||||
emit('refresh', res.data)
|
emit('refresh', res.data)
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
@ -241,6 +241,7 @@ import {MsgSuccess, MsgConfirm} from '@/utils/message'
|
|||||||
import {PermissionConst, RoleConst} from '@/utils/permission/data'
|
import {PermissionConst, RoleConst} from '@/utils/permission/data'
|
||||||
import {ComplexPermission} from '@/utils/permission/type'
|
import {ComplexPermission} from '@/utils/permission/type'
|
||||||
import {hasPermission} from '@/utils/permission/index'
|
import {hasPermission} from '@/utils/permission/index'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const filterText = ref('')
|
const filterText = ref('')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@ -250,7 +251,7 @@ const current = ref<ListItem>()
|
|||||||
|
|
||||||
async function getUserGroupList() {
|
async function getUserGroupList() {
|
||||||
try {
|
try {
|
||||||
const res = await SystemGroupApi.getUserGroup(loading)
|
const res = await loadPermissionApi('userGroup').getUserGroup(loading)
|
||||||
list.value = res.data
|
list.value = res.data
|
||||||
filterList.value = filter(list.value, filterText.value)
|
filterList.value = filter(list.value, filterText.value)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -294,7 +295,7 @@ function deleteGroup(item: ListItem) {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
SystemGroupApi.delUserGroup(item.id as string, loading).then(async () => {
|
loadPermissionApi('userGroup').delUserGroup(item.id as string, loading).then(async () => {
|
||||||
MsgSuccess(t('common.deleteSuccess'))
|
MsgSuccess(t('common.deleteSuccess'))
|
||||||
await getUserGroupList()
|
await getUserGroupList()
|
||||||
current.value = item.id === current.value?.id ? list.value[0] : current.value
|
current.value = item.id === current.value?.id ? list.value[0] : current.value
|
||||||
@ -335,7 +336,7 @@ async function getList() {
|
|||||||
const params = {
|
const params = {
|
||||||
[searchType.value]: searchForm.value[searchType.value as keyof typeof searchForm.value],
|
[searchType.value]: searchForm.value[searchType.value as keyof typeof searchForm.value],
|
||||||
}
|
}
|
||||||
const res = await SystemGroupApi.getUserListByGroup(
|
const res = await loadPermissionApi('userGroup').getUserListByGroup(
|
||||||
current.value?.id,
|
current.value?.id,
|
||||||
paginationConfig,
|
paginationConfig,
|
||||||
params,
|
params,
|
||||||
@ -384,7 +385,7 @@ function handleDeleteUser(item?: ChatUserGroupUserItem) {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
SystemGroupApi.postRemoveMember(
|
loadPermissionApi('userGroup').postRemoveMember(
|
||||||
current.value?.id as string,
|
current.value?.id as string,
|
||||||
{
|
{
|
||||||
group_relation_ids: item
|
group_relation_ids: item
|
||||||
|
|||||||
@ -81,7 +81,7 @@ async function getUserFormItem() {
|
|||||||
|
|
||||||
async function getWorkspaceFormItem() {
|
async function getWorkspaceFormItem() {
|
||||||
try {
|
try {
|
||||||
const res = await WorkspaceApi.getWorkspaceList(memberFormContentLoading)
|
const res = await loadPermissionApi('workspace').getWorkspaceList(memberFormContentLoading)
|
||||||
workspaceFormItem.value = [
|
workspaceFormItem.value = [
|
||||||
{
|
{
|
||||||
path: 'workspace_ids',
|
path: 'workspace_ids',
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import { t } from '@/locales'
|
|||||||
import type { RoleItem, CreateOrUpdateParams } from '@/api/type/role'
|
import type { RoleItem, CreateOrUpdateParams } from '@/api/type/role'
|
||||||
import RoleApi from '@/api/system/role'
|
import RoleApi from '@/api/system/role'
|
||||||
import { roleTypeMap } from '../index'
|
import { roleTypeMap } from '../index'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refresh', currentRole: RoleItem): void;
|
(e: 'refresh', currentRole: RoleItem): void;
|
||||||
@ -69,7 +70,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
RoleApi.CreateOrUpdateRole(form.value, loading).then((res: any) => {
|
loadPermissionApi('role').CreateOrUpdateRole(form.value, loading).then((res: any) => {
|
||||||
MsgSuccess(!form.value.role_id ? t('common.createSuccess') : t('common.renameSuccess'))
|
MsgSuccess(!form.value.role_id ? t('common.createSuccess') : t('common.renameSuccess'))
|
||||||
emit('refresh', res.data)
|
emit('refresh', res.data)
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||||||
import type { CreateWorkspaceMemberParamsItem, WorkspaceItem } from '@/api/type/workspace'
|
import type { CreateWorkspaceMemberParamsItem, WorkspaceItem } from '@/api/type/workspace'
|
||||||
import type { FormItemModel } from '@/api/type/role'
|
import type { FormItemModel } from '@/api/type/role'
|
||||||
import { RoleTypeEnum } from '@/enums/system'
|
import { RoleTypeEnum } from '@/enums/system'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
currentWorkspace?: WorkspaceItem
|
currentWorkspace?: WorkspaceItem
|
||||||
@ -73,7 +74,7 @@ async function getUserFormItem() {
|
|||||||
|
|
||||||
async function getRoleFormItem() {
|
async function getRoleFormItem() {
|
||||||
try {
|
try {
|
||||||
const res = await WorkspaceApi.getWorkspaceRoleList(memberFormContentLoading);
|
const res = await loadPermissionApi('workspace').getWorkspaceRoleList(memberFormContentLoading);
|
||||||
roleFormItem.value = [{
|
roleFormItem.value = [{
|
||||||
path: 'role_ids',
|
path: 'role_ids',
|
||||||
label: t('views.role.member.role'),
|
label: t('views.role.member.role'),
|
||||||
@ -120,7 +121,7 @@ const memberFormContentRef = ref<InstanceType<typeof MemberFormContent>>()
|
|||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
memberFormContentRef.value?.validate().then(async (valid: any) => {
|
memberFormContentRef.value?.validate().then(async (valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
await WorkspaceApi.CreateWorkspaceMember(props.currentWorkspace?.id as string, list.value, loading)
|
await loadPermissionApi('workspace').CreateWorkspaceMember(props.currentWorkspace?.id as string, list.value, loading)
|
||||||
MsgSuccess(t('common.addSuccess'))
|
MsgSuccess(t('common.addSuccess'))
|
||||||
handleCancel();
|
handleCancel();
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import type { WorkspaceItem } from '@/api/type/workspace'
|
import type { WorkspaceItem } from '@/api/type/workspace'
|
||||||
import WorkspaceApi from '@/api/workspace/workspace'
|
import WorkspaceApi from '@/api/workspace/workspace'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refresh', currentWorkspace: WorkspaceItem): void;
|
(e: 'refresh', currentWorkspace: WorkspaceItem): void;
|
||||||
@ -57,7 +58,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
WorkspaceApi.CreateOrUpdateWorkspace(form.value, loading).then((res: any) => {
|
loadPermissionApi('workspace').CreateOrUpdateWorkspace(form.value, loading).then((res: any) => {
|
||||||
MsgSuccess(!form.value.id ? t('common.createSuccess') : t('common.renameSuccess'))
|
MsgSuccess(!form.value.id ? t('common.createSuccess') : t('common.renameSuccess'))
|
||||||
emit('refresh', res.data)
|
emit('refresh', res.data)
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|||||||
@ -78,6 +78,7 @@ import WorkspaceApi from '@/api/workspace/workspace'
|
|||||||
import type { WorkspaceMemberItem, WorkspaceItem } from '@/api/type/workspace'
|
import type { WorkspaceMemberItem, WorkspaceItem } from '@/api/type/workspace'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
import { ComplexPermission } from '@/utils/permission/type'
|
import { ComplexPermission } from '@/utils/permission/type'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
@ -104,7 +105,7 @@ async function getList() {
|
|||||||
const params = {
|
const params = {
|
||||||
[searchType.value]: searchForm.value[searchType.value],
|
[searchType.value]: searchForm.value[searchType.value],
|
||||||
}
|
}
|
||||||
const res = await WorkspaceApi.getWorkspaceMemberList(
|
const res = await loadPermissionApi('workspace').getWorkspaceMemberList(
|
||||||
props.currentWorkspace?.id,
|
props.currentWorkspace?.id,
|
||||||
paginationConfig,
|
paginationConfig,
|
||||||
params,
|
params,
|
||||||
@ -162,7 +163,7 @@ function handleDelete(row: WorkspaceMemberItem) {
|
|||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
WorkspaceApi.deleteWorkspaceMember(
|
loadPermissionApi('workspace').deleteWorkspaceMember(
|
||||||
props.currentWorkspace?.id as string,
|
props.currentWorkspace?.id as string,
|
||||||
row.user_relation_id,
|
row.user_relation_id,
|
||||||
loading,
|
loading,
|
||||||
|
|||||||
@ -120,6 +120,7 @@ import type { WorkspaceItem } from '@/api/type/workspace'
|
|||||||
import { MsgSuccess, MsgConfirm } from '@/utils/message'
|
import { MsgSuccess, MsgConfirm } from '@/utils/message'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
import { hasPermission } from '@/utils/permission/index'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
|
|
||||||
const filterText = ref('')
|
const filterText = ref('')
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@ -129,7 +130,7 @@ const currentWorkspace = ref<WorkspaceItem>()
|
|||||||
|
|
||||||
async function getWorkspace() {
|
async function getWorkspace() {
|
||||||
try {
|
try {
|
||||||
const res = await WorkspaceApi.getSystemWorkspaceList(loading)
|
const res = await loadPermissionApi('workspace').getSystemWorkspaceList(loading)
|
||||||
list.value = res.data
|
list.value = res.data
|
||||||
filterList.value = filter(list.value, filterText.value)
|
filterList.value = filter(list.value, filterText.value)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -175,7 +176,7 @@ function createOrUpdateWorkspace(item?: WorkspaceItem) {
|
|||||||
|
|
||||||
async function check(id: string) {
|
async function check(id: string) {
|
||||||
try {
|
try {
|
||||||
return await WorkspaceApi.deleteWorkspaceCheck(id)
|
return await loadPermissionApi('workspace').deleteWorkspaceCheck(id)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
}
|
}
|
||||||
@ -194,7 +195,7 @@ async function deleteWorkspace(item: WorkspaceItem) {
|
|||||||
confirmButtonClass: 'color-danger',
|
confirmButtonClass: 'color-danger',
|
||||||
},
|
},
|
||||||
).then(() => {
|
).then(() => {
|
||||||
WorkspaceApi.deleteWorkspace(item.id as string, loading).then(async () => {
|
loadPermissionApi('workspace').deleteWorkspace(item.id as string, loading).then(async () => {
|
||||||
MsgSuccess(t('common.deleteSuccess'))
|
MsgSuccess(t('common.deleteSuccess'))
|
||||||
await getWorkspace()
|
await getWorkspace()
|
||||||
currentWorkspace.value =
|
currentWorkspace.value =
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user