#
luxiaotao1123
2024-03-30 6d73c9367c81d91e6ccc84a9ef2ad9e1cf5f25ce
#
2个文件已修改
66 ■■■■■ 已修改文件
zy-asrs-flow/src/pages/map/drawer/shelf/index.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/pages/map/drawer/shelf/index.jsx
@@ -3,32 +3,20 @@
import { FormattedMessage, useIntl, useModel } from '@umijs/max';
import { createStyles } from 'antd-style';
import * as Utils from '../../utils'
import Http from '@/utils/http';
import ShowJson from '../showJson';
import ShelfView from './view'
const useStyles = createStyles(({ token, css }) => {
})
const ShelfDrawer = (props) => {
    const intl = useIntl();
    const { styles } = useStyles();
    const { curSprite, curFloor } = props;
    const [activeTabKey, setActiveTabKey] = useState('view');
    const [curLocNo, setCurLocNo] = React.useState(''); // just used to modify the drawer title
    useEffect(() => {
        const locNo = curSprite.data.no + '-' + curFloor;
        setCurLocNo(locNo);
    }, [curSprite]);
    useEffect(() => {
        if (!curSprite) {
            return
        }
        console.log("curLocNo - " + curLocNo);
        props.setDrawerTitle(intl.formatMessage({ id: 'map.loc.no', defaultMessage: '库位号' }) + ': ' + curLocNo);
    }, [curLocNo]);
zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
@@ -56,6 +56,32 @@
    }
}
const fetchShelfInfo = async (locNo) => {
    const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo });
    if (res?.data && shelfThree) {
        shelfThree.generateMesh((addObject) => {
            for (const item of res.data) {
                const { row, bay, lev } = Utils.parseLocNo(item.locNo);
                // shelf
                const shelfMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 40, 100), new THREE.MeshStandardMaterial({
                    color: '#006266',
                }));
                shelfMesh.name = item.locNo;
                shelfMesh.position.set(0, 20 + 100 * (lev - 1), 0);
                addObject(shelfMesh)
                // pallet
                const palletMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 60, 100), new THREE.MeshStandardMaterial({
                    color: '#2c2c54',
                }));
                palletMesh.name = item.locNo;
                palletMesh.position.set(0, 70 + 100 * (lev - 1), 0);
                addObject(palletMesh)
            }
        });
    }
}
const ShelfView = (props) => {
    const intl = useIntl();
    const { styles } = useStyles();
@@ -65,36 +91,12 @@
    const [loading, setLoading] = React.useState(false);
    useEffect(() => {
        // init curLocNo
        const originLocNo = data.no + '-' + curFloor;
        setCurLocNo(originLocNo);
        endThree();
        setLoading(true);
        const fetchShelfInfo = async (locNo) => {
            const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo });
            if (res?.data && shelfThree) {
                shelfThree.generateMesh((addObject) => {
                    for (const item of res.data) {
                        const { row, bay, lev } = Utils.parseLocNo(item.locNo);
                        // shelf
                        const shelfMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 40, 100), new THREE.MeshStandardMaterial({
                            color: '#006266',
                        }));
                        shelfMesh.name = item.locNo;
                        shelfMesh.position.set(0, 20 + 100 * (lev - 1), 0);
                        addObject(shelfMesh)
                        // pallet
                        const palletMesh = new THREE.Mesh(new THREE.BoxGeometry(100, 60, 100), new THREE.MeshStandardMaterial({
                            color: '#2c2c54',
                        }));
                        palletMesh.name = item.locNo;
                        palletMesh.position.set(0, 70 + 100 * (lev - 1), 0);
                        addObject(palletMesh)
                    }
                });
            }
        }
        setTimeout(() => {
            startThree(refContainer.current);