Skip to content

Commit 549aa62

Browse files
committed
refactor: update user search parameters and improve code formatting in chat user components
1 parent dd7b2a7 commit 549aa62

File tree

5 files changed

+131
-66
lines changed

5 files changed

+131
-66
lines changed

ui/src/api/chat-user/chat-user.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ const getUserGroupUserList: (
3333
resource: any,
3434
user_group_id: string,
3535
page: pageRequest,
36-
username_or_nickname: string,
36+
params?: any,
3737
loading?: Ref<boolean>,
38-
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
38+
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, params, loading) => {
3939
return get(
4040
`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
41-
username_or_nickname ? { username_or_nickname } : undefined,
41+
params,
4242
loading,
4343
)
4444
}

ui/src/api/shared-workspace.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
import { Result } from '@/request/Result'
2-
import { get, post, del, put, exportFile, exportExcel } from '@/request/index'
3-
import { type Ref } from 'vue'
4-
import type { PageList, pageRequest } from '@/api/type/common'
5-
import type { knowledgeData } from '@/api/type/knowledge'
1+
import {Result} from '@/request/Result'
2+
import {get, post, del, put, exportFile, exportExcel} from '@/request/index'
3+
import {type Ref} from 'vue'
4+
import type {PageList, pageRequest} from '@/api/type/common'
5+
import type {knowledgeData} from '@/api/type/knowledge'
66

77
import useStore from '@/stores'
8-
import type { ChatUserGroupItem } from './type/workspaceChatUser'
8+
import type {ChatUserGroupItem} from './type/workspaceChatUser'
99

1010
const prefix = '/system/shared'
11-
const prefix_workspace: any = { _value: 'workspace/' }
11+
const prefix_workspace: any = {_value: 'workspace/'}
1212
Object.defineProperty(prefix_workspace, 'value', {
1313
get: function () {
14-
const { user } = useStore()
14+
const {user} = useStore()
1515
return this._value + user.getWorkspaceId()
1616
},
1717
})
@@ -47,9 +47,9 @@ const getKnowledgeDetail: (knowledge_id: string, loading?: Ref<boolean>) => Prom
4747
* 文档分页列表
4848
* @param 参数 knowledge_id,
4949
* param {
50-
"name": "string",
51-
folder_id: "string",
52-
}
50+
"name": "string",
51+
folder_id: "string",
52+
}
5353
*/
5454

5555
const getDocumentPage: (
@@ -85,8 +85,8 @@ const getDocumentDetail: (
8585
* 问题分页列表
8686
* @param 参数 knowledge_id,
8787
* query {
88-
"content": "string",
89-
}
88+
"content": "string",
89+
}
9090
*/
9191

9292
const getProblemsPage: (
@@ -107,31 +107,31 @@ const getProblemsPage: (
107107
*/
108108
const getUserGroupUserList: (
109109
resource: any,
110-
user_group_id:string,
110+
user_group_id: string,
111111
page: pageRequest,
112-
username_or_nickname: string,
112+
params?: any,
113113
loading?: Ref<boolean>,
114-
) => Promise<Result<PageList<ChatUserGroupItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
115-
return get (
116-
`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`
117-
,username_or_nickname ? {username_or_nickname} : undefined, loading,
114+
) => Promise<Result<PageList<ChatUserGroupItem[]>>> = (resource, user_group_id, page, params, loading) => {
115+
return get(
116+
`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
117+
params, loading,
118118
)
119119
}
120120

121121
/**
122122
* 获取工作空间下共享知识库的用户组
123123
*/
124124
const getUserGroupList: (resource: any, loading?: Ref<boolean>) => Promise<Result<ChatUserGroupItem[]>> = (resource, loading) => {
125-
return get (`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group`, undefined, loading)
125+
return get(`${prefix}/${prefix_workspace.value}/KNOWLEDGE/${resource.resource_id}/user_group`, undefined, loading)
126126
}
127127

128128
/**
129129
* 段落分页列表
130130
* @param 参数 knowledge_id document_id
131131
* param {
132-
"title": "string",
133-
"content": "string",
134-
}
132+
"title": "string",
133+
"content": "string",
134+
}
135135
*/
136136
const getParagraphPage: (
137137
knowledge_id: string,

ui/src/api/system-resource-management/chat-user.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ const getUserGroupUserList: (
2929
resource: any,
3030
user_group_id: string,
3131
page: pageRequest,
32-
username_or_nickname: string,
32+
param?: any,
3333
loading?: Ref<boolean>,
34-
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
34+
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, param, loading) => {
3535
return get(
3636
`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
37-
username_or_nickname ? {username_or_nickname} : undefined,
37+
param,
3838
loading,
3939
)
4040
}

ui/src/api/system-shared/chat-user.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ import type { pageRequest, PageList } from '@/api/type/common'
77

88
const prefix = '/system/shared/knowledge'
99
/**
10-
* 获取共享知识库用户组列表
10+
* 获取共享知识库用户组列表
1111
*/
12-
const getUserGroupList: (resource: any, loading?: Ref<boolean>) =>
12+
const getUserGroupList: (resource: any, loading?: Ref<boolean>) =>
1313
Promise<Result<ChatUserGroupItem[]>> = (resource, loading) => {
14-
return get(`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group`, undefined, loading)
14+
return get(`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group`, undefined, loading)
1515
}
1616

1717
/*
1818
* 修改共享知识库用户组列表授权
1919
*/
20-
const editUserGroupList: (resource: any, data: { user_group_id: string, is_auth: boolean }[], loading?: Ref<boolean>) =>
20+
const editUserGroupList: (resource: any, data: { user_group_id: string, is_auth: boolean }[], loading?: Ref<boolean>) =>
2121
Promise<Result<any>> = (resource, data, loading) => {
2222
return put(`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group`, data, undefined, loading)
2323
}
@@ -29,12 +29,12 @@ const getUserGroupUserList: (
2929
resource: any,
3030
user_group_id: string,
3131
page: pageRequest,
32-
username_or_nickname: string,
32+
params?: any,
3333
loading?: Ref<boolean>,
34-
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, username_or_nickname, loading) => {
34+
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, params, loading) => {
3535
return get(
3636
`${prefix}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
37-
username_or_nickname ? {username_or_nickname} : undefined,
37+
params,
3838
loading,
3939
)
4040
}
@@ -56,4 +56,4 @@ export default {
5656
editUserGroupList,
5757
getUserGroupUserList,
5858
putUserGroupUser
59-
}
59+
}

ui/src/views/chat-user/index.vue

Lines changed: 94 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,11 @@
4747
<div class="flex-between">
4848
<div class="flex align-center">
4949
<h4 class="medium ellipsis" :title="current?.name">{{ current?.name || '-' }}</h4>
50-
<el-divider direction="vertical" class="mr-8 ml-8" />
50+
<el-divider direction="vertical" class="mr-8 ml-8"/>
5151

52-
<el-icon class="color-input-placeholder"><UserFilled /></el-icon>
52+
<el-icon class="color-input-placeholder">
53+
<UserFilled/>
54+
</el-icon>
5355
<span class="color-input-placeholder ml-4">
5456
{{ paginationConfig.total }}
5557
</span>
@@ -76,16 +78,69 @@
7678
<div class="flex-between mb-16" style="margin-top: 18px">
7779
<div class="flex complex-search">
7880
<el-select class="complex-search__left" v-model="searchType" style="width: 120px">
79-
<el-option :label="$t('views.login.loginForm.username.label')" value="name" />
81+
<el-option :label="$t('views.login.loginForm.username.label')" value="username"/>
82+
<el-option :label="$t('views.userManage.userForm.nick_name.label')"
83+
value="nick_name"/>
84+
<el-option :label="$t('views.userManage.source.label')" value="source"/>
8085
</el-select>
8186
<el-input
82-
v-if="searchType === 'name'"
83-
v-model="searchForm.name"
87+
v-if="searchType === 'username'"
88+
v-model="searchForm.username"
8489
@change="getList"
8590
:placeholder="$t('common.inputPlaceholder')"
8691
style="width: 220px"
8792
clearable
8893
/>
94+
<el-input
95+
v-else-if="searchType === 'nick_name'"
96+
v-model="searchForm.nick_name"
97+
@change="getList"
98+
:placeholder="$t('common.inputPlaceholder')"
99+
style="width: 220px"
100+
clearable
101+
/>
102+
<el-select
103+
v-else-if="searchType === 'source'"
104+
v-model="searchForm.source"
105+
@change="getList"
106+
:placeholder="$t('common.selectPlaceholder')"
107+
style="width: 220px"
108+
clearable
109+
>
110+
<el-option
111+
:label="$t('views.userManage.source.local')"
112+
value="LOCAL"
113+
/>
114+
<el-option
115+
label="CAS"
116+
value="CAS"
117+
/>
118+
<el-option
119+
label="LDAP"
120+
value="LDAP"
121+
/>
122+
<el-option
123+
label="OIDC"
124+
value="OIDC"
125+
/>
126+
<el-option
127+
label="OAuth2"
128+
value="OAuth2"
129+
/>
130+
<el-option
131+
:label="$t('views.userManage.source.wecom')"
132+
value="wecom"
133+
/>
134+
<el-option
135+
:label="$t('views.userManage.source.lark')"
136+
value="lark"
137+
/>
138+
<el-option
139+
:label="$t('views.userManage.source.dingtalk')"
140+
value="dingtalk"
141+
/>
142+
</el-select>
143+
89144
</div>
90145
<div
91146
class="flex align-center"
@@ -121,7 +176,7 @@
121176
prop="nick_name"
122177
:label="$t('views.userManage.userForm.nick_name.label')"
123178
/>
124-
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')" />
179+
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')"/>
125180
<el-table-column prop="source" :label="$t('views.userManage.source.label')">
126181
<template #default="{ row }">
127182
{{
@@ -146,7 +201,8 @@
146201
:indeterminate="allIndeterminate"
147202
:disabled="current?.is_auth"
148203
@change="handleCheckAll"
149-
>{{ $t('views.chatUser.authorization') }}</el-checkbox
204+
>{{ $t('views.chatUser.authorization') }}
205+
</el-checkbox
150206
>
151207
</template>
152208
<template #default="{ row }">
@@ -166,22 +222,22 @@
166222
</template>
167223

168224
<script lang="ts" setup>
169-
import { onMounted, ref, watch, reactive, computed } from 'vue'
170-
171-
import { t } from '@/locales'
172-
import type { ChatUserGroupItem, ChatUserGroupUserItem } from '@/api/type/workspaceChatUser'
173-
import { useRoute } from 'vue-router'
174-
import { SourceTypeEnum } from '@/enums/common'
175-
import { MsgSuccess } from '@/utils/message'
176-
import { ComplexPermission } from '@/utils/permission/type'
177-
import { RoleConst, PermissionConst } from '@/utils/permission/data'
178-
import { hasPermission } from '@/utils/permission/index'
179-
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
225+
import {onMounted, ref, watch, reactive, computed} from 'vue'
226+
227+
import {t} from '@/locales'
228+
import type {ChatUserGroupItem, ChatUserGroupUserItem} from '@/api/type/workspaceChatUser'
229+
import {useRoute} from 'vue-router'
230+
import {SourceTypeEnum} from '@/enums/common'
231+
import {MsgSuccess} from '@/utils/message'
232+
import {ComplexPermission} from '@/utils/permission/type'
233+
import {RoleConst, PermissionConst} from '@/utils/permission/data'
234+
import {hasPermission} from '@/utils/permission/index'
235+
import {loadSharedApi} from '@/utils/dynamics-api/shared-api'
180236
181237
const route = useRoute()
182238
183239
const {
184-
params: { id, folderId },
240+
params: {id, folderId},
185241
} = route as any
186242
187243
const permissionObj = ref<any>({
@@ -214,15 +270,17 @@ const permissionObj = ref<any>({
214270
})
215271
216272
const currentPermissionKey = computed(() => {
217-
if (route.path.includes('shared')) return 'SHAREDKNOWLEDGE'
218-
if (route.path.includes('resource-management')) {
219-
if (route.meta?.resourceType === 'KNOWLEDGE') { return 'RESOURCE_KNOWLEDGE' }
220-
else if (route.meta?.resourceType === 'APPLICATION') { return 'RESOURCE_APPLICATION' }
273+
if (route.path.includes('shared')) return 'SHAREDKNOWLEDGE'
274+
if (route.path.includes('resource-management')) {
275+
if (route.meta?.resourceType === 'KNOWLEDGE') {
276+
return 'RESOURCE_KNOWLEDGE'
277+
} else if (route.meta?.resourceType === 'APPLICATION') {
278+
return 'RESOURCE_APPLICATION'
221279
}
222-
return route.meta?.resourceType as string
280+
}
281+
return route.meta?.resourceType as string
223282
})
224283
225-
console.log(currentPermissionKey.value)
226284
227285
const resource = reactive({
228286
resource_id: route.params.id as string,
@@ -285,7 +343,7 @@ function clickUserGroup(item: ChatUserGroupItem) {
285343
}
286344
287345
async function changeAuth() {
288-
const params = [{ user_group_id: current.value?.id as string, is_auth: !current.value?.is_auth }]
346+
const params = [{user_group_id: current.value?.id as string, is_auth: !current.value?.is_auth}]
289347
try {
290348
await loadSharedApi({
291349
type: 'chatUser',
@@ -305,9 +363,11 @@ async function changeAuth() {
305363
306364
const rightLoading = ref(false)
307365
308-
const searchType = ref('name')
366+
const searchType = ref('username')
309367
const searchForm = ref<Record<string, any>>({
310-
name: '',
368+
username: '',
369+
nick_name: '',
370+
source: '',
311371
})
312372
const paginationConfig = reactive({
313373
current_page: 1,
@@ -323,6 +383,11 @@ const isShared = computed(() => {
323383
324384
async function getList() {
325385
if (!current.value?.id) return
386+
const params: any = {}
387+
const searchValue = searchForm.value[searchType.value as keyof typeof searchForm.value];
388+
if (searchValue !== undefined && searchValue !== null && searchValue !== '') {
389+
params[searchType.value] = searchValue;
390+
}
326391
try {
327392
const res = await loadSharedApi({
328393
type: 'chatUser',
@@ -332,7 +397,7 @@ async function getList() {
332397
resource,
333398
current.value?.id,
334399
paginationConfig,
335-
searchForm.value.name,
400+
params,
336401
rightLoading,
337402
)
338403
// 更新缓存和回显状态

0 commit comments

Comments
 (0)