@@ -225,6 +225,11 @@ defineExpose({push})
margin-bottom: 2rem;
background-color: #ffffff;
cursor: pointer;
+ pointer-events: none;
+ &.active{
+ background-color: #f5f5f5;
+ pointer-events: auto;
+ }
&:hover{
background-color: #f5f5f5;
}
diff --git a/src/views/home/agent/index.vue b/src/views/home/agent/index.vue
index cf8a1da..1c8a4ce 100644
--- a/src/views/home/agent/index.vue
+++ b/src/views/home/agent/index.vue
@@ -66,7 +66,11 @@
getProjectInfo({ id: projectStore.state.id }).then((res) => {
// console.log('1111111',res);
agentRef.value.setChatInfo(res.conversation)
- projectStore.setProject(res.project)
+ let data = res.project
+ if(data.latestNodeId)data.nodeId = data.latestNodeId
+ projectStore.setProject({
+ ...data,
+ })
})
}
From 4857376736247da4388dc8f4966955f7d458727c Mon Sep 17 00:00:00 2001
From: "X1627315083@163.com" <1627315083@qq.com>
Date: Mon, 2 Mar 2026 13:40:17 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=B9=E8=AF=9D?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E6=B2=A1=E6=9C=89=E6=9B=B4=E6=96=B0=E6=A0=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../agent/components/versionTree/index.vue | 3 ++-
.../components/versionTree/tree/index.vue | 5 -----
.../versionTree/tree/view2/index.vue | 2 +-
src/views/home/agent/index.vue | 22 ++++++-------------
4 files changed, 10 insertions(+), 22 deletions(-)
diff --git a/src/views/home/agent/components/versionTree/index.vue b/src/views/home/agent/components/versionTree/index.vue
index 7f71d0e..4bab113 100644
--- a/src/views/home/agent/components/versionTree/index.vue
+++ b/src/views/home/agent/components/versionTree/index.vue
@@ -29,7 +29,7 @@ const projectStore = useProjectStore()
let oldProjectId:any = ''
watch(()=>props.versionTreeData?.drawer, (newVal, oldVal) => {
console.log(newVal,oldProjectId,projectStore.state.id)
- if(newVal && oldProjectId !== projectStore.state.id && projectStore.state.id){
+ if(newVal || (oldProjectId !== projectStore.state.id && projectStore.state.id)){
getVersionTree()
oldProjectId = JSON.parse(JSON.stringify(projectStore.state.id))
}
@@ -41,6 +41,7 @@ const getVersionTree = ()=>{
}).then(res => {
if(!res)return
setVersionsList([res])
+ treeKey.value++
})
}
diff --git a/src/views/home/agent/components/versionTree/tree/index.vue b/src/views/home/agent/components/versionTree/tree/index.vue
index f3650fe..6713261 100644
--- a/src/views/home/agent/components/versionTree/tree/index.vue
+++ b/src/views/home/agent/components/versionTree/tree/index.vue
@@ -73,7 +73,6 @@ const initialize = ()=>{
const setSelectItem = (item)=>{
if(!item.versionId)return
- console.log(item)
projectStore.setProject({nodeId: item.id})
emit('update:selectItem', {...item})
emit('selectNode')
@@ -97,10 +96,6 @@ watch(()=>treeStateTime.value,(newVal,oldVal)=>{
}
})
-watch(()=>props.selectItem,(newVal,oldVal)=>{
- // scrollToActive()
-},{immediate: true})
-
onMounted(()=>{
initialize()
})
diff --git a/src/views/home/agent/components/versionTree/tree/view2/index.vue b/src/views/home/agent/components/versionTree/tree/view2/index.vue
index d1770f4..9db3f8a 100644
--- a/src/views/home/agent/components/versionTree/tree/view2/index.vue
+++ b/src/views/home/agent/components/versionTree/tree/view2/index.vue
@@ -125,7 +125,7 @@ defineExpose({push})
-->
-
+
diff --git a/src/views/home/agent/index.vue b/src/views/home/agent/index.vue
index 1c8a4ce..c902340 100644
--- a/src/views/home/agent/index.vue
+++ b/src/views/home/agent/index.vue
@@ -63,11 +63,10 @@
}
const handleGetProjectInfoAndHistory = () => {
- getProjectInfo({ id: projectStore.state.id }).then((res) => {
- // console.log('1111111',res);
- agentRef.value.setChatInfo(res.conversation)
- let data = res.project
- if(data.latestNodeId)data.nodeId = data.latestNodeId
+ getProjectInfo({ id: route.params.id }).then((res) => {
+ if(res?.conversation)agentRef.value.setChatInfo(res.conversation)
+ let data = res?.project || res
+ if(data?.latestNodeId)data.nodeId = data.latestNodeId
projectStore.setProject({
...data,
})
@@ -79,15 +78,7 @@
watch(
() => proJectId.value,
(newVal, oldVal) => {
- if (newVal) {
- projectStore.clearProject()
- projectStore.setId(newVal)
- }
- }
- )
- watch(
- () => projectStore.state.id,
- (newVal, oldVal) => {
+ projectStore.clearProject()
if (newVal) {
handleGetProjectInfoAndHistory()
}
@@ -95,7 +86,8 @@
)
onMounted(() => {
- if (projectStore.state.id) {
+ projectStore.clearProject()
+ if (proJectId.value) {
handleGetProjectInfoAndHistory()
}
})
From c0fa621ecce43cfb9365be6ece0e83fa84fb74c4 Mon Sep 17 00:00:00 2001
From: zhangyahui
Date: Mon, 2 Mar 2026 13:40:34 +0800
Subject: [PATCH 5/7] =?UTF-8?q?feat:=20=E6=96=87=E4=BB=B6=E9=95=BF?=
=?UTF-8?q?=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/upload.ts | 7 ++++++
src/views/home/components/Input.vue | 39 ++++++++++++++++-------------
2 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/src/api/upload.ts b/src/api/upload.ts
index d95ed38..9cd07a6 100644
--- a/src/api/upload.ts
+++ b/src/api/upload.ts
@@ -1,2 +1,9 @@
import request from '@/utils/request'
+export const uploadImage = (data: FormData) => {
+ return request({
+ url: '/api/file/upload',
+ method: 'POST',
+ data
+ })
+}
diff --git a/src/views/home/components/Input.vue b/src/views/home/components/Input.vue
index 963c598..e9aeb18 100644
--- a/src/views/home/components/Input.vue
+++ b/src/views/home/components/Input.vue
@@ -188,6 +188,7 @@
import restoreCloseIcon from '@/assets/images/tag-close.png'
import { createProject } from '@/api/agent'
import { getStyleImage } from './style'
+ import { uploadImage } from '@/api/upload'
// import Tag from './Tag.vue'
const router = useRouter()
@@ -221,18 +222,26 @@
// 处理文件选择
const handleFileChange = (event: Event) => {
const input = event.target as HTMLInputElement
+
if (input.files) {
Array.from(input.files).forEach((file) => {
// 只处理图片文件
if (file.type.startsWith('image/')) {
- const reader = new FileReader()
- reader.onload = (e) => {
- uploadedImages.value.push({
- url: e.target?.result as string,
- name: file.name
- })
- }
- reader.readAsDataURL(file)
+ const formData = new FormData()
+ formData.append('file', file)
+ uploadImage(formData).then((res) => {
+ console.log(res)
+
+ const reader = new FileReader()
+ reader.onload = (e) => {
+ uploadedImages.value.push({
+ url: e.target?.result as string,
+ name: file.name,
+ path: res
+ })
+ }
+ reader.readAsDataURL(file)
+ })
}
})
}
@@ -293,7 +302,6 @@
imgClose.src = closeIcon as unknown as string
}
-
textSpan.innerText = tagText
imgClose.addEventListener('click', (ev) => {
@@ -467,19 +475,15 @@
}
const handleSendAgent = async () => {
- console.log('发送信息--------')
-
if (props.generating) {
emits('pause')
return
}
if (!inputValue.value.trim()) return
- console.log('222222')
+ const imageUrlList = uploadedImages.value.map((item) => item.path)
- const payload = { text: inputValue.value.trim(), images: uploadedImages.value }
- console.log('准备发送 send 事件', payload)
+ const payload = { text: inputValue.value.trim(), images: imageUrlList }
emits('send', payload)
- console.log('send 事件已发送')
// 发送后清空输入框
if (editorRef.value) {
@@ -1056,15 +1060,14 @@
height: 1rem;
cursor: pointer;
flex-shrink: 0;
- &.restore{
+ &.restore {
width: 0.5rem;
height: 0.5rem;
}
}
- .restore-icon{
+ .restore-icon {
width: 1.2rem;
height: 1.2rem;
}
-
}
From 4aa0ef3fd5dd1bfbff442350862e571a5707c8c6 Mon Sep 17 00:00:00 2001
From: zhangyahui
Date: Mon, 2 Mar 2026 13:44:10 +0800
Subject: [PATCH 6/7] =?UTF-8?q?feat:=20=E5=AF=B9=E8=AF=9D=E4=B8=AD?=
=?UTF-8?q?=E4=BA=A7=E7=94=9F=E6=96=B0=E7=9A=84nodeId=E6=97=B6=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E5=88=B0store?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/home/agent/components/Agent.vue | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue
index ef6d064..56b9c70 100644
--- a/src/views/home/agent/components/Agent.vue
+++ b/src/views/home/agent/components/Agent.vue
@@ -26,7 +26,7 @@
import Input from '../../components/Input.vue'
import { fetchAgentReply } from '@/api/agent'
import type { AgentParamsType } from '@/api/agent'
- import { useUserInfoStore, useProjectStore } from '@/stores'
+ import { useUserInfoStore, useProjectStore, } from '@/stores'
import { useAgentStore } from '@/stores/agent'
const userStore = useUserInfoStore()
@@ -252,6 +252,7 @@
// console.log('dataLInes', dataLines)
if (isNodeIdEvent) {
params.versionID = dataLines[0]
+ projectStore.setId({nodeId:dataLines[0]})
}
if (dataLines.length === 0) continue
From 8912e1fa740120899c7bf64be340896487fb04cc Mon Sep 17 00:00:00 2001
From: zhangyahui
Date: Mon, 2 Mar 2026 13:45:01 +0800
Subject: [PATCH 7/7] =?UTF-8?q?bugfix:=20nodeId=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/home/agent/components/Agent.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue
index 56b9c70..c28f9c1 100644
--- a/src/views/home/agent/components/Agent.vue
+++ b/src/views/home/agent/components/Agent.vue
@@ -252,7 +252,7 @@
// console.log('dataLInes', dataLines)
if (isNodeIdEvent) {
params.versionID = dataLines[0]
- projectStore.setId({nodeId:dataLines[0]})
+ projectStore.setProject({nodeId:dataLines[0]})
}
if (dataLines.length === 0) continue