From 9d0acfb65c80c4948c305ca01338f894b87346a0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 08 四月 2024 09:44:37 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-flow/src/pages/map/components/device.jsx |  246 +++++++++++++++++++++++++++---------------------
 1 files changed, 138 insertions(+), 108 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/components/device.jsx b/zy-asrs-flow/src/pages/map/components/device.jsx
index 21c5f77..0c1df85 100644
--- a/zy-asrs-flow/src/pages/map/components/device.jsx
+++ b/zy-asrs-flow/src/pages/map/components/device.jsx
@@ -3,7 +3,7 @@
 import { FormattedMessage, useIntl, useModel } from '@umijs/max';
 import * as PIXI from 'pixi.js';
 import { createStyles } from 'antd-style';
-import './index.css'
+import * as Utils from '../utils'
 
 const useStyles = createStyles(({ token, css }) => {
     let dark = token.colorBgBase === '#000';
@@ -28,34 +28,43 @@
                 transition: all 0.3s ease !important;
             }
         `,
-        color: dark ? '#303030' : '#f0f0f0'
+        color: dark ? '#303030' : '#f0f0f0',
+        title: {
+            color: dark ? '#f0f0f0' : '#303030'
+        }
     };
 });
 
+import shuttle from '/public/img/map/shuttle.svg'
 import agv from '/public/img/map/agv.svg'
+import shelf from '/public/img/map/shelf.png'
+import point from '/public/img/map/point.svg'
 
 const Device = (props) => {
+    const intl = useIntl();
     const { styles } = useStyles();
     const [dragging, setDragging] = useState(false);
     const [dragSprite, setDragSprite] = useState(null);
+    const [dragSpriteType, setDragSpriteType] = useState(null);
+
+    const onDragStart = (e, type) => {
+        setDragging(true);
+        setDragSpriteType(type);
+        const sprite = Utils.generateSprite(type);
+        setDragSprite(sprite);
+    };
 
     useEffect(() => {
         const handleMouseMove = (e) => {
             if (dragging) {
-                props.onDrop(dragSprite, e.clientX, e.clientY);
+                props.onDrop(dragSprite, dragSpriteType, e.clientX, e.clientY);
                 setDragging(false);
+                setDragSpriteType(null);
             }
         };
         window.addEventListener('mousemove', handleMouseMove);
         return () => window.removeEventListener('mousemove', handleMouseMove);
     }, [dragging, props.onDrop, props.onCancel]);
-
-    const onDragStart = (e) => {
-        setDragging(true)
-        // props.onCancel();
-        const sprite = PIXI.Sprite.from(agv);
-        setDragSprite(sprite);
-    };
 
     return (
         <>
@@ -68,110 +77,131 @@
                 rootStyle={{ position: "absolute" }}
                 mask={false}
                 width={378}
+                style={{
+                    opacity: .8
+                }}
                 extra={
                     <Space>
                         <Button onClick={() => props.onCancel()}><FormattedMessage id='common.cancel' defaultMessage='鍙栨秷' /></Button>
                     </Space>
                 }
             >
-                <Card className={styles.mapCard}>
-                    <Row className={styles.mapRow}>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                    </Row>
-                    <Row className={styles.mapRow}>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                    </Row>
-                    <Row className={styles.mapRow}>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                        <Col className={styles.mapCol} span={8} >
-                            <Image
-                                src={agv}
-                                width='50px'
-                                preview={false}
-                                draggable="true"
-                                onDragStart={onDragStart}
-                            />
-                            <div>AGV</div>
-                        </Col>
-                    </Row>
-                </Card>
+                <Row className={styles.mapRow}>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={shuttle}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.SHUTTLE)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.shuttle' defaultMessage='绌挎杞�' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={shelf}
+                            width='35px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.SHELF)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.shelf' defaultMessage='璐ф灦' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8}>
+                        <Image
+                            src={point}
+                            style={{
+                            }}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.POINT)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.point' defaultMessage='瀹氫綅鐐�' />
+                        </div>
+                    </Col>
+                </Row>
+                <Row className={styles.mapRow}>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={agv}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.AGV)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.agv' defaultMessage='鏃犱汉灏忚溅' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={shelf}
+                            width='35px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.SHELF)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.shelf' defaultMessage='璐ф灦' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={agv}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.AGV)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.agv' defaultMessage='鏃犱汉灏忚溅' />
+                        </div>
+                    </Col>
+                </Row>
+                <Row className={styles.mapRow}>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={agv}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.AGV)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.agv' defaultMessage='鏃犱汉灏忚溅' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={shelf}
+                            width='35px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.SHELF)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.shelf' defaultMessage='璐ф灦' />
+                        </div>
+                    </Col>
+                    <Col className={styles.mapCol} span={8} >
+                        <Image
+                            src={agv}
+                            width='50px'
+                            preview={false}
+                            draggable="true"
+                            onDragStart={(e) => onDragStart(e, Utils.SENSOR_TYPE.AGV)}
+                        />
+                        <div className={styles.title}>
+                            <FormattedMessage id='map.sensor.type.agv' defaultMessage='鏃犱汉灏忚溅' />
+                        </div>
+                    </Col>
+                </Row>
             </Drawer>
         </>
     )

--
Gitblit v1.9.1