2026-05-05 18:22:47 +08:00
|
|
|
<template>
|
2026-06-18 22:12:24 +08:00
|
|
|
<Transition name="workbench-mode-fade" mode="out-in" appear>
|
|
|
|
|
<PersonalWorkbenchAiMode
|
|
|
|
|
v-if="workbenchMode === 'ai'"
|
|
|
|
|
key="ai"
|
|
|
|
|
:sidebar-command="aiSidebarCommand"
|
|
|
|
|
@conversation-change="emit('ai-conversation-change', $event)"
|
|
|
|
|
@conversation-history-change="emit('ai-conversation-history-change', $event)"
|
2026-06-20 10:17:37 +08:00
|
|
|
@open-document="emit('open-document', $event)"
|
2026-06-18 22:12:24 +08:00
|
|
|
/>
|
|
|
|
|
<PersonalWorkbench
|
|
|
|
|
v-else
|
|
|
|
|
key="traditional"
|
|
|
|
|
:show-header="false"
|
|
|
|
|
:assistant-modal-open="assistantModalOpen"
|
|
|
|
|
:workbench-summary="workbenchSummary"
|
|
|
|
|
@open-assistant="emit('open-assistant', $event)"
|
|
|
|
|
@open-document="emit('open-document', $event)"
|
|
|
|
|
/>
|
|
|
|
|
</Transition>
|
2026-05-05 18:22:47 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2026-06-18 22:12:24 +08:00
|
|
|
import PersonalWorkbenchAiMode from '../components/business/PersonalWorkbenchAiMode.vue'
|
2026-05-05 18:22:47 +08:00
|
|
|
import PersonalWorkbench from '../components/business/PersonalWorkbench.vue'
|
|
|
|
|
|
2026-05-19 17:24:13 +00:00
|
|
|
defineProps({
|
2026-05-28 09:30:34 +08:00
|
|
|
assistantModalOpen: { type: Boolean, default: false },
|
2026-06-18 22:12:24 +08:00
|
|
|
workbenchSummary: { type: Object, default: () => ({}) },
|
|
|
|
|
workbenchMode: { type: String, default: 'traditional' },
|
|
|
|
|
aiSidebarCommand: { type: Object, default: () => ({ seq: 0, type: '', payload: null }) }
|
2026-05-19 17:24:13 +00:00
|
|
|
})
|
|
|
|
|
|
2026-06-18 22:12:24 +08:00
|
|
|
const emit = defineEmits(['open-assistant', 'open-document', 'ai-conversation-change', 'ai-conversation-history-change'])
|
2026-05-05 18:22:47 +08:00
|
|
|
</script>
|
2026-06-18 22:12:24 +08:00
|
|
|
|
|
|
|
|
<style scoped src="../assets/styles/views/personal-workbench-view.css"></style>
|