From 51a599f7df8c4965bb949ab807657ea950886577 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 18 十月 2024 13:46:28 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/JsonShow.jsx | 8 +++++++- zy-acs-flow/src/map/insight/agv/AgvControl.jsx | 6 +++++- zy-acs-flow/src/map/insight/agv/AgvMain.jsx | 13 ++++++------- zy-acs-flow/src/map/insight/agv/index.jsx | 17 +++++++++++------ 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/zy-acs-flow/src/map/JsonShow.jsx b/zy-acs-flow/src/map/JsonShow.jsx index 977fed5..fd70475 100644 --- a/zy-acs-flow/src/map/JsonShow.jsx +++ b/zy-acs-flow/src/map/JsonShow.jsx @@ -23,7 +23,13 @@ const theme = useTheme(); const themeMode = theme.palette.mode; - let json = parseJson(data); + const [json, setJson] = useState(null); + + useEffect(() => { + if (data) { + setJson(parseJson(data)); + } + }, [data]); return ( <Paper diff --git a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx index 6b98bdd..5551377 100644 --- a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx +++ b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { useTranslate } from "react-admin"; import { useForm, Controller } from 'react-hook-form'; import { @@ -47,6 +47,10 @@ { value: 'STA_TO_STA', label: translate('page.map.insight.control.type.STA_TO_STA') }, ]; + useEffect(() => { + reset(); + }, [curAgvNo]); + const onSubmit = (data) => { if (curAgvNo) { console.log(data); diff --git a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx index f507cd5..efa722f 100644 --- a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx +++ b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx @@ -67,7 +67,7 @@ addObject(agvGroup); - three.rePerspective(350, 450); + three?.rePerspective(350, 450); }).catch((error) => { console.error(error); @@ -77,7 +77,7 @@ } const AgvMain = (props) => { - const { data, curAgvNo, setCurAgvNo } = props; + const { curAgvNo, setCurAgvNo, setJsonData } = props; const theme = useTheme(); const translate = useTranslate(); const containerRef = useRef(); @@ -85,17 +85,16 @@ const [info, setInfo] = useState(null); useEffect(() => { - if (data) { - getAgvInfo(data.no, (response) => { + if (curAgvNo) { + getAgvInfo(curAgvNo, (response) => { setInfo(response); - setCurAgvNo(data.no); }); } - }, [data]); + }, [curAgvNo]); useEffect(() => { if (info) { - // console.log(info); + setJsonData(info); endThree(); setLoading(true); setTimeout(() => { diff --git a/zy-acs-flow/src/map/insight/agv/index.jsx b/zy-acs-flow/src/map/insight/agv/index.jsx index 2351c85..bfe531e 100644 --- a/zy-acs-flow/src/map/insight/agv/index.jsx +++ b/zy-acs-flow/src/map/insight/agv/index.jsx @@ -13,20 +13,26 @@ const [activeTab, setActiveTab] = useState(0); const [curAgvNo, setCurAgvNo] = useState(null); + const [jsonData, setJsonData] = useState(null); const handleTabChange = (event, newValue) => { setActiveTab(newValue); }; useEffect(() => { - if (curAgvNo) { - setTitle(translate('page.map.devices.agv') + ' - ' + curAgvNo); + if (sprite) { + const agvNo = sprite.data.no; + if (agvNo) { + setCurAgvNo(agvNo); + setTitle(translate('page.map.devices.agv') + ' - ' + agvNo); + } } return () => { setTitle(null); + setJsonData(null); } - }, [curAgvNo]) + }, [sprite]) return ( <Box sx={{ height: '100%', display: 'flex', flexDirection: 'column' }}> @@ -46,20 +52,19 @@ <Box flex={1} pt={2}> {activeTab === 0 && ( <AgvMain - data={sprite?.data} curAgvNo={curAgvNo} setCurAgvNo={setCurAgvNo} + setJsonData={setJsonData} /> )} {activeTab === 1 && ( <AgvControl - data={sprite?.data} curAgvNo={curAgvNo} /> )} {activeTab === 2 && ( <JsonShow - data={sprite?.data} + data={jsonData || sprite?.data} height={550} /> )} -- Gitblit v1.9.1