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 }}/>