From fb4e1b021f71c7b2429aa3d8f8701c2111db0840 Mon Sep 17 00:00:00 2001 From: yuliang <398780299@qq.com> Date: Tue, 24 Jun 2025 14:18:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?cl2=20=E6=8E=A5=E5=85=A5amr=E6=8C=87?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/manager/EntityManager.ts | 15 +++++++++++++++ src/core/script/ModelManager.ts | 7 +++++++ src/modules/cl2/Cl23dObject.ts | 6 +++++- src/modules/cl2/Cl2Entity.ts | 2 +- src/types/ScriptSupport.d.ts | 7 +++++++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/core/manager/EntityManager.ts b/src/core/manager/EntityManager.ts index 7fd4756..ba1e160 100644 --- a/src/core/manager/EntityManager.ts +++ b/src/core/manager/EntityManager.ts @@ -504,6 +504,21 @@ export default class EntityManager { return this.___entityMap.get(linkStartPointId) } + findItemByLogicXY(logicX: number, logicY: number): ItemJson | undefined { + if (logicX < 0 || logicY < 0) { + return + } + let item: ItemJson | undefined = undefined + this.___entityMap.forEach((value) => { + if (value.logicX === logicX && value.logicY === logicY) { + item = value + return + } + }) + return item + } + + getObjectByCanvasMouse(event: MouseEvent): Object3DLike[] { const _domElement = this.viewport.renderer.domElement const rect = _domElement.getBoundingClientRect() diff --git a/src/core/script/ModelManager.ts b/src/core/script/ModelManager.ts index 7581562..38662a6 100644 --- a/src/core/script/ModelManager.ts +++ b/src/core/script/ModelManager.ts @@ -81,6 +81,13 @@ export default class ModelManager implements IControls, Model { matrix.decompose(position, new THREE.Quaternion(), new THREE.Vector3()) return position } + getPositionByLogicXY(logicX: number, logicY: number): THREE.Vector3 { + const item = this.viewport.entityManager.findItemByLogicXY(logicX, logicY) + const matrix = getMatrixFromTf(item.tf) + const position = new THREE.Vector3() + matrix.decompose(position, new THREE.Quaternion(), new THREE.Vector3()) + return position + } dispose() { this.viewport = null as any diff --git a/src/modules/cl2/Cl23dObject.ts b/src/modules/cl2/Cl23dObject.ts index 983aafc..5ef104f 100644 --- a/src/modules/cl2/Cl23dObject.ts +++ b/src/modules/cl2/Cl23dObject.ts @@ -516,8 +516,12 @@ export default class Cl23dObject extends THREE.Object3D { if (data.id === 10010) { const cl2: Cl2Entity = Model.getCl2("10") as Cl2Entity cl2.addRobotTask(data) - cl2.taskStartRun() + this.fn(cl2) } } + fn = _.debounce((cl2: Cl2Entity) => { + cl2.taskStartRun() + }, 2000) + } diff --git a/src/modules/cl2/Cl2Entity.ts b/src/modules/cl2/Cl2Entity.ts index 591c8a5..280ffe0 100644 --- a/src/modules/cl2/Cl2Entity.ts +++ b/src/modules/cl2/Cl2Entity.ts @@ -47,7 +47,7 @@ export default class Cl2Entity extends BaseEntity { () => this.cl2Object.addRotation(moveDirection * Math.PI/2) )) this.taskQueue.add(this.createTask('TRAVEL', - () => this.cl2Object.addTravel(Model.getPositionByEntityId(link.id) ,Math.abs(link.Speed/1000)) + () => this.cl2Object.addTravel(Model.getPositionByLogicXY(link.X, link.Y) ,Math.abs(link.Speed/1000)) )) startX = link.X startY = link.Y diff --git a/src/types/ScriptSupport.d.ts b/src/types/ScriptSupport.d.ts index 1ef3628..e9639ab 100644 --- a/src/types/ScriptSupport.d.ts +++ b/src/types/ScriptSupport.d.ts @@ -1,3 +1,5 @@ +import * as THREE from "three"; + /** * 物流模型 API 接口 */ @@ -14,6 +16,11 @@ declare interface Model { getPositionByEntityId(entityId: string): Vector3IF /** + * 根据逻辑坐标获取位置 + */ + getPositionByLogicXY(logicX: number, logicY: number): THREE.Vector3 + + /** * 根据ID获取 CL2 叉车控制器 */ getCl2(id: string): Cl2If From 9a644cf6d96753438c75fb0cfc42b70e46ff350c Mon Sep 17 00:00:00 2001 From: lizw-2015 <1183409807@qq.com> Date: Tue, 24 Jun 2025 17:47:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat(user):=20=E5=88=9B=E5=BB=BA=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加用户管理页面的基本结构和样式 - 实现查询表单和数据表格的功能 - 添加新增和删除按钮 - 优化页面布局和样式 --- src/views/user/users.vue | 130 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 123 insertions(+), 7 deletions(-) diff --git a/src/views/user/users.vue b/src/views/user/users.vue index cea3ce3..599acae 100644 --- a/src/views/user/users.vue +++ b/src/views/user/users.vue @@ -1,12 +1,128 @@ + + - - + From 9c445d9b2aed981f47dc3060e8f952f6957a61cd Mon Sep 17 00:00:00 2001 From: lizw-2015 <1183409807@qq.com> Date: Tue, 24 Jun 2025 17:50:42 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat(user):=20=E5=88=9B=E5=BB=BA=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加角色管理页面的基本结构和样式 - 实现查询表单和数据表格的功能 - 添加新增和删除按钮 - 优化页面布局和样式 --- src/views/user/roles.vue | 129 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 122 insertions(+), 7 deletions(-) diff --git a/src/views/user/roles.vue b/src/views/user/roles.vue index ce510db..f592f69 100644 --- a/src/views/user/roles.vue +++ b/src/views/user/roles.vue @@ -1,12 +1,127 @@ + + - - +