From 42b108daf16fd969696a23638481111432ae8ebe Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 21 九月 2024 16:19:38 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Agv.java               |    3 +
 zy-acs-flow/src/page/components/PulseSignal.jsx                                       |   63 +++++++++++++++++++------------
 zy-acs-flow/src/page/agv/AgvShow.jsx                                                  |    9 ++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java |    1 
 4 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/zy-acs-flow/src/page/agv/AgvShow.jsx b/zy-acs-flow/src/page/agv/AgvShow.jsx
index 6c0475a..3b25088 100644
--- a/zy-acs-flow/src/page/agv/AgvShow.jsx
+++ b/zy-acs-flow/src/page/agv/AgvShow.jsx
@@ -19,9 +19,9 @@
 import { AgvShowTask } from "./show/AgvShowTask";
 import CustomerTopToolBar from "../components/EditTopToolBar";
 import { useTheme } from '@mui/material/styles';
+import PulseSignal from "../components/PulseSignal";
 
 export const AgvShow = () => {
-
     return (
         <>
             <ShowBase>
@@ -49,6 +49,13 @@
                                 <CustomerTopToolBar />
                                 <Box mt={1} mr={1}>
                                     <Stack direction='row'>
+                                        <Box mt={.8} mr={2}>
+                                            <PulseSignal
+                                                flag={record.online}
+                                                width={10}
+                                                negative={!record.online}
+                                            />
+                                        </Box>
                                         <Typography
                                             variant="h5"
                                             sx={{
diff --git a/zy-acs-flow/src/page/components/PulseSignal.jsx b/zy-acs-flow/src/page/components/PulseSignal.jsx
index 1b98d49..e79c7c2 100644
--- a/zy-acs-flow/src/page/components/PulseSignal.jsx
+++ b/zy-acs-flow/src/page/components/PulseSignal.jsx
@@ -3,35 +3,48 @@
 import { teal } from '@mui/material/colors';
 
 const PulseSignal = (props) => {
-    const { flag = true, width = 8, ...rest } = props;
+    const { flag = true, width = 8, negative = false, ...rest } = props;
 
     return (
         <>
-            <Box
-                {...rest}
-                sx={{
-                    width: width,
-                    height: width,
-                    borderRadius: '50%',
-                    backgroundColor: flag ? `${teal[400]}` : '#f44336',
-                    display: 'inline-block',
-                    animation: 'pulse 1.2s infinite',
-                    '@keyframes pulse': {
-                        '0%': {
-                            transform: 'scale(1)',
-                            opacity: 1,
+            {flag ? (
+                <Box
+                    {...rest}
+                    sx={{
+                        width: width,
+                        height: width,
+                        borderRadius: '50%',
+                        backgroundColor: `${teal[400]}`,
+                        display: 'inline-block',
+                        animation: `pulse ${negative ? '2' : '1.2'}s infinite`,
+                        '@keyframes pulse': {
+                            '0%': {
+                                transform: 'scale(1)',
+                                opacity: 1,
+                            },
+                            '50%': {
+                                transform: 'scale(1.3)',
+                                opacity: 0.7,
+                            },
+                            '100%': {
+                                transform: 'scale(1)',
+                                opacity: 1,
+                            },
                         },
-                        '50%': {
-                            transform: 'scale(1.2)',
-                            opacity: 0.7,
-                        },
-                        '100%': {
-                            transform: 'scale(1)',
-                            opacity: 1,
-                        },
-                    },
-                }}
-            />
+                    }}
+                />
+            ) : (
+                <Box
+                    {...rest}
+                    sx={{
+                        width: width + width / 10,
+                        height: width + width / 10,
+                        borderRadius: '50%',
+                        backgroundColor: '#f44336',
+                        display: 'inline-block',
+                    }}
+                />
+            )}
         </>
     )
 
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
index 3b1f858..26d2215 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
@@ -82,6 +82,7 @@
     public R get(@PathVariable("id") Long id) {
         Agv agv = agvService.getById(id);
         if (null != agv) {
+            agv.setOnline(agvService.judgeOnline(agv.getId()));
             AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
             if (null != agvDetail) {
                 agv.setAgvDetail(agvDetail);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Agv.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Agv.java
index 942bbb9..b2cc14c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Agv.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/Agv.java
@@ -82,6 +82,9 @@
     @TableField(exist = false)
     private AgvModel agvModelData;
 
+    @TableField(exist = false)
+    private Boolean online = Boolean.FALSE;
+
     public String getAgvSts$(){
         AgvStsService service = SpringUtils.getBean(AgvStsService.class);
         AgvSts agvSts = service.getById(this.agvSts);

--
Gitblit v1.9.1