Files
X-Financial/web/src/views/PersonalWorkbenchView.vue
caoxiaozhu 304bbe1fd4 feat(web): 工作台 AI 模式报销预审与文档查询模型拆分
- 新增 aiApplicationPrecheckModel/aiDocumentQueryModel/aiApplicationPreviewActions/aiConversationHtmlRenderer 四个独立模型与服务,按职责从主组件拆出
- PersonalWorkbenchAiMode 接入拆分后的预审、文档查询与 HTML 渲染逻辑,配合 markdown 工具增强结构化展示
- 文档中心与归档筛选、风险可见性、申请预览等工具同步适配,补充对应单元测试
- 新增 AI 文档卡片背景资源
2026-06-20 10:17:37 +08:00

38 lines
1.4 KiB
Vue

<template>
<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)"
@open-document="emit('open-document', $event)"
/>
<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>
</template>
<script setup>
import PersonalWorkbenchAiMode from '../components/business/PersonalWorkbenchAiMode.vue'
import PersonalWorkbench from '../components/business/PersonalWorkbench.vue'
defineProps({
assistantModalOpen: { type: Boolean, default: false },
workbenchSummary: { type: Object, default: () => ({}) },
workbenchMode: { type: String, default: 'traditional' },
aiSidebarCommand: { type: Object, default: () => ({ seq: 0, type: '', payload: null }) }
})
const emit = defineEmits(['open-assistant', 'open-document', 'ai-conversation-change', 'ai-conversation-history-change'])
</script>
<style scoped src="../assets/styles/views/personal-workbench-view.css"></style>