diff --git a/src/component/HomePage/ExportModel.vue b/src/component/HomePage/ExportModel.vue index 9c2394c4..4f12e0a2 100644 --- a/src/component/HomePage/ExportModel.vue +++ b/src/component/HomePage/ExportModel.vue @@ -357,8 +357,13 @@ export default defineComponent({ updateCanvasState() }); canvas.preserveObjectStacking = true; + console.log(canvas.wrapperEl); //鼠标移动 + // canvas.wrapperEl.onmouseover = setCanvasKeyDown;//document上添加按下和抬起事件 + // canvas.wrapperEl.onmouseout = clearCanvasKeyDown;//document上添加按下和抬起事件 canvas.on("mouse:over", event =>setCanvasKeyDown());//document上添加按下和抬起事件 + canvas.on("mouse:out", event =>clearCanvasKeyDown(e));//document上添加按下和抬起事件 + canvas.on("mouse:move", event =>setCanvasMove(event)); canvas.on("mouse:out", event=>setCanvasOut(event)); canvas.on("mouse:down", event=>setCanvasDown(event)); @@ -799,7 +804,6 @@ export default defineComponent({ switch (currentType.value.type) { case 'colorBoards': let rect = setGroup(currentType.value.data) - console.log(rect); setCanvasColor(pointerVpt.y, pointerVpt.x,rect) break case 'moodboardFiles': @@ -919,6 +923,8 @@ export default defineComponent({ // 监听键盘的 keydown 和 keyup 事件 let keyDown = [] let canvasKeyDown = (event) => { + console.log(123); + console.log(event); if(keyDown.indexOf(event.key)>-1){ }else{ keyDown.push(event.code) @@ -942,13 +948,26 @@ export default defineComponent({ return event.code !== item; }) } - let setCanvasKeyDown = ()=>{ - document.addEventListener('keydown',canvasKeyDown ); - document.addEventListener('keyup', canvasKeyUp); + let setCanvasKeyDown = (event)=>{ + let e = event || window.event + e.stopPropagation(); + document.addEventListener('keydown',canvasKeyDown,true); + document.addEventListener('keyup', canvasKeyUp,true); } - let clearCanvasKeyDown = ()=>{ - document.removeEventListener('keydown',canvasKeyDown ); - document.removeEventListener('keyup', canvasKeyUp); + let clearCanvasKeyDown = (pointer)=>{ + console.log(123222); + var pointer = canvas.getPointer(options.e); + var x = pointer.x; + var y = pointer.y; + + // 检查是否鼠标离开了画布 + if (x < 0 || x > canvas.width || y < 0 || y > canvas.height) { + // 执行你的操作 + console.log('鼠标离开了画布'); + } + + document.removeEventListener('keydown',canvasKeyDown,true); + document.removeEventListener('keyup', canvasKeyUp,true); } let canvasPencilColor = ref('#000000') let canvasPencilWidth = ref(20) @@ -1471,7 +1490,6 @@ export default defineComponent({ return } Https.axiosPost(Https.httpUrls.prepareForSR, data).then((rv) => { - store.dispatch('getCredits') emit('setTask',rv) cancelSRExport() }); diff --git a/src/component/HomePage/TaskPage.vue b/src/component/HomePage/TaskPage.vue index 979e8056..bcd695bc 100644 --- a/src/component/HomePage/TaskPage.vue +++ b/src/component/HomePage/TaskPage.vue @@ -195,6 +195,7 @@ export default defineComponent({ rv.forEach((rvItem:any) => { if(item.taskId==rvItem.taskId && rvItem.status == 'success'){ downloadIamge(rvItem.outputImage,rvItem.imageName) + this.store.dispatch('getCredits') let itemIndex = item.index this.taskListUnfinished[index] = rvItem this.taskListUnfinished[index].index = itemIndex