From cb101a5aa63383b6f6e29b9ccb66d4636f5343ab Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Wed, 26 Aug 2026 18:50:44 +0800 Subject: [PATCH] feat: application --- .../workspace/application/application.ts | 16 ++- .../application/icon_simple_application.svg | 3 + .../application/icon_workflow_application.svg | 5 + .../items/DatePickerConstructor.vue | 1 - ui/src/router/admin/index.ts | 6 + ui/src/views/application/ApplicationView.vue | 21 ++-- .../components/ApplicationCreateDropdown.vue | 113 ++++++++++++++++++ 7 files changed, 146 insertions(+), 19 deletions(-) create mode 100644 ui/src/assets/application/icon_simple_application.svg create mode 100644 ui/src/assets/application/icon_workflow_application.svg create mode 100644 ui/src/views/application/components/ApplicationCreateDropdown.vue diff --git a/ui/src/api/admin/workspace/application/application.ts b/ui/src/api/admin/workspace/application/application.ts index 287ce456b0d..a493b7a181e 100644 --- a/ui/src/api/admin/workspace/application/application.ts +++ b/ui/src/api/admin/workspace/application/application.ts @@ -1,10 +1,6 @@ -import { get, put } from '../../core/request' +import { get, post, put } from '../../core/request' import type { ParamsPage, ResponsePage } from '../../core/types' -import type { - ApplicationDetail, - ApplicationFormPayload, - RequestParams, -} from '@/api/types' +import type { ApplicationDetail, ApplicationFormPayload, RequestParams } from '@/api/types' import { getWorkspaceId } from '@/utils/workspace-context' const getPrefix = () => { @@ -25,6 +21,13 @@ const getApplicationDetail = (applicationId: string) => { return get(`${getPrefix()}/${applicationId}`) } +/** 导入智能体文件并创建工作空间智能体。 */ +const postApplicationImport = (file: File, folderId: string) => { + const payload = new FormData() + payload.append('file', file) + return post(`${getPrefix()}/folder/${folderId}/import`, payload) +} + /** 保存工作空间智能体配置。 */ const putApplication = (applicationId: string, data: ApplicationFormPayload) => { return put(`${getPrefix()}/${applicationId}`, data) @@ -33,5 +36,6 @@ const putApplication = (applicationId: string, data: ApplicationFormPayload) => export default { getApplicationPage, getApplicationDetail, + postApplicationImport, putApplication, } diff --git a/ui/src/assets/application/icon_simple_application.svg b/ui/src/assets/application/icon_simple_application.svg new file mode 100644 index 00000000000..da6c323846f --- /dev/null +++ b/ui/src/assets/application/icon_simple_application.svg @@ -0,0 +1,3 @@ + + + diff --git a/ui/src/assets/application/icon_workflow_application.svg b/ui/src/assets/application/icon_workflow_application.svg new file mode 100644 index 00000000000..173811be92d --- /dev/null +++ b/ui/src/assets/application/icon_workflow_application.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue b/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue index 70306485440..cb49d4942f2 100644 --- a/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue +++ b/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue @@ -62,7 +62,6 @@ + +