diff --git a/src/assets/images/delete.png b/src/assets/images/delete.png
new file mode 100644
index 0000000..3f1a999
Binary files /dev/null and b/src/assets/images/delete.png differ
diff --git a/src/assets/images/restore-sketch.png b/src/assets/images/restore-sketch.png
new file mode 100644
index 0000000..51a7162
Binary files /dev/null and b/src/assets/images/restore-sketch.png differ
diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue
index 89c9edf..9314440 100644
--- a/src/views/home/agent/components/Agent.vue
+++ b/src/views/home/agent/components/Agent.vue
@@ -428,7 +428,6 @@
const setChatInfo = (info) => {
const initialData = agentStore.getInitialProjectData
if (isGenerating.value || initialData) return
- console.log('info0----', info)
const data = info.conversation
let project = info.project
@@ -457,7 +456,9 @@
let ancestorsIdCounter = 1
if (ancestors) {
ancestors.forEach((item) => {
- imgList = imgList.concat(current.sketchIDAndUrl)
+ if (item.sketchIDAndUrl) {
+ imgList = imgList.concat(item.sketchIDAndUrl)
+ }
const list = processDialogue(item.dialogue, 0, imgList)
// 重新设置 id
list.forEach((el) => {
@@ -467,7 +468,10 @@
})
}
const currentList = processDialogue(current?.dialogue, 0, imgList)
- imgList = imgList.concat(current.sketchIDAndUrl)
+ if (current.sketchIDAndUrl) {
+ imgList = imgList.concat(current.sketchIDAndUrl)
+ }
+
currentList.forEach((el, index) => {
el.id = index + 1 + ancestorsList.length
})
diff --git a/src/views/home/agent/components/Preview.vue b/src/views/home/agent/components/Preview.vue
index 628976a..85ed2fc 100644
--- a/src/views/home/agent/components/Preview.vue
+++ b/src/views/home/agent/components/Preview.vue
@@ -9,7 +9,30 @@
v-for="(item, index) in sketchList"
:key="'sketch-item-' + index"
>
-
+
>({})
@@ -152,6 +178,9 @@
// 获取当前显示的图片源
const getImageSrc = (item: string, index: number) => {
+ if (item === null) {
+ return null
+ }
if (typeof item === 'string') {
return loadedStatus[index] ? item : LoadingImg
}
@@ -160,15 +189,31 @@
}
}
- const handleClickEdit = (item: string) => {
- const url = Object.values(item)[0]
- const imgId = Object.keys(item)[0]
- const nodeId = projectStore.state.nodeId
+ const handleClickEdit = (item: string | Object) => {
+ let url = ''
+ let imgId = ''
+ let nodeId = ''
+ if (typeof item === 'string') {
+ url = item
+ }
+ if (typeof item === 'object') {
+ url = Object.values(item)[0]
+ imgId = Object.keys(item)[0]
+ nodeId = projectStore.state.nodeId
+ }
myEvent.emit('openFlowCanvas', { url, imgId, nodeId })
}
- const handleClickMenu = () => {
- // 菜单按钮点击逻辑
- console.log('Menu button clicked')
+
+ const handleClickDelete = (item: string | Object) => {
+ deleteSketchFlowCanvas({
+ id: Object.keys(item)[0],
+ versionNodeId: projectStore.state.nodeId
+ }).then((res) => {
+ if (res) {
+ ElMessage.success('Delete success')
+ emits('deleteSketch', Object.keys(item)[0])
+ }
+ })
}
@@ -191,10 +236,21 @@
height: 100%;
border-radius: 1.6rem;
}
- .menu-btn {
+ :deep(.menu-btn) {
position: absolute;
top: 2.1rem;
right: 1.5rem;
+
+ .dropdown-icon {
+ &.restore {
+ width: 1.4rem;
+ height: 1.3rem;
+ }
+ &.delete {
+ width: 1.2rem;
+ height: 1.3rem;
+ }
+ }
}
.edit-btn {
position: absolute;
@@ -287,4 +343,8 @@
}
}
}
+ :deep(.el-dropdown-menu__item) {
+ column-gap: 1.2rem;
+ padding: 1.2rem 1.4rem;
+ }
diff --git a/src/views/home/agent/index.vue b/src/views/home/agent/index.vue
index 910a793..dcfe397 100644
--- a/src/views/home/agent/index.vue
+++ b/src/views/home/agent/index.vue
@@ -6,7 +6,7 @@
{
+ sketchList.value = sketchList.value.filter((item) => {
+ if (typeof item === 'object') {
+ return Object.keys(item)[0] !== deletedId
+ }
+ return true
+ })
+ }
+
const versionTreeData = ref({
drawer: false
})