From db277254f9990f439f0aea06124f2a2f3b156c0a Mon Sep 17 00:00:00 2001 From: dong <58670809@qq.com> Date: Fri, 22 Dec 2023 14:44:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E5=88=B6=E6=8B=96=E6=8B=BD=E5=BC=B9?= =?UTF-8?q?=E7=AA=97Y=E8=BD=B4=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/DraggableDialog.vue | 15 ++++++++++++--- xian-ncc-da-message | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/components/common/DraggableDialog.vue b/src/components/common/DraggableDialog.vue index 12807bd..65310a8 100644 --- a/src/components/common/DraggableDialog.vue +++ b/src/components/common/DraggableDialog.vue @@ -89,6 +89,7 @@ const offset = reactive({ }); const start = { x: 0, y: 0 }; +const startOffset = { x: 0, y: 0 }; onMounted(() => { window.addEventListener('mousedown', onMouseDown); @@ -99,16 +100,24 @@ onUnmounted(() => { }); function onMove(e: MouseEvent) { - [offset.x, offset.y] = [e.screenX - start.x, e.screenY - start.y]; + let y = e.clientY > startOffset.y ? e.clientY : startOffset.y; + if (y > window.innerHeight - props.titleHeight + startOffset.y) { + y = window.innerHeight - props.titleHeight + startOffset.y; + } + [offset.x, offset.y] = [e.clientX - start.x, y - start.y]; } function onMouseUp() { window.removeEventListener('mousemove', onMove); window.removeEventListener('mouseup', onMouseUp); + startOffset.x = 0; + startOffset.y = 0; } function onMouseDown(e: MouseEvent) { if (headerRef.value?.$el !== e.target) return; - start.x = e.screenX - offset.x; - start.y = e.screenY - offset.y; + startOffset.x = e.offsetX; + startOffset.y = e.offsetY; + start.x = e.clientX - offset.x; + start.y = e.clientY - offset.y; window.addEventListener('mousemove', onMove); window.addEventListener('mouseup', onMouseUp); } diff --git a/xian-ncc-da-message b/xian-ncc-da-message index 509c8f3..c20feed 160000 --- a/xian-ncc-da-message +++ b/xian-ncc-da-message @@ -1 +1 @@ -Subproject commit 509c8f3f91257e1c489c2bb2435fa66f0fc29cab +Subproject commit c20feed4b6ae3bdd02cb21b4cc5af03c55be869b