diff --git a/src/lang/en.ts b/src/lang/en.ts index f672a9f..0db9570 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -155,6 +155,9 @@ export default { deleteSuccess: 'Successfully deleted', thinking: 'Thinking...', thinkComplete: 'Thinking complete.', + quote: 'Quote', + delete: 'Delete', + edit: 'Edit', }, // Version Tree diff --git a/src/lang/zh-cn.ts b/src/lang/zh-cn.ts index b5bd8f6..44e444c 100644 --- a/src/lang/zh-cn.ts +++ b/src/lang/zh-cn.ts @@ -149,7 +149,10 @@ export default { Download: '下载', deleteSuccess: '删除成功', thinking:'已思考', - thinkComplete: '思考完成。' + thinkComplete: '思考完成。', + quote: '引用', + delete: '删除', + edit: '编辑', }, // Version Tree diff --git a/src/stores/agent.ts b/src/stores/agent.ts index 34c458e..3fbdfe9 100644 --- a/src/stores/agent.ts +++ b/src/stores/agent.ts @@ -15,6 +15,8 @@ type InitialProjectData = { style: string useReport:boolean needSuggestion:boolean + quoteList: Array + tempImages: any[] } export const useAgentStore = defineStore('agent', () => { const initialProjectData = ref(null) diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue index c3ad3d2..8c5fedb 100644 --- a/src/views/home/agent/components/Agent.vue +++ b/src/views/home/agent/components/Agent.vue @@ -64,7 +64,8 @@ region: '', style: '' }, - imageUrlList: [] + imageUrlList: [], + quotaUrl: [] }) const sketchList = ref([]) @@ -110,7 +111,8 @@ text: initialData.text, images: initialData.images, useReport: initialData.useReport, - tempImages: initialData.tempImages + tempImages: initialData.tempImages, + quoteList: initialData.quoteList }) // 更新 configParams @@ -125,6 +127,7 @@ images: Array<{ url: string; name: string }> tempImages: any[] useReport: boolean + quoteList: Array }, skipUserMessage = false ) => { @@ -136,14 +139,14 @@ } params.imageUrlList = message.images || [] - + params.quotaUrl = message.quoteList || [] // 如果不是重新生成模式,则添加用户消息到列表 if (!skipUserMessage) { messageList.value.push({ id: messageList.value.length + 1, text: message.text, isUser: true, - imageUrls: message.tempImages + imageUrls: message.tempImages.concat(message.quoteList) }) } @@ -223,6 +226,8 @@ let hasReportStarted = false // 标记 report 是否已经开始 let hasSketchEvent = false + let hasReportEvent = false + try { let flag = true while (flag) { @@ -231,6 +236,9 @@ if (hasSketchEvent) { aiMessage.text += `` } + if (hasReportEvent) { + aiMessage.text += `` + } aiMessage.streaming = false aiMessage.loading = false @@ -256,7 +264,8 @@ if (!hasReportStarted && eventName === 'report') { isGeneratingReport.value = true - contentBody += `` + hasReportEvent = true + // contentBody += `` hasReportStarted = true } @@ -588,7 +597,7 @@ nextTick(() => { ancestorsList.forEach((item) => { - if (item.image_url) { + if (item.image_url && item.role !== 'user') { item.text += `` } }) diff --git a/src/views/home/agent/components/Item.vue b/src/views/home/agent/components/Item.vue index 1597d49..b892d75 100644 --- a/src/views/home/agent/components/Item.vue +++ b/src/views/home/agent/components/Item.vue @@ -129,7 +129,7 @@ }>() // watch( - // () => props.content, + // () => props, // (newVal) => { // console.log('newVal-----', newVal) // }, @@ -139,8 +139,12 @@ const emit = defineEmits(['regenerate']) const imageList = computed(() => { - const { imageUrls } = props.content + const { imageUrls, role } = props.content const list = [] + if (role === 'user') { + const quotaList = props.content.image_url ?? [] + list.push(...quotaList) + } if (!imageUrls || imageUrls.length === 0) return list imageUrls.forEach((item) => { if (typeof item === 'string') { diff --git a/src/views/home/agent/components/Preview.vue b/src/views/home/agent/components/Preview.vue index e86a782..18d8aab 100644 --- a/src/views/home/agent/components/Preview.vue +++ b/src/views/home/agent/components/Preview.vue @@ -13,12 +13,15 @@ @@ -37,7 +40,7 @@ class="edit-btn flex align-center space-between" @click="handleClickEdit(item)" > -
Edit
+
{{ $t('agent.edit') }}
@@ -218,6 +221,12 @@ myEvent.emit('openFlowCanvas', { url, imgId, nodeId }) } + const handleClickQuote = (item) => { + console.log(item) + const url = Object.values(item)[0] + MyEvent.emit('quote', url) + } + const handleClickDelete = (item: string | Object) => { deleteSketchFlowCanvas({ id: Object.keys(item)[0], diff --git a/src/views/home/agent/components/ReportCard.vue b/src/views/home/agent/components/ReportCard.vue index b30ba75..6f17ef1 100644 --- a/src/views/home/agent/components/ReportCard.vue +++ b/src/views/home/agent/components/ReportCard.vue @@ -48,8 +48,12 @@ } &.is-sketch { background: url('@/assets/images/sketch-card.png') no-repeat; - background-size: contain; padding: 2rem 3rem; + max-width: 52.5rem; + height: 8rem; + box-sizing: border-box; + background-size: 100% 100%; + min-height: initial; .report-card-header { margin-bottom: 0; } diff --git a/src/views/home/agent/components/SketchCard.vue b/src/views/home/agent/components/SketchCard.vue index a0397df..aa785df 100644 --- a/src/views/home/agent/components/SketchCard.vue +++ b/src/views/home/agent/components/SketchCard.vue @@ -7,9 +7,5 @@ diff --git a/src/views/home/components/Input.vue b/src/views/home/components/Input.vue index 02650ff..e16d797 100644 --- a/src/views/home/components/Input.vue +++ b/src/views/home/components/Input.vue @@ -2,15 +2,17 @@
-
+
@@ -211,7 +213,8 @@
@@ -222,7 +225,7 @@