zy-acs-flow/src/map/http.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/map/insight/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/map/insight/point/index.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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: { 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> zy-acs-flow/src/map/insight/point/index.jsx
New file @@ -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; 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); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java
New file @@ -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; }