From 0773d66c559f2d648b62ed8f7db80c7ffc47ce1c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 02 三月 2024 15:39:31 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/map/components/edit.jsx | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/components/edit.jsx b/zy-asrs-flow/src/pages/map/components/edit.jsx
index 2345e13..3a3600f 100644
--- a/zy-asrs-flow/src/pages/map/components/edit.jsx
+++ b/zy-asrs-flow/src/pages/map/components/edit.jsx
@@ -1,10 +1,34 @@
import React, { useState, useRef, useEffect } from 'react';
import { Col, Form, Modal, Row, Checkbox, Image, Tree, Drawer, Space, Button, Card } from 'antd';
import { FormattedMessage, useIntl, useModel } from '@umijs/max';
+import * as PIXI from 'pixi.js';
import agv from '/public/img/map/agv.svg'
const Edit = (props) => {
+ const [dragging, setDragging] = useState(false);
+ const [dragSprite, setDragSprite] = useState(null);
+ const { mapContainer } = props;
+
+ useEffect(() => {
+ const handleMouseMove = (e) => {
+ if (dragging) {
+ props.onDrop(dragSprite, e.clientX, e.clientY);
+ setDragging(false);
+ }
+ };
+ 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);
+ sprite.anchor.set(0.5);
+ setDragSprite(sprite);
+ };
+
return (
<>
<Drawer
@@ -23,10 +47,12 @@
}
>
<Card>
- <Image
+ <Image
src={agv}
width='50px'
preview={false}
+ draggable="true"
+ onDragStart={onDragStart}
/>
</Card>
</Drawer>
--
Gitblit v1.9.1