diff --git a/apps/knowledge/serializers/knowledge.py b/apps/knowledge/serializers/knowledge.py
index 9daeb7dad..8a80cfa25 100644
--- a/apps/knowledge/serializers/knowledge.py
+++ b/apps/knowledge/serializers/knowledge.py
@@ -80,6 +80,8 @@ class KnowledgeEditRequest(serializers.Serializer):
)
file_size_limit = serializers.IntegerField(required=False, label=_('file size limit'))
file_count_limit = serializers.IntegerField(required=False, label=_('file count limit'))
+ user_id = serializers.UUIDField(required=False, label=_('user id'))
+ create_user = serializers.UUIDField(required=False, label=_('create user'))
@staticmethod
def get_knowledge_meta_valid_map():
@@ -381,6 +383,10 @@ class KnowledgeSerializer(serializers.Serializer):
knowledge.file_size_limit = instance.get('file_size_limit')
if 'file_count_limit' in instance:
knowledge.file_count_limit = instance.get('file_count_limit')
+ if 'user_id' in instance:
+ knowledge.user_id = instance.get('user_id')
+ if 'create_user' in instance:
+ knowledge.create_user = instance.get('create_user')
if 'application_id_list' in instance and instance.get('application_id_list') is not None:
application_id_list = instance.get('application_id_list')
# 当前用户可修改关联的知识库列表
diff --git a/ui/src/locales/lang/en-US/common.ts b/ui/src/locales/lang/en-US/common.ts
index c58e5ddc9..f19983118 100644
--- a/ui/src/locales/lang/en-US/common.ts
+++ b/ui/src/locales/lang/en-US/common.ts
@@ -31,6 +31,7 @@ export default {
upgrade: 'Upgrade',
createDate: 'Create Date',
createTime: 'Create Time',
+ updateTime: 'Update Time',
operation: 'Action',
character: 'characters',
export: 'Export',
@@ -96,6 +97,8 @@ export default {
uploadImagePrompt: 'Please upload an image',
},
info: 'Base Information',
+ basicInfo: 'Basic Information',
+ unknown: 'Unknown',
otherSetting: 'Other Settings',
username: 'username',
importCreate: 'Import Create',
diff --git a/ui/src/locales/lang/zh-CN/common.ts b/ui/src/locales/lang/zh-CN/common.ts
index f0dc6a198..5810f36e0 100644
--- a/ui/src/locales/lang/zh-CN/common.ts
+++ b/ui/src/locales/lang/zh-CN/common.ts
@@ -32,6 +32,7 @@ export default {
upgrade: '升级',
createDate: '创建日期',
createTime: '创建时间',
+ updateTime: '更新时间',
operation: '操作',
character: '字符',
export: '导出',
@@ -97,6 +98,8 @@ export default {
uploadImagePrompt: '请上传一张图片',
},
info: '基本信息',
+ basicInfo: '基本信息',
+ unknown: '未知',
otherSetting: '其他设置',
username: '用户名',
importCreate: '导入创建',
diff --git a/ui/src/locales/lang/zh-Hant/common.ts b/ui/src/locales/lang/zh-Hant/common.ts
index 367cac9d9..9493a0891 100644
--- a/ui/src/locales/lang/zh-Hant/common.ts
+++ b/ui/src/locales/lang/zh-Hant/common.ts
@@ -31,6 +31,7 @@ export default {
upgrade: '升級',
createDate: '創建日期',
createTime: '創建時間',
+ updateTime: '更新時間',
operation: '操作',
character: '字符',
export: '匯出',
@@ -96,6 +97,8 @@ export default {
uploadImagePrompt: '請上傳一張圖片',
},
info: '使用者資訊',
+ basicInfo: '基本資訊',
+ unknown: '未知',
otherSetting: '其他設定',
username: '用戶名',
importCreate: '導入創建',
diff --git a/ui/src/views/knowledge/KnowledgeSetting.vue b/ui/src/views/knowledge/KnowledgeSetting.vue
index 6912d4498..a1804e96c 100644
--- a/ui/src/views/knowledge/KnowledgeSetting.vue
+++ b/ui/src/views/knowledge/KnowledgeSetting.vue
@@ -9,6 +9,22 @@
{{ $t('common.info') }}
+
+
+
+
+
+
+ {{ detail?.nick_name ? i18n_name(detail.nick_name) : detail?.create_user || $t('common.unknown') }}
+
+
+ {{ detail?.create_time ? new Date(detail.create_time).toLocaleString() : $t('common.unknown') }}
+
+
+ {{ detail?.update_time ? new Date(detail.update_time).toLocaleString() : $t('common.unknown') }}
+
+
+
{
const webFormRef = ref()
const BaseFormRef = ref()
const loading = ref(false)
-const detail = ref({})
+const detail = ref({ })
const cloneModelId = ref('')
+const user_options = ref([])
+const selectedCreator = ref('')
const form = ref({
source_url: '',
@@ -269,11 +290,15 @@ async function submit() {
meta: form.value,
file_count_limit: form.value.file_count_limit,
file_size_limit: form.value.file_size_limit,
+ create_user: selectedCreator.value,
+ user_id: selectedCreator.value,
...BaseFormRef.value.form,
}
: {
file_count_limit: form.value.file_count_limit,
file_size_limit: form.value.file_size_limit,
+ create_user: selectedCreator.value,
+ user_id: selectedCreator.value,
...BaseFormRef.value.form,
}
@@ -290,6 +315,13 @@ async function submit() {
.putReEmbeddingKnowledge(id)
.then(() => {
MsgSuccess(t('common.saveSuccess'))
+ // 更新页面上显示的创建者信息
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.create_user = selectedUser.id
+ detail.value.user_id = selectedUser.id
+ detail.value.nick_name = selectedUser.nick_name
+ }
})
})
} else {
@@ -300,6 +332,13 @@ async function submit() {
.putReEmbeddingKnowledge(id)
.then(() => {
MsgSuccess(t('common.saveSuccess'))
+ // 更新页面上显示的创建者信息
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.create_user = selectedUser.id
+ detail.value.user_id = selectedUser.id
+ detail.value.nick_name = selectedUser.nick_name
+ }
})
})
}
@@ -312,13 +351,25 @@ async function submit() {
.putLarkKnowledge(id, obj, loading)
.then(() => {
MsgSuccess(t('common.saveSuccess'))
+ // 更新页面上显示的创建者信息
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.create_user = selectedUser.id
+ detail.value.nick_name = selectedUser.nick_name
+ }
})
} else {
loadSharedApi({type: 'knowledge', systemType: apiType.value})
.putKnowledge(id, obj, loading)
- .then(() => {
- MsgSuccess(t('common.saveSuccess'))
- })
+ .then(() => {
+ MsgSuccess(t('common.saveSuccess'))
+ // 更新页面上显示的创建者信息
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.create_user = selectedUser.id
+ detail.value.nick_name = selectedUser.nick_name
+ }
+ })
}
}
}
@@ -332,6 +383,8 @@ function getDetail() {
.then((res: any) => {
detail.value = res.data
cloneModelId.value = res.data?.embedding_model_id
+ // 优先使用user_id,如果不存在则使用create_user
+ selectedCreator.value = res.data?.user_id || res.data?.create_user || ''
if (detail.value?.type === 0) {
form.value.file_count_limit = res.data.file_count_limit
form.value.file_size_limit = res.data.file_size_limit
@@ -339,11 +392,34 @@ function getDetail() {
if (detail.value?.type === 1 || detail.value?.type === 2) {
form.value = res.data.meta
}
+ // 如果有用户列表,尝试找到对应的用户信息来更新nick_name
+ if (user_options.value.length > 0 && selectedCreator.value) {
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.nick_name = selectedUser.nick_name
+ }
+ }
+ })
+}
+
+function getUserList() {
+ loadSharedApi({ type: 'workspace', isShared: isShared.value, systemType: apiType.value })
+ .getAllMemberList(user.getWorkspaceId(), loading)
+ .then((res: any) => {
+ user_options.value = res.data
+ // 如果已经有selectedCreator的值,尝试找到对应的用户信息来更新nick_name
+ if (selectedCreator.value) {
+ const selectedUser = user_options.value.find(user => user.id === selectedCreator.value)
+ if (selectedUser) {
+ detail.value.nick_name = selectedUser.nick_name
+ }
+ }
})
}
onMounted(() => {
getDetail()
+ getUserList()
})