From 8ef2bb5e46d84594e6ed632c07ea0b47a1bf6c4d Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 11 十二月 2024 16:15:17 +0800
Subject: [PATCH] #path similarity
---
zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx | 62 ++++++++++++++++++++++--------
1 files changed, 45 insertions(+), 17 deletions(-)
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 f1cfead..ee7ac25 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
+++ b/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
@@ -7,6 +7,7 @@
import * as Utils from '../../utils'
import Http from '@/utils/http';
import ShelfThree from './shelfThree'
+import BoolValueIcon from '@/components/BoolValueIcon';
const useStyles = createStyles(({ token, css }) => {
return {
@@ -56,31 +57,43 @@
}
}
-const fetchShelfInfo = async (locNo) => {
- const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo });
+const fetchShelfGroup = async (locNo) => {
+ const res = await Http.doGet('/api/map/shelf/group', { locNo: locNo });
if (res?.data && shelfThree) {
shelfThree.generateMesh((loader, addObject) => {
const promises = [];
+ const singleHeight = 123;
for (const item of res.data) {
const { lev } = Utils.parseLocNo(item.locNo);
promises.push(new Promise((resolve) => {
- loader.load('model/04.fbx', (mesh) => {
- mesh.position.set(0, 20 + 100 * (lev - 1), 0);
+ loader.load('model/shelf.fbx', (mesh) => {
+ mesh.position.set(0, singleHeight * (lev - 1), 0);
mesh.scale.set(5, 5, 5);
mesh.name = item.locNo;
mesh.traverse(function (child) {
if (child.isMesh) {
- if (child.name === '涓嶈鍒�') {
- // child.visible = false;
- child.material.color.set(0xE8B67E);
- }
if (child.name === '璐ф灦') {
- // child.visible = false;
child.material.color.set(0x4680BF);
}
+ let palletVisible = true, cargoVisible = true;
+ switch (item.locSts) {
+ case 'D':
+ cargoVisible = false;
+ break;
+ case 'O':
+ palletVisible = false;
+ cargoVisible = false;
+ break;
+ default:
+ break;
+ }
if (child.name === '鎵樼洏') {
- // child.visible = false;
+ child.visible = palletVisible;
child.material.color.set(0xBEBEBE);
+ }
+ if (child.name === '涓嶈鍒�') {
+ child.visible = cargoVisible;
+ child.material.color.set(0xE8B67E);
}
child.name = item.locNo
child.castShadow = true;
@@ -95,6 +108,7 @@
Promise.all(promises).then(() => {
shelfThree.setNewSelectedMesh(locNo);
+ shelfThree.rePerspective(singleHeight * res.data.length, 500);
}).catch(error => {
console.error(error);
});
@@ -109,6 +123,7 @@
const { data, curFloor, curLocNo, setCurLocNo } = props;
const [loading, setLoading] = React.useState(false);
+ const [info, setInfo] = React.useState(null);
useEffect(() => {
// init curLocNo
@@ -123,12 +138,25 @@
shelfThree.handleClick = (objName) => {
setCurLocNo(objName);
};
- fetchShelfInfo(originLocNo);
+ fetchShelfGroup(originLocNo);
setLoading(false);
}, 300)
return endThree;
}, [data]);
+
+ useEffect(() => {
+ if (!curLocNo) {
+ return;
+ }
+ const fetchShelfInfo = async (locNo) => {
+ const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo });
+ if (res?.data) {
+ setInfo(res.data);
+ }
+ }
+ fetchShelfInfo(curLocNo);
+ }, [curLocNo])
return (
<>
@@ -151,22 +179,22 @@
items={
[
{
- key: '1',
label: intl.formatMessage({ id: 'map.loc.no', defaultMessage: '搴撲綅鍙�' }),
children: curLocNo,
},
{
- key: '2',
+ label: intl.formatMessage({ id: 'map.loc.sts', defaultMessage: '搴撲綅鐘舵��' }),
+ children: info?.locSts,
+ },
+ {
label: intl.formatMessage({ id: 'map.pallet.barcode', defaultMessage: '鎵樼洏鏉$爜' }),
- children: '80000010',
+ children: info?.zpallet,
},
{
- key: '3',
label: intl.formatMessage({ id: 'map.is.enable', defaultMessage: '鏄惁鍚敤' }),
- children: 'Disabled',
+ children: <BoolValueIcon value={info?.enable} />,
},
{
- key: '4',
label: intl.formatMessage({ id: 'map.loc.operation', defaultMessage: '搴撲綅鎿嶄綔' }),
children: (
<>
--
Gitblit v1.9.1