diff --git a/ui/src/locales/lang/en-US/common.ts b/ui/src/locales/lang/en-US/common.ts index 2b822a2e3..a62ec1f56 100644 --- a/ui/src/locales/lang/en-US/common.ts +++ b/ui/src/locales/lang/en-US/common.ts @@ -100,4 +100,5 @@ export default { deleteConfirm: 'Confirm delete', expand: 'Expand', collapse: 'Collapse', + copyTitle: 'Copy', } diff --git a/ui/src/locales/lang/en-US/views/application.ts b/ui/src/locales/lang/en-US/views/application.ts index c3c1dcca0..2d558679e 100644 --- a/ui/src/locales/lang/en-US/views/application.ts +++ b/ui/src/locales/lang/en-US/views/application.ts @@ -10,7 +10,6 @@ export default { workflowPlaceholder: 'Suitable for advanced users to build complex logic AI assistants using low-code drag-and-drop', appTest: 'Debug Preview', - copy: 'Copy', searchBar: { placeholder: 'Search by name', }, diff --git a/ui/src/locales/lang/zh-CN/common.ts b/ui/src/locales/lang/zh-CN/common.ts index d62105b5f..bd8a68052 100644 --- a/ui/src/locales/lang/zh-CN/common.ts +++ b/ui/src/locales/lang/zh-CN/common.ts @@ -104,4 +104,5 @@ export default { deleteConfirm: '是否删除', expand: '展开', collapse: '收起', + copyTitle: '副本', } diff --git a/ui/src/locales/lang/zh-CN/views/application.ts b/ui/src/locales/lang/zh-CN/views/application.ts index 92d7437d1..46092f139 100644 --- a/ui/src/locales/lang/zh-CN/views/application.ts +++ b/ui/src/locales/lang/zh-CN/views/application.ts @@ -9,7 +9,6 @@ export default { simplePlaceholder: '适用于初级用户使用表单设置构建AI对话助手', workflowPlaceholder: '适用于高级用户使用低代码拖拉拽方式构建复杂逻辑的AI对话助手', appTest: '调试预览', - copy: '副本', searchBar: { placeholder: '按名称搜索', }, diff --git a/ui/src/locales/lang/zh-CN/views/tool.ts b/ui/src/locales/lang/zh-CN/views/tool.ts index 483aa157e..189321945 100644 --- a/ui/src/locales/lang/zh-CN/views/tool.ts +++ b/ui/src/locales/lang/zh-CN/views/tool.ts @@ -28,10 +28,6 @@ export default { saveMessage: '当前的更改尚未保存,确认退出吗?', }, form: { - title: { - copy: '副本', - baseInfo: '基础信息', - }, toolName: { label: '名称', name: '工具名称', diff --git a/ui/src/locales/lang/zh-Hant/common.ts b/ui/src/locales/lang/zh-Hant/common.ts index c1f9176c8..fc9199b83 100644 --- a/ui/src/locales/lang/zh-Hant/common.ts +++ b/ui/src/locales/lang/zh-Hant/common.ts @@ -100,4 +100,5 @@ export default { deleteConfirm: '是否刪除', expand: '展開', collapse: '收起', + copyTitle: '副本', } diff --git a/ui/src/locales/lang/zh-Hant/views/application.ts b/ui/src/locales/lang/zh-Hant/views/application.ts index f5cffbbf1..ee7498a9a 100644 --- a/ui/src/locales/lang/zh-Hant/views/application.ts +++ b/ui/src/locales/lang/zh-Hant/views/application.ts @@ -9,7 +9,6 @@ export default { simplePlaceholder: '適用於初級用戶使用表單設定構建AI對話助手', workflowPlaceholder: '適用於高階用戶使用低代碼拖拉拽方式構建複雜邏輯的AI對話助手', appTest: '調試預覽', - copy: '副本', searchBar: { placeholder: '按名稱搜尋', }, diff --git a/ui/src/views/application/component/CopyApplicationDialog.vue b/ui/src/views/application/component/CopyApplicationDialog.vue index 8b74c71c4..4a75e79ad 100644 --- a/ui/src/views/application/component/CopyApplicationDialog.vue +++ b/ui/src/views/application/component/CopyApplicationDialog.vue @@ -104,6 +104,8 @@ const rules = reactive>({ ], }) +const currentFolder = ref('') + watch(dialogVisible, (bool) => { if (!bool) { applicationForm.value = { @@ -133,10 +135,11 @@ watch(dialogVisible, (bool) => { } }) -const open = (data: any) => { +const open = (data: any, folder: string) => { + currentFolder.value = folder const obj = cloneDeep(data) delete obj['id'] - obj['name'] = obj['name'] + ` ${t('views.application.form.title.copy')}` + obj['name'] = obj['name'] + ` ${t('common.copyTitle')}` applicationForm.value = obj dialogVisible.value = true } @@ -160,15 +163,17 @@ const submitHandle = async (formEl: FormInstance | undefined) => { if (!formEl) return await formEl.validate((valid) => { if (valid) { - applicationApi.postApplication(applicationForm.value, loading).then((res) => { - MsgSuccess(t('common.createSuccess')) - if (isWorkFlow(applicationForm.value.type)) { - router.push({ path: `/application/${res.data.id}/workflow` }) - } else { - router.push({ path: `/application/${res.data.id}/${res.data.type}/setting` }) - } - dialogVisible.value = false - }) + applicationApi + .postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading) + .then((res) => { + MsgSuccess(t('common.createSuccess')) + if (isWorkFlow(applicationForm.value.type)) { + router.push({ path: `/application/${res.data.id}/workflow` }) + } else { + router.push({ path: `/application/${res.data.id}/${res.data.type}/setting` }) + } + dialogVisible.value = false + }) } }) } diff --git a/ui/src/views/application/index.vue b/ui/src/views/application/index.vue index aa59384e5..9b99c6b2c 100644 --- a/ui/src/views/application/index.vue +++ b/ui/src/views/application/index.vue @@ -244,7 +244,13 @@ {{ $t('common.moveTo') }} - + + + {{ $t('common.copy') }} + { if (res?.data) { - CopyApplicationDialogRef.value.open({ ...res.data, model_id: res.data.model }) + CopyApplicationDialogRef.value.open( + { ...res.data, model_id: res.data.model }, + folder.currentFolder?.id || 'default', + ) } }) } -const is_show_copy_button = (row: any) => { - return user.userInfo ? user.userInfo.id == row.user_id : false -} - function settingApplication(row: any) { if (isWorkFlow(row.type)) { router.push({ path: `/application/${row.id}/workflow` }) diff --git a/ui/src/views/tool/component/ToolListContainer.vue b/ui/src/views/tool/component/ToolListContainer.vue index bc55db36a..ed4216bb6 100644 --- a/ui/src/views/tool/component/ToolListContainer.vue +++ b/ui/src/views/tool/component/ToolListContainer.vue @@ -481,7 +481,7 @@ async function copyTool(row: any) { ) const obj = cloneDeep(res.data) delete obj['id'] - obj['name'] = obj['name'] + ` ${t('views.tool.form.title.copy')}` + obj['name'] = obj['name'] + ` ${t('common.copyTitle')}` ToolFormDrawerRef.value.open(obj) }