From 6f1daf59db07cb8fa7ae3752a510f769bfd211a5 Mon Sep 17 00:00:00 2001 From: LiLongLong <13717757313@163.com> Date: Thu, 10 Apr 2025 10:22:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 2 +- src/components/SideMenu.tsx | 11 ++++++++- src/index.tsx | 9 +++++++- src/pages/measure/components/MeasureAction.tsx | 31 +++++++++++++++++++++----- src/pages/measure/components/MeasureDetail.tsx | 12 +++++++++- src/pages/system/Setting.tsx | 3 +++ src/services/httpRequest.ts | 12 +++++++--- src/services/measure/analysis.ts | 3 ++- src/services/user/system.ts | 8 +++++++ src/utils/index.ts | 15 +++++++++++++ 10 files changed, 92 insertions(+), 14 deletions(-) create mode 100644 src/pages/system/Setting.tsx create mode 100644 src/services/user/system.ts diff --git a/src/App.tsx b/src/App.tsx index b1acf24..12f5b6a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -50,7 +50,7 @@ function App() { useEffect(() => { if (localStorage.getItem("user")) { - // navigate("/measure/action", { replace: true }); + navigate("/measure/action", { replace: true }); } else { navigate("/login"); } diff --git a/src/components/SideMenu.tsx b/src/components/SideMenu.tsx index 05a30d0..8aef6cc 100644 --- a/src/components/SideMenu.tsx +++ b/src/components/SideMenu.tsx @@ -44,7 +44,16 @@ const items: MenuItem[] = [ key: '/task/list', label: '任务列表' }] - } + }, + // { + // key: "system", + // label: "系统设置", + // icon: , + // children: [{ + // key: '/system', + // label: '系统设置' + // }] + // }, ]; export default function SideMenu() { diff --git a/src/index.tsx b/src/index.tsx index bc334f2..31d216a 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,7 +1,7 @@ import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; -import {createBrowserRouter, RouterProvider} from "react-router-dom"; +import {createBrowserRouter, redirect, RouterProvider} from "react-router-dom"; import Login from "./pages/login/Login"; import Measure from "./pages/measure/Measure"; import MeasureConfig from "./pages/measure/components/MeasureConfig"; @@ -10,11 +10,13 @@ import MeasureAction from "./pages/measure/components/MeasureAction"; import DetailInfo from "./pages/measure/components/Detail"; import RailConfig from "./pages/rail/RailConfig" import Org from "./pages/system/Org"; +import Setting from "./pages/system/Setting" import Task from "./pages/task"; import AddTrack from "./pages/rail/AddTrack" import App from "./App"; import reportWebVitals from "./reportWebVitals"; + // redux toolkit import {Provider} from "react-redux"; import store from "./store/index"; @@ -70,7 +72,12 @@ const router = createBrowserRouter([ { path:"/org", element: + }, + { + path:"/system", + element: } + ], }, { diff --git a/src/pages/measure/components/MeasureAction.tsx b/src/pages/measure/components/MeasureAction.tsx index b86664e..2971dc8 100644 --- a/src/pages/measure/components/MeasureAction.tsx +++ b/src/pages/measure/components/MeasureAction.tsx @@ -115,17 +115,36 @@ export default function MeasureAction() { rightPoints.current = []; canvasRef.current?.clearShapes(); canvasRef.current?.resetCanvas(); - if (startBtnText === "重新测量") { - setStatusList(initialStatusList); - } + // if (startBtnText === "重新测量") { + // let list = [...initialStatusList] + // list.forEach((item, index) => { + // if(index === 0){ + // item.color = STEP_COLOR_BLUE; + // }else{ + // item.color = STEP_COLOR_GREY; + // } + // }) + // setStatusList(list); + // } startMeasurement().then(res => { if (res.status !== 0) { message.error(res.data.info); // setTaskStatusName(taskStatusDescMap["IDLE"]); } else { - const newStatusList = [...initialStatusList]; - newStatusList[0].color = STEP_COLOR_BLUE; - setStatusList(newStatusList); + + let list = [...initialStatusList] + list.forEach((item, index) => { + if(index === 0){ + item.color = STEP_COLOR_BLUE; + }else{ + item.color = STEP_COLOR_GREY; + } + }) + setStatusList(list); + + // const newStatusList = [...initialStatusList]; + // newStatusList[0].color = STEP_COLOR_BLUE; + // setStatusList(newStatusList); message.success("已通知设备开始测量"); // setTaskStatusName(taskStatusDescMap["IDLE"]); setStartBtnText("重新测量"); diff --git a/src/pages/measure/components/MeasureDetail.tsx b/src/pages/measure/components/MeasureDetail.tsx index 9939350..1c38d75 100644 --- a/src/pages/measure/components/MeasureDetail.tsx +++ b/src/pages/measure/components/MeasureDetail.tsx @@ -15,6 +15,7 @@ import { import { getBaseRecordPointSetByCode } from "../../../services/track/trackShape" import { extraDescType, KTJ_BASE_TYPE } from '../../../services/ktjTypes'; import { GX_CODE } from '../../../constant'; +import { exportFile } from '../../../utils'; export default function MeasureDetail() { useEffect(()=>{ queryDictionaryList() @@ -80,6 +81,7 @@ export default function MeasureDetail() { render:(_, record)=>{ return
+
} }, @@ -222,6 +224,14 @@ export default function MeasureDetail() { getMeasurePoints(item) } + //导出 + const onDownloadRecord = async(item:DetailTable) => { + const response = await fetch(`/api/measurement-task/download/${item.id}`); + const blob = await response.blob(); // 先获取 Blob + const arrayBuffer = await blob.arrayBuffer(); // 将 Blob 转换为 ArrayBuffer + exportFile(arrayBuffer, `${item.name}.txt`); // 传递 ArrayBuffer 给函数 + } + const getMeasurePoints = (recordItem:DetailTable) => { getPointsById({id:recordItem.id}).then(res=>{ if (canvasRef.current) { @@ -496,7 +506,7 @@ export default function MeasureDetail() { setName(e.target.value)} style={{ width: 200 }}/>