mirror of
https://gitee.com/hhyykk/ipms-sjy-ui.git
synced 2025-02-01 19:24:58 +08:00
【功能新增】AI 大模型:支持思维导图的管理
This commit is contained in:
parent
7c73b800fa
commit
b2bdcdcf9c
@ -43,7 +43,7 @@ const props = defineProps<{
|
|||||||
isGenerating: boolean // 是否正在生成
|
isGenerating: boolean // 是否正在生成
|
||||||
isStart: boolean // 开始状态,开始时需要清除 html
|
isStart: boolean // 开始状态,开始时需要清除 html
|
||||||
}>()
|
}>()
|
||||||
const contentRef = ref<HTMLDivElement>() // 右侧出来header以下的区域
|
const contentRef = ref<HTMLDivElement>() // 右侧出来 header 以下的区域
|
||||||
const mdContainerRef = ref<HTMLDivElement>() // markdown 的容器,用来滚动到底下的
|
const mdContainerRef = ref<HTMLDivElement>() // markdown 的容器,用来滚动到底下的
|
||||||
const mindMapRef = ref<HTMLDivElement>() // 思维导图的容器
|
const mindMapRef = ref<HTMLDivElement>() // 思维导图的容器
|
||||||
const svgRef = ref<SVGElement>() // 思维导图的渲染 svg
|
const svgRef = ref<SVGElement>() // 思维导图的渲染 svg
|
||||||
@ -106,8 +106,7 @@ const processContent = (text: string) => {
|
|||||||
return arr.join('\n')
|
return arr.join('\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 下载图片 */
|
/** 下载图片:download SVG to png file */
|
||||||
// download SVG to png file
|
|
||||||
const downloadImage = () => {
|
const downloadImage = () => {
|
||||||
const svgElement = mindMapRef.value
|
const svgElement = mindMapRef.value
|
||||||
// 将 SVG 渲染到图片对象
|
// 将 SVG 渲染到图片对象
|
||||||
|
@ -40,7 +40,7 @@ const rightRef = ref<InstanceType<typeof Right>>() // 右边组件
|
|||||||
|
|
||||||
/** 使用已有内容直接生成 **/
|
/** 使用已有内容直接生成 **/
|
||||||
const directGenerate = (existPrompt: string) => {
|
const directGenerate = (existPrompt: string) => {
|
||||||
isEnd.value = false // 先设置为false再设置为true,让子组建的watch能够监听到
|
isEnd.value = false // 先设置为 false 再设置为 true,让子组建的 watch 能够监听到
|
||||||
generatedContent.value = existPrompt
|
generatedContent.value = existPrompt
|
||||||
isEnd.value = true
|
isEnd.value = true
|
||||||
}
|
}
|
||||||
|
@ -70,8 +70,9 @@
|
|||||||
width="180px"
|
width="180px"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="错误信息" align="center" prop="errorMessage" />
|
<el-table-column label="错误信息" align="center" prop="errorMessage" />
|
||||||
<el-table-column label="操作" align="center" width="100" fixed="right">
|
<el-table-column label="操作" align="center" width="120" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<el-button link type="primary" @click="openPreview(scope.row)"> 预览 </el-button>
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@ -91,12 +92,24 @@
|
|||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
|
<!-- 思维导图的预览 -->
|
||||||
|
<el-drawer v-model="previewVisible" :with-header="false" size="800px">
|
||||||
|
<Right
|
||||||
|
ref="rightRef"
|
||||||
|
:generatedContent="previewContent"
|
||||||
|
:isEnd="true"
|
||||||
|
:isGenerating="false"
|
||||||
|
:isStart="false"
|
||||||
|
/>
|
||||||
|
</el-drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { dateFormatter } from '@/utils/formatTime'
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
import { AiMindMapApi, MindMapVO } from '@/api/ai/mindmap'
|
import { AiMindMapApi, MindMapVO } from '@/api/ai/mindmap'
|
||||||
import * as UserApi from '@/api/system/user'
|
import * as UserApi from '@/api/system/user'
|
||||||
|
import Right from '@/views/ai/mindmap/index/components/Right.vue'
|
||||||
|
|
||||||
/** AI 思维导图 列表 */
|
/** AI 思维导图 列表 */
|
||||||
defineOptions({ name: 'AiMindMapManager' })
|
defineOptions({ name: 'AiMindMapManager' })
|
||||||
@ -154,6 +167,15 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO 芋艿:预览会报错
|
||||||
|
/** 预览操作按钮 */
|
||||||
|
const previewVisible = ref(false)
|
||||||
|
const previewContent = ref('')
|
||||||
|
const openPreview = (row: MindMapVO) => {
|
||||||
|
previewContent.value = row.generatedContent
|
||||||
|
previewVisible.value = true
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
getList()
|
getList()
|
||||||
|
Loading…
Reference in New Issue
Block a user