From 671d6d91eccbf70a7671bcb12dc1d60a48c5be89 Mon Sep 17 00:00:00 2001 From: LiLongLong <13717757313@163.com> Date: Mon, 10 Mar 2025 13:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E9=87=8F=E5=BC=80?= =?UTF-8?q?=E5=A7=8B=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- package.json | 2 +- src/App.tsx | 2 -- src/assets/menu/icon_substrate.svg | 1 + src/components/SideMenu.tsx | 11 +++++++++ src/index.tsx | 11 +++++++++ src/pages/measure/components/MeasureAction.tsx | 28 +--------------------- src/pages/measure/components/MeasureConfig.tsx | 24 +++++++++++++++---- src/pages/measure/components/graph/MarkLayer.tsx | 1 - src/pages/measure/components/graph/ResultLayer.tsx | 3 --- src/pages/rail/rail.scss | 0 src/pages/rail/railConfig.tsx | 11 +++++++++ src/services/measure/type.ts | 2 +- src/store/device/deviceState.ts | 1 - 14 files changed, 58 insertions(+), 41 deletions(-) create mode 100644 src/assets/menu/icon_substrate.svg create mode 100644 src/pages/rail/rail.scss create mode 100644 src/pages/rail/railConfig.tsx diff --git a/.env b/.env index febab32..93da990 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -REACT_APP_WS_URL=192.168.1.200:80/ws +REACT_APP_WS_URL=192.168.1.200:8080/ws diff --git a/package.json b/package.json index d787bc8..56424a1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "outline", "version": "0.1.0", "private": true, - "proxy": "http://192.168.1.200:80", + "proxy": "http://192.168.1.200:8080", "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", diff --git a/src/App.tsx b/src/App.tsx index c989531..2cdf77c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,13 +7,11 @@ import { default as AppHeader } from "./components/Header"; import { default as AppFooter } from "./components/Footer"; import SideMenu from "./components/SideMenu"; import { createWebSocket, sharedWsUrl } from "./services/socket"; -import { updateUser } from "./store/features/contextSlice"; import { useAppDispatch } from "./utils/hooks"; import { updateDeviceState } from "./store/device/deviceState"; const { Header, Footer, Sider, Content } = Layout; function App() { - const navigate = useNavigate(); const dispatch = useAppDispatch(); useEffect(() => { diff --git a/src/assets/menu/icon_substrate.svg b/src/assets/menu/icon_substrate.svg new file mode 100644 index 0000000..bc8ae07 --- /dev/null +++ b/src/assets/menu/icon_substrate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/SideMenu.tsx b/src/components/SideMenu.tsx index 5050302..d9e3de7 100644 --- a/src/components/SideMenu.tsx +++ b/src/components/SideMenu.tsx @@ -2,6 +2,8 @@ import type { MenuProps } from "antd"; import { Menu } from "antd"; import icon_logo from "../assets/icon_logo.svg"; import icon_measure from "../assets/menu/icon_measure.svg"; +import icon_substrate from "../assets/menu/icon_substrate.svg"; + import { useNavigate, useLocation } from "react-router-dom"; import "./SideMenu.scss"; @@ -23,6 +25,15 @@ const items: MenuItem[] = [ } ], }, + { + key: "rail", + label: "轨形管理", + icon: , + children: [{ + key: '/rail/config', + label: '轨形配置' + }] + } ]; export default function SideMenu() { diff --git a/src/index.tsx b/src/index.tsx index 0b5f9f5..0ca3e2c 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -7,6 +7,9 @@ import Measure from "./pages/measure/Measure"; import MeasureConfig from "./pages/measure/components/MeasureConfig"; import MeasureDetail from "./pages/measure/components/MeasureDetail"; import MeasureAction from "./pages/measure/components/MeasureAction"; + +import RailConfig from "./pages/rail/railConfig"; + import App from "./App"; import reportWebVitals from "./reportWebVitals"; @@ -37,6 +40,14 @@ const router = createBrowserRouter([ } ], }, + { + path: "rail/config", + element: , + children:[{ + path: 'rail/config', + element: + }] + } ], }, { diff --git a/src/pages/measure/components/MeasureAction.tsx b/src/pages/measure/components/MeasureAction.tsx index 892bfe9..df2e774 100644 --- a/src/pages/measure/components/MeasureAction.tsx +++ b/src/pages/measure/components/MeasureAction.tsx @@ -10,8 +10,7 @@ import { } from "../../../services/measure/analysis"; import { createWebSocket, sharedWsUrl } from "../../../services/socket"; import { switchMeasureAfterSave } from "../../../store/features/contextSlice"; -import { AnalysisReport, AnalyzeAngle } from "../../../services/measure/type"; -import { MeasureState, taskStatusDescMap } from "../../../services/wsTypes"; +import { AnalysisReport } from "../../../services/measure/type"; import { useAppDispatch, useAppSelector } from "../../../utils/hooks"; import Gr_round from '../../../assets/green_round.svg'; import Bl_round from '../../../assets/blue_round.svg'; @@ -43,8 +42,6 @@ export default function MeasureAction() { const [angleMarkBackup, setAngleMarkBackup] = useState(true); const afterSave = useAppSelector((store) => store.context.newMeasureAfterSave); - const [angles, setAngles] = useState([]); - const [taskStatus, setTaskStatus] = useState("IDLE"); // 初始按钮文本为“开始测量” const [startBtnText, setStartBtnText] = useState("开始测量"); // 测量是否完成的状态 @@ -160,15 +157,11 @@ export default function MeasureAction() { startMeasurement().then((res) => { if (res.status !== 0) { message.error(res.data.info); - let name = taskStatusDescMap["IDLE"]; - setTaskStatusName(name); } else { const newStatusList = [...initialStatusList]; newStatusList[0].color = "b"; setStatusList(newStatusList); message.success("已通知设备开始测量"); - let name = taskStatusDescMap["IDLE"]; - setTaskStatusName(name); // 测量启动成功后,按钮文本变为“重新测量” setStartBtnText("重新测量"); } @@ -194,27 +187,8 @@ export default function MeasureAction() { }); }; - const [taskStatusName, setTaskStatusName] = useState(""); useEffect(() => { const subscription = wsClient.dataOb.subscribe((data) => { - // 处理任务状态消息 - if (data.messageType === "STATE" && data.path === "/measurement-task/get-task-state") { - if (!data.data) return; - if (data.data.taskStatus === "IDLE") { - setTaskStatusName("空闲"); - } else if (!data.data.isMeasuringLeftEnd) { - setTaskStatusName("左侧正在测量"); - statusList[0].isReady = true; - setStatusList([...statusList]); - } else if (data.data.isMeasuringLeftEnd && !data.data.isMeasuringRightEnd) { - setTaskStatusName("右侧正在测量"); - } else { - let name = taskStatusDescMap[data.data.taskStatus]; - setTaskStatusName(name); - } - setTaskStatus(data.data.taskStatus); - } - // 处理状态变化事件 if (data.messageType === "EVENT" && data.path === "/measurement-task/event") { if (data.data === "START_RECORD_LEFT") { diff --git a/src/pages/measure/components/MeasureConfig.tsx b/src/pages/measure/components/MeasureConfig.tsx index e1396a7..a0ced0d 100644 --- a/src/pages/measure/components/MeasureConfig.tsx +++ b/src/pages/measure/components/MeasureConfig.tsx @@ -1,4 +1,4 @@ -import { Button, Form, Input, message } from "antd"; +import { Button, Form, Input, message, Select } from "antd"; import { useEffect, useState } from "react"; import { useNavigate } from "react-router"; import { createMeasure } from "../../../services/measure/analysis"; @@ -9,17 +9,25 @@ export default function MeasureConfig() { const [messageApi, contextHolder] = message.useMessage(); const context = useAppSelector(store => store.context); + const deviceState = useAppSelector(store => store.deviceState); const onFinish = (values: any) => { console.log("Received values of form: ", values); + //判断是否连接了设备 + if(!deviceState.isConnect){ + message.error('设备尚未连接或连接失败,请重新连接') + return; + } createMeasure({ operatorName: values["username"], name: values["measureName"], lineName: values["lineName"], location: values["position"], + direction: values["direction"] }).then(res => { if (res.status !== 0) { messageApi.error(res.data.info); } else { + navigate("../action"); } }); @@ -84,9 +92,17 @@ export default function MeasureConfig() { - { - - } + + {/* */} +