From 5fa6aa5e1c1f7a1734a623cbb2d34601168bfd85 Mon Sep 17 00:00:00 2001 From: xudan Date: Thu, 24 Jul 2025 11:12:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B3=A8=E9=87=8A=E6=8E=89?= =?UTF-8?q?=E5=AF=86=E9=9B=86=E5=BA=93=E5=8C=BA=E7=82=B9=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BC=96=E8=BE=91=E5=99=A8=E6=9C=8D=E5=8A=A1=E4=BB=A5?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E4=B8=B4=E6=97=B6=E8=A7=86=E5=9B=BE=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E7=82=B9=E5=B9=B6=E6=B8=85=E7=90=86=E7=94=BB=E5=B8=83?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/map/constant.ts | 2 +- src/services/editor.service.ts | 5 +++++ src/services/useViewState.ts | 13 ++++++++----- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/apis/map/constant.ts b/src/apis/map/constant.ts index f3b86f1..5c4cfea 100644 --- a/src/apis/map/constant.ts +++ b/src/apis/map/constant.ts @@ -19,7 +19,7 @@ export enum MapPointType { /** 库区点 - 仓储作业区域 */ 库区点, /** 密集库区点 - 密集库区点位 */ - 密集库区点, + // 密集库区点, /** 电梯点 - 机器人乘坐电梯的专用点位 */ 电梯点 = 11, diff --git a/src/services/editor.service.ts b/src/services/editor.service.ts index dbf80dc..de7ec54 100644 --- a/src/services/editor.service.ts +++ b/src/services/editor.service.ts @@ -198,6 +198,11 @@ export class EditorService extends Meta2d { #mapScenePoint(pen?: MapPen): StandardScenePoint | null { if (!pen?.id || isEmpty(pen?.point)) return null; + + // 过滤掉临时视图中心点 + if (pen.id.includes('view-center-point')) { + return null; + } const { id, label, desc, properties } = pen; const { type, extensionType, robots, actions, associatedStorageLocations, deviceId } = pen.point; const { x = 0, y = 0 } = this.getPointRect(pen) ?? {}; diff --git a/src/services/useViewState.ts b/src/services/useViewState.ts index 20a24b4..9831161 100644 --- a/src/services/useViewState.ts +++ b/src/services/useViewState.ts @@ -223,13 +223,16 @@ export function useViewState() { // 跳转到临时点 editor.gotoById(centerPointId); - // 延迟移除临时点 + // 延迟清理临时点(保存时已自动过滤,这里只是为了清理画布显示) setTimeout(() => { - const tempPen = editor.getPenById(centerPointId); - if (tempPen) { - editor.delete([tempPen]); + const remainingPoints = editor + .find('point') + .filter((point) => point.id && point.id.includes('view-center-point')); + if (remainingPoints && remainingPoints.length > 0) { + editor.delete(remainingPoints); + console.log(`清理了 ${remainingPoints.length} 个临时点`); } - }, 100); + }, 500); // 增加延迟确保跳转完成 } catch (error) { console.error('跳转到指定位置失败:', error); }