From 7c32ab19d3bf4c601212314a1617bbb51c5fdd2a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 29 三月 2024 16:01:36 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js | 22 +++++++---------------
zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx | 12 ++++++++----
2 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js b/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
index 09babda..0ed9899 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
+++ b/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
@@ -57,7 +57,7 @@
initScene = () => {
const scene = new THREE.Scene();
// scene.background = new THREE.Color(0xf0f0f0);
- // scene.background = new THREE.Color(0x333333);
+ scene.background = new THREE.Color(0x333333);
if (help) {
scene.add(new THREE.AxesHelper(1000));
}
@@ -126,10 +126,9 @@
const raycaster = new THREE.Raycaster();
const mouse = new THREE.Vector2();
- this.dom.addEventListener("click", (event) => {
- this.handleClick("null");
- })
this.dom.addEventListener("dblclick", (event) => {
+ })
+ this.dom.addEventListener("click", (event) => {
let x, y;
if (event.changedTouches) {
x = event.changedTouches[0].pageX;
@@ -139,34 +138,27 @@
y = event.clientY;
}
event.preventDefault();
+ // mouse.x = (x / this.getFullWidth()) * 2 - 1;
+ // mouse.y = -(y / this.getFullHeight()) * 2 + 1;
mouse.x = (x / window.innerWidth) * 2 - 1;
mouse.y = -(y / window.innerHeight) * 2 + 1;
raycaster.setFromCamera(mouse, that.camera);
let intersects = raycaster.intersectObjects(that.objects, true);
+ console.log(intersects);
if (intersects.length === 0) {
- this.handleClick("null");
return;
}
let objName = intersects[0].object.name;
if (objName.startsWith("locNo")) {
-
if (this.handleClick) {
this.handleClick(objName, x, y);
}
-
- } else {
- this.handleClick("null");
}
-
}, false);
}
generateMesh = (fn) => {
- fn(this.scene);
- }
-
- handleClick = () => {
-
+ fn(this.addObject);
}
destroy = () => {
diff --git a/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx b/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
index 761672e..6b5e680 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
+++ b/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
@@ -73,23 +73,22 @@
const fetchShelfInfo = async (locNo) => {
const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo });
if (res?.data && shelfThree) {
- shelfThree.generateMesh((scene) => {
+ shelfThree.generateMesh((addObject) => {
for (const item of res.data) {
const { row, bay, lev } = Utils.parseLocNo(item.locNo);
- console.log(row, bay, lev);
// shelf
const shelfMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 40, 100), new THREE.MeshStandardMaterial({
color: '#006266',
}));
shelfMesh.position.set(0, 20 + 100 * (lev - 1), 0);
- scene.add(shelfMesh)
+ addObject(shelfMesh)
// pallet
const palletMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 60, 100), new THREE.MeshStandardMaterial({
color: '#2c2c54',
}));
palletMesh.position.set(0, 70 + 100 * (lev - 1), 0);
- scene.add(palletMesh)
+ addObject(palletMesh)
}
});
}
@@ -97,6 +96,11 @@
setTimeout(() => {
startThree(refContainer.current);
+
+ shelfThree.handleClick = (str) => {
+ console.log(str);
+ }
+
fetchShelfInfo(props.locNo);
setLoading(false);
}, 300)
--
Gitblit v1.9.1