From 6fb170791974cbfa4f7bd46eaa56d2cd1a9f732a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 19 十月 2024 15:37:03 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/http.js | 19 ++++++ zy-acs-flow/src/map/insight/point/index.jsx | 75 +++++++++++++++++++++++++ zy-acs-flow/src/map/insight/index.jsx | 10 +++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 13 ++++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java | 17 +++++ 5 files changed, 134 insertions(+), 0 deletions(-) diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js index 22fe804..5fa8812 100644 --- a/zy-acs-flow/src/map/http.js +++ b/zy-acs-flow/src/map/http.js @@ -163,6 +163,25 @@ }) } +export const getPointInfo = async (point, callback) => { + await request.post('/map/point/info', { + codeData: point, + }, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }).then((res) => { + const { code, msg, data } = res.data; + if (code === 200) { + callback(data) + } else { + notify.error(msg); + } + }).catch((error) => { + notify.error(error.message); + console.error(error.message); + }) +} + + export const handleControlAgv = async (param, callback) => { await request.post('/handler/control/agv', param, { headers: { diff --git a/zy-acs-flow/src/map/insight/index.jsx b/zy-acs-flow/src/map/insight/index.jsx index be7a97f..6d1237a 100644 --- a/zy-acs-flow/src/map/insight/index.jsx +++ b/zy-acs-flow/src/map/insight/index.jsx @@ -8,6 +8,7 @@ } from '../constants'; import ShelfInsight from './shelf'; import AgvInsight from './agv'; +import PointInsight from './point'; const Insight = (props) => { const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH } = props; @@ -77,6 +78,15 @@ /> </> )} + + {deviceType === DEVICE_TYPE.POINT && ( + <> + <PointInsight + sprite={sprite} + setTitle={setTitle} + /> + </> + )} </CardContent> </Card> </Box> diff --git a/zy-acs-flow/src/map/insight/point/index.jsx b/zy-acs-flow/src/map/insight/point/index.jsx new file mode 100644 index 0000000..9dcc780 --- /dev/null +++ b/zy-acs-flow/src/map/insight/point/index.jsx @@ -0,0 +1,75 @@ +import React, { useState, useRef, useEffect } from 'react'; +import { useTranslate } from "react-admin"; +import { Box, Typography, Tabs, Tab, Stack, useTheme, Divider } from '@mui/material'; +import JsonShow from '../../JsonShow'; +import { getPointInfo } from '../../http'; + +const PointInsight = (props) => { + const { sprite, setTitle } = props; + const translate = useTranslate(); + const theme = useTheme(); + + const [activeTab, setActiveTab] = useState(0); + const [curPoint, setCurPoint] = useState(null); + const [curPointInfo, setCurPointInfo] = useState(null); + + const fetchInfo = (param) => { + setTitle(translate('page.map.devices.point') + ' - ' + param); + setCurPoint(param); + getPointInfo(param, (response) => { + setCurPointInfo(response); + }); + } + + useEffect(() => { + if (sprite) { + const param = sprite.data.no; + if (param) { + fetchInfo(param); + } + } + + return () => { + setTitle(null); + setCurPoint(null); + setCurPointInfo(null); + } + }, [sprite]) + + const handleTabChange = (event, newValue) => { + setActiveTab(newValue); + }; + + return ( + <Box sx={{ height: '100%', display: 'flex', flexDirection: 'column' }}> + <Tabs + value={activeTab} + onChange={handleTabChange} + centered + sx={{ mb: 0 }} + > + <Tab label={translate('page.map.insight.title')} /> + <Tab label={'JSON'} /> + </Tabs> + + <Divider /> + + <Box flex={1} pt={2}> + {activeTab === 0 && ( + <JsonShow + data={curPointInfo || sprite?.data} + height={550} + /> + )} + {activeTab === 1 && ( + <JsonShow + data={curPointInfo || sprite?.data} + height={550} + /> + )} + </Box> + </Box> + ) +} + +export default PointInsight; \ No newline at end of file diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java index 1ca13bb..20c77a8 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java @@ -19,6 +19,7 @@ import com.zy.acs.manager.manager.controller.param.MapDataParam; import com.zy.acs.manager.manager.controller.param.MapParam; import com.zy.acs.manager.manager.controller.result.MapAgvVo; +import com.zy.acs.manager.manager.controller.result.MapPointVo; import com.zy.acs.manager.manager.entity.Map; import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.AgvStsType; @@ -166,6 +167,18 @@ return R.ok().add(vo); } + @PostMapping("/point/info") + public R pointInfo(@RequestParam(required = false) String codeData) { + if (Cools.isEmpty(codeData)) { + return R.error(); + } + Code code = codeService.selectByData(codeData); + MapPointVo vo = new MapPointVo(); + vo.setCodeId(code.getId()); + vo.setCodeData(code.getData()); + vo.setStatus(code.getStatus()); + return R.ok().add(vo); + } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java new file mode 100644 index 0000000..e0c14a1 --- /dev/null +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java @@ -0,0 +1,17 @@ +package com.zy.acs.manager.manager.controller.result; + +import lombok.Data; + +/** + * Created by vincent on 10/17/2024 + */ +@Data +public class MapPointVo { + + private Long codeId; + + private String codeData; + + private Integer status; + +} -- Gitblit v1.9.1