diff --git a/ui/src/views/workflow/application/components/ButtonAiGenerate.vue b/ui/src/views/workflow/application/components/ButtonAiGenerate.vue
new file mode 100644
index 00000000000..6b64f844204
--- /dev/null
+++ b/ui/src/views/workflow/application/components/ButtonAiGenerate.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+ {{ label }}
+
+
+
diff --git a/ui/src/views/workflow/application/components/ButtonDebug.vue b/ui/src/views/workflow/application/components/ButtonDebug.vue
new file mode 100644
index 00000000000..91d588cf884
--- /dev/null
+++ b/ui/src/views/workflow/application/components/ButtonDebug.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/views/workflow/application/ButtonPublishHistory.vue b/ui/src/views/workflow/application/components/ButtonPublishHistory.vue
similarity index 93%
rename from ui/src/views/workflow/application/ButtonPublishHistory.vue
rename to ui/src/views/workflow/application/components/ButtonPublishHistory.vue
index a4bb8bbb828..1350fb51e58 100644
--- a/ui/src/views/workflow/application/ButtonPublishHistory.vue
+++ b/ui/src/views/workflow/application/components/ButtonPublishHistory.vue
@@ -7,7 +7,7 @@ import PublishHistoryDrawer from '@/views/workflow/components/publish-history/Pu
defineOptions({ name: 'ButtonApplicationPublishHistory' })
-const props = defineProps<{ api: typeof WorkflowApi; applicationId: string; selectedId?: string; disabled?: boolean }>()
+const props = defineProps<{ label: string; api: typeof WorkflowApi; applicationId: string; selectedId?: string; disabled?: boolean }>()
const visible = defineModel
('visible', { default: false })
const emit = defineEmits<{
open: []
@@ -65,7 +65,7 @@ function handleSubmit(payload: WorkflowVersionPayload, versionId?: string) {
- 发布历史
+ {{ label }}
()
const emit = defineEmits<{ open: []; use: [template: ApplicationStoreTemplate] }>()
const templateStoreDialogRef = useTemplateRef>('templateStoreDialogRef')
@@ -41,7 +42,7 @@ defineExpose({ close })
- 模板中心
+ {{ label }}
>('workflowRef')
-const aiGeneratePanelRef = useTemplateRef>('aiGeneratePanelRef')
-
-/* AI 生成:在当前画布上按需求搭建并配置工作流 */
-function handleOpenAiGenerate() {
- if (loading.value || historyVisible.value) return
- closeDebug()
- aiGeneratePanelRef.value?.open()
-}
/* 智能体工作流加载与保存 */
const applicationDetail = ref()
@@ -140,23 +132,10 @@ function handleAutoSaveChange() {
}
/* 调试入口 */
-const debugPanelRef = useTemplateRef>('debugPanelRef')
-
-async function handleDebug() {
- if (loading.value || historyVisible.value) return
- loading.value = true
- try {
- if (hasUnsavedChanges()) await saveApplication()
- debugPanelRef.value?.open()
- } catch {
- // 保存失败已由保存流程提示。
- } finally {
- loading.value = false
- }
-}
+const debugButtonRef = useTemplateRef>('debugButtonRef')
function closeDebug() {
- debugPanelRef.value?.close()
+ debugButtonRef.value?.close()
}
/* 发布历史:预览保留原草稿,恢复后交由页面保存流程持久化。 */
@@ -341,16 +320,20 @@ onBeforeUnmount(() => stopAutoSave())
-
-
- AI 生成
-
+
-
+
stopAutoSave())
/>
-
-
- 调试
-
+
-
-
- 保存
-
+
+
+
+
+
发布
@@ -388,6 +376,7 @@ onBeforeUnmount(() => stopAutoSave())
stopAutoSave())
:loop-workflow-mode="WorkflowMode.ApplicationLoop"
:workflow-mode="WorkflowMode.Application"
/>
-
-
-