#
luxiaotao1123
2024-10-19 6fb170791974cbfa4f7bd46eaa56d2cd1a9f732a
#
3个文件已修改
2个文件已添加
134 ■■■■■ 已修改文件
zy-acs-flow/src/map/http.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/insight/index.jsx 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/insight/point/index.jsx 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java 17 ●●●●● 补丁 | 查看 | 原始文档 | 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;
}