refactor: update user search parameters and improve code formatting in chat user components
This commit is contained in:
parent
dd7b2a7bda
commit
549aa62349
@ -33,12 +33,12 @@ const getUserGroupUserList: (
|
||||
resource: any,
|
||||
user_group_id: string,
|
||||
page: pageRequest,
|
||||
username_or_nickname: string,
|
||||
params?: any,
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, params, loading) => {
|
||||
return get(
|
||||
`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
|
||||
username_or_nickname ? { username_or_nickname } : undefined,
|
||||
params,
|
||||
loading,
|
||||
)
|
||||
}
|
||||
|
||||
@ -109,12 +109,12 @@ const getUserGroupUserList: (
|
||||
resource: any,
|
||||
user_group_id: string,
|
||||
page: pageRequest,
|
||||
username_or_nickname: string,
|
||||
params?: any,
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<PageList<ChatUserGroupItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
|
||||
) => Promise<Result<PageList<ChatUserGroupItem[]>>> = (resource, user_group_id, page, params, loading) => {
|
||||
return get(
|
||||
`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`
|
||||
,username_or_nickname ? {username_or_nickname} : undefined, loading,
|
||||
`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
|
||||
params, loading,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@ -29,12 +29,12 @@ const getUserGroupUserList: (
|
||||
resource: any,
|
||||
user_group_id: string,
|
||||
page: pageRequest,
|
||||
username_or_nickname: string,
|
||||
param?: any,
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, param, loading) => {
|
||||
return get(
|
||||
`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
|
||||
username_or_nickname ? {username_or_nickname} : undefined,
|
||||
param,
|
||||
loading,
|
||||
)
|
||||
}
|
||||
|
||||
@ -29,12 +29,12 @@ const getUserGroupUserList: (
|
||||
resource: any,
|
||||
user_group_id: string,
|
||||
page: pageRequest,
|
||||
username_or_nickname: string,
|
||||
params?: any,
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
|
||||
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, params, loading) => {
|
||||
return get(
|
||||
`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
|
||||
username_or_nickname ? {username_or_nickname} : undefined,
|
||||
params,
|
||||
loading,
|
||||
)
|
||||
}
|
||||
|
||||
@ -49,7 +49,9 @@
|
||||
<h4 class="medium ellipsis" :title="current?.name">{{ current?.name || '-' }}</h4>
|
||||
<el-divider direction="vertical" class="mr-8 ml-8"/>
|
||||
|
||||
<el-icon class="color-input-placeholder"><UserFilled /></el-icon>
|
||||
<el-icon class="color-input-placeholder">
|
||||
<UserFilled/>
|
||||
</el-icon>
|
||||
<span class="color-input-placeholder ml-4">
|
||||
{{ paginationConfig.total }}
|
||||
</span>
|
||||
@ -76,16 +78,69 @@
|
||||
<div class="flex-between mb-16" style="margin-top: 18px">
|
||||
<div class="flex complex-search">
|
||||
<el-select class="complex-search__left" v-model="searchType" style="width: 120px">
|
||||
<el-option :label="$t('views.login.loginForm.username.label')" value="name" />
|
||||
<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.source.label')" value="source"/>
|
||||
</el-select>
|
||||
<el-input
|
||||
v-if="searchType === 'name'"
|
||||
v-model="searchForm.name"
|
||||
v-if="searchType === 'username'"
|
||||
v-model="searchForm.username"
|
||||
@change="getList"
|
||||
:placeholder="$t('common.inputPlaceholder')"
|
||||
style="width: 220px"
|
||||
clearable
|
||||
/>
|
||||
<el-input
|
||||
v-else-if="searchType === 'nick_name'"
|
||||
v-model="searchForm.nick_name"
|
||||
@change="getList"
|
||||
:placeholder="$t('common.inputPlaceholder')"
|
||||
style="width: 220px"
|
||||
clearable
|
||||
/>
|
||||
<el-select
|
||||
v-else-if="searchType === 'source'"
|
||||
v-model="searchForm.source"
|
||||
@change="getList"
|
||||
:placeholder="$t('common.selectPlaceholder')"
|
||||
style="width: 220px"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.userManage.source.local')"
|
||||
value="LOCAL"
|
||||
/>
|
||||
<el-option
|
||||
label="CAS"
|
||||
value="CAS"
|
||||
/>
|
||||
<el-option
|
||||
label="LDAP"
|
||||
value="LDAP"
|
||||
/>
|
||||
<el-option
|
||||
label="OIDC"
|
||||
value="OIDC"
|
||||
/>
|
||||
<el-option
|
||||
label="OAuth2"
|
||||
value="OAuth2"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.userManage.source.wecom')"
|
||||
value="wecom"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.userManage.source.lark')"
|
||||
value="lark"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.userManage.source.dingtalk')"
|
||||
value="dingtalk"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
</div>
|
||||
<div
|
||||
class="flex align-center"
|
||||
@ -146,7 +201,8 @@
|
||||
:indeterminate="allIndeterminate"
|
||||
:disabled="current?.is_auth"
|
||||
@change="handleCheckAll"
|
||||
>{{ $t('views.chatUser.authorization') }}</el-checkbox
|
||||
>{{ $t('views.chatUser.authorization') }}
|
||||
</el-checkbox
|
||||
>
|
||||
</template>
|
||||
<template #default="{ row }">
|
||||
@ -216,13 +272,15 @@ const permissionObj = ref<any>({
|
||||
const currentPermissionKey = computed(() => {
|
||||
if (route.path.includes('shared')) return 'SHAREDKNOWLEDGE'
|
||||
if (route.path.includes('resource-management')) {
|
||||
if (route.meta?.resourceType === 'KNOWLEDGE') { return 'RESOURCE_KNOWLEDGE' }
|
||||
else if (route.meta?.resourceType === 'APPLICATION') { return 'RESOURCE_APPLICATION' }
|
||||
if (route.meta?.resourceType === 'KNOWLEDGE') {
|
||||
return 'RESOURCE_KNOWLEDGE'
|
||||
} else if (route.meta?.resourceType === 'APPLICATION') {
|
||||
return 'RESOURCE_APPLICATION'
|
||||
}
|
||||
}
|
||||
return route.meta?.resourceType as string
|
||||
})
|
||||
|
||||
console.log(currentPermissionKey.value)
|
||||
|
||||
const resource = reactive({
|
||||
resource_id: route.params.id as string,
|
||||
@ -305,9 +363,11 @@ async function changeAuth() {
|
||||
|
||||
const rightLoading = ref(false)
|
||||
|
||||
const searchType = ref('name')
|
||||
const searchType = ref('username')
|
||||
const searchForm = ref<Record<string, any>>({
|
||||
name: '',
|
||||
username: '',
|
||||
nick_name: '',
|
||||
source: '',
|
||||
})
|
||||
const paginationConfig = reactive({
|
||||
current_page: 1,
|
||||
@ -323,6 +383,11 @@ const isShared = computed(() => {
|
||||
|
||||
async function getList() {
|
||||
if (!current.value?.id) return
|
||||
const params: any = {}
|
||||
const searchValue = searchForm.value[searchType.value as keyof typeof searchForm.value];
|
||||
if (searchValue !== undefined && searchValue !== null && searchValue !== '') {
|
||||
params[searchType.value] = searchValue;
|
||||
}
|
||||
try {
|
||||
const res = await loadSharedApi({
|
||||
type: 'chatUser',
|
||||
@ -332,7 +397,7 @@ async function getList() {
|
||||
resource,
|
||||
current.value?.id,
|
||||
paginationConfig,
|
||||
searchForm.value.name,
|
||||
params,
|
||||
rightLoading,
|
||||
)
|
||||
// 更新缓存和回显状态
|
||||
|
||||
Loading…
Reference in New Issue
Block a user