From 89c7f6e5bcc21b0e8f83a2bc6d680e2ffe431e6f Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 13 一月 2025 09:38:29 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/agv/show/AgvShowAside.jsx |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx b/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
index 31fc068..106907d 100644
--- a/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
+++ b/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
@@ -10,6 +10,8 @@
     UrlField,
     useRecordContext,
     useTranslate,
+    Button as RaButton,
+    useNotify,
 } from 'react-admin';
 import { Link as RouterLink, useLocation } from 'react-router-dom';
 import {
@@ -26,11 +28,49 @@
 import { formatDistance } from 'date-fns';
 import StatusField from "../../components/StatusField";
 import AccessTimeIcon from '@mui/icons-material/AccessTime';
+import RemoveCircleIcon from '@mui/icons-material/RemoveCircle';
+import AdjustIcon from '@mui/icons-material/Adjust';
+import request from '@/utils/request';
+import { HANDLE_APP_KEY } from '@/config/setting';
 
 export const AgvShowAside = (props) => {
     const translate = useTranslate();
+    const notify = useNotify();
     const record = useRecordContext();
     if (!record) return null;
+
+    const removeFromMap = () => {
+        if (confirm(translate('common.msg.confirm.desc'))) {
+            request.post('/agv/remove/from/map', { ...record }).then(res => {
+                const { code, msg, data } = res.data;
+                if (code === 200) {
+                    notify(msg, { type: 'success', messageArgs: { _: msg } });
+                } else {
+                    notify(msg, { type: 'error', messageArgs: { _: msg } });
+                }
+            }).catch(error => {
+                notify(error, { type: 'error', messageArgs: { _: error } });
+            })
+        }
+    }
+
+    const reposition = () => {
+        if (confirm(translate('common.msg.confirm.desc'))) {
+            request.post('/handler/unlock',
+                { agvNo: record.uuid },
+                { headers: { 'appKey': HANDLE_APP_KEY } }
+            ).then(res => {
+                const { code, msg, data } = res.data;
+                if (code === 200) {
+                    notify(msg, { type: 'success', messageArgs: { _: msg } });
+                } else {
+                    notify(msg, { type: 'error', messageArgs: { _: msg } });
+                }
+            }).catch(error => {
+                notify(error, { type: 'error', messageArgs: { _: error } });
+            })
+        }
+    }
 
     return (
         <Box width={400} display={{ xs: 'none', lg: 'block' }}>
@@ -39,9 +79,19 @@
                     <Card>
                         <CardContent>
                             <Stack direction="row" spacing={1}>
-                                <EditButton label="Edit Company" />
+                                <EditButton />
                             </Stack>
-                            <Stack direction="row" mt={1}>
+                            <Stack direction="row" mt={.5}>
+                                <RaButton label="page.agv.show.remove" onClick={removeFromMap}>
+                                    <RemoveCircleIcon />
+                                </RaButton>
+                            </Stack>
+                            <Stack direction="row" mt={.5}>
+                                <RaButton label="page.agv.show.reposition" onClick={reposition}>
+                                    <AdjustIcon />
+                                </RaButton>
+                            </Stack>
+                            <Stack direction="row" mt={.5}>
                                 <DeleteButton mutationMode="optimistic" />
                             </Stack>
                             <Box mt={1} />

--
Gitblit v1.9.1