refactor: add create_user field to tool serialization and update related logic
--bug=1057413 --user=刘瑞斌 【工具】搜索项选择创建者,创建者列表为空 https://www.tapd.cn/62980211/s/1721870
This commit is contained in:
parent
191e62f96d
commit
aff1ab7d1b
@ -552,6 +552,7 @@ class ToolTreeSerializer(serializers.Serializer):
|
|||||||
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('tool name'))
|
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('tool name'))
|
||||||
user_id = serializers.UUIDField(required=False, allow_null=True, label=_('user id'))
|
user_id = serializers.UUIDField(required=False, allow_null=True, label=_('user id'))
|
||||||
scope = serializers.CharField(required=True, label=_('scope'))
|
scope = serializers.CharField(required=True, label=_('scope'))
|
||||||
|
create_user = serializers.UUIDField(required=False, label=_('scope'), allow_null=True)
|
||||||
|
|
||||||
def page_tool(self, current_page: int, page_size: int):
|
def page_tool(self, current_page: int, page_size: int):
|
||||||
self.is_valid(raise_exception=True)
|
self.is_valid(raise_exception=True)
|
||||||
@ -589,6 +590,7 @@ class ToolTreeSerializer(serializers.Serializer):
|
|||||||
desc = self.data.get('desc')
|
desc = self.data.get('desc')
|
||||||
name = self.data.get('name')
|
name = self.data.get('name')
|
||||||
folder_id = self.data.get('folder_id')
|
folder_id = self.data.get('folder_id')
|
||||||
|
create_user = self.data.get('create_user')
|
||||||
|
|
||||||
if workspace_id is not None:
|
if workspace_id is not None:
|
||||||
folder_query_set = folder_query_set.filter(workspace_id=workspace_id)
|
folder_query_set = folder_query_set.filter(workspace_id=workspace_id)
|
||||||
@ -602,6 +604,8 @@ class ToolTreeSerializer(serializers.Serializer):
|
|||||||
if desc is not None:
|
if desc is not None:
|
||||||
folder_query_set = folder_query_set.filter(desc__contains=desc)
|
folder_query_set = folder_query_set.filter(desc__contains=desc)
|
||||||
default_query_set = default_query_set.filter(desc__contains=desc)
|
default_query_set = default_query_set.filter(desc__contains=desc)
|
||||||
|
if create_user is not None:
|
||||||
|
tool_query_set = tool_query_set.filter(user_id=create_user)
|
||||||
|
|
||||||
default_query_set = default_query_set.order_by("-create_time")
|
default_query_set = default_query_set.order_by("-create_time")
|
||||||
|
|
||||||
|
|||||||
@ -183,7 +183,8 @@ class ToolView(APIView):
|
|||||||
'folder_id': request.query_params.get('folder_id'),
|
'folder_id': request.query_params.get('folder_id'),
|
||||||
'name': request.query_params.get('name'),
|
'name': request.query_params.get('name'),
|
||||||
'scope': request.query_params.get('scope'),
|
'scope': request.query_params.get('scope'),
|
||||||
'user_id': request.user.id
|
'user_id': request.user.id,
|
||||||
|
'create_user': request.query_params.get('create_user'),
|
||||||
}
|
}
|
||||||
).page_tool_with_folders(current_page, page_size))
|
).page_tool_with_folders(current_page, page_size))
|
||||||
|
|
||||||
|
|||||||
@ -44,6 +44,19 @@ const getWorkspaceMemberList: (
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工作空间全部成员列表
|
||||||
|
*/
|
||||||
|
const getWorkspaceAllMemberList: (
|
||||||
|
workspace_id: string,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<PageList<WorkspaceMemberItem[]>>> = (workspace_id, loading) => {
|
||||||
|
return get(
|
||||||
|
`${prefix}/${workspace_id}/user_list`,
|
||||||
|
loading,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新建工作空间成员
|
* 新建工作空间成员
|
||||||
*/
|
*/
|
||||||
@ -77,6 +90,7 @@ export default {
|
|||||||
getWorkspaceList,
|
getWorkspaceList,
|
||||||
getSystemWorkspaceList,
|
getSystemWorkspaceList,
|
||||||
getWorkspaceMemberList,
|
getWorkspaceMemberList,
|
||||||
|
getWorkspaceAllMemberList,
|
||||||
CreateWorkspaceMember,
|
CreateWorkspaceMember,
|
||||||
deleteWorkspaceMember,
|
deleteWorkspaceMember,
|
||||||
getWorkspaceRoleList,
|
getWorkspaceRoleList,
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import documentSystemShareApi from '@/api/system-shared/document'
|
|||||||
import paragraphSystemShareApi from '@/api/system-shared/paragraph'
|
import paragraphSystemShareApi from '@/api/system-shared/paragraph'
|
||||||
import problemSystemShareApi from '@/api/system-shared/problem'
|
import problemSystemShareApi from '@/api/system-shared/problem'
|
||||||
import chatUserSystemShareApi from '@/api/system-shared/chat-user'
|
import chatUserSystemShareApi from '@/api/system-shared/chat-user'
|
||||||
|
import workspaceApi from '@/api/workspace/workspace'
|
||||||
|
|
||||||
// 普通 API
|
// 普通 API
|
||||||
const workspaceApiMap = {
|
const workspaceApiMap = {
|
||||||
@ -23,6 +24,7 @@ const workspaceApiMap = {
|
|||||||
paragraph: paragraphWorkspaceApi,
|
paragraph: paragraphWorkspaceApi,
|
||||||
problem: problemWorkspaceApi,
|
problem: problemWorkspaceApi,
|
||||||
chatUser: chatUserWorkspaceApi,
|
chatUser: chatUserWorkspaceApi,
|
||||||
|
workspace: workspaceApi,
|
||||||
} as any
|
} as any
|
||||||
|
|
||||||
// 系统分享 API
|
// 系统分享 API
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
clearable
|
clearable
|
||||||
style="width: 220px"
|
style="width: 220px"
|
||||||
>
|
>
|
||||||
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.username" />
|
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown trigger="click" v-if="!isShared && permissionPrecise.create()">
|
<el-dropdown trigger="click" v-if="!isShared && permissionPrecise.create()">
|
||||||
@ -319,6 +319,7 @@ import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
|||||||
import permissionMap from '@/permission'
|
import permissionMap from '@/permission'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
|
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const { folder, user, tool } = useStore()
|
const { folder, user, tool } = useStore()
|
||||||
onBeforeRouteLeave((to, from) => {
|
onBeforeRouteLeave((to, from) => {
|
||||||
@ -631,6 +632,11 @@ onMounted(() => {
|
|||||||
if (apiType.value !== 'workspace') {
|
if (apiType.value !== 'workspace') {
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
loadSharedApi({type: 'workspace', isShared: isShared.value, systemType: apiType.value })
|
||||||
|
.getWorkspaceAllMemberList(user.getWorkspaceId(), loading)
|
||||||
|
.then((res: any) => {
|
||||||
|
user_options.value = res.data
|
||||||
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user