Browse Source

优化测量分析

feature/0607-opt
LiLongLong 4 months ago
parent
commit
a4248c2a42
  1. 2
      .env
  2. 1
      .gitignore
  3. 2
      package.json
  4. 7
      src/App.tsx
  5. 7
      src/home.tsx
  6. 6
      src/pages/measure/components/Detail.tsx
  7. 23
      src/pages/measure/components/MeasureAction.tsx
  8. 10
      src/pages/measure/components/MeasureDetail.tsx
  9. 12
      src/services/measure/analysis.ts

2
.env

@ -1,2 +1,2 @@
REACT_APP_WS_URL=127.1.1.0:8080/ws
REACT_APP_WS_URL=192.168.1.200:8080/ws
PORT= 3000 PORT= 3000

1
.gitignore

@ -21,3 +21,4 @@
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
*.zip

2
package.json

@ -2,7 +2,7 @@
"name": "outline", "name": "outline",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"proxy": "http://127.1.1.0:8080",
"proxy": "http://192.168.1.200:8080",
"dependencies": { "dependencies": {
"@ant-design/icons": "^6.0.0", "@ant-design/icons": "^6.0.0",
"@babel/core": "^7.16.0", "@babel/core": "^7.16.0",

7
src/App.tsx

@ -1,7 +1,7 @@
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import "./App.scss"; import "./App.scss";
import { Outlet, useNavigate } from "react-router";
import { Outlet, useNavigate, useLocation } from "react-router";
import { Layout, ConfigProvider, message} from "antd"; import { Layout, ConfigProvider, message} from "antd";
import { default as AppHeader } from "./components/Header"; import { default as AppHeader } from "./components/Header";
import { default as AppFooter } from "./components/Footer"; import { default as AppFooter } from "./components/Footer";
@ -17,13 +17,15 @@ import SyncData from "./components/syncData";
import { sysSet } from "./services/user/system"; import { sysSet } from "./services/user/system";
import { updateSystemAccountState, updateSystemAllState, updateSystemOrgState } from "./store/system/systemSlice"; import { updateSystemAccountState, updateSystemAllState, updateSystemOrgState } from "./store/system/systemSlice";
import { system } from "./types"; import { system } from "./types";
import Home from "./home";
const { Header, Footer, Sider, Content } = Layout; const { Header, Footer, Sider, Content } = Layout;
function App() { function App() {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const navigate = useNavigate(); const navigate = useNavigate();
const location = useLocation();
const isRootRoute = location.pathname === '/';
useEffect(() => { useEffect(() => {
//连接websocket //连接websocket
const wsClient = createWebSocket(sharedWsUrl); const wsClient = createWebSocket(sharedWsUrl);
@ -139,6 +141,7 @@ function App() {
<AppHeader /> <AppHeader />
</Header> </Header>
<Content> <Content>
{/* {isRootRoute && <Home></Home>} */}
<Outlet /> <Outlet />
</Content> </Content>
<Footer style={footerStyle}> <Footer style={footerStyle}>

7
src/home.tsx

@ -0,0 +1,7 @@
function Home(){
return (<div className="h-full w-full">
</div>)
}
export default Home;

6
src/pages/measure/components/Detail.tsx

@ -48,7 +48,11 @@ export default function MeasureDetail() {
//法线 //法线
const onDetaiResult = (uuid:string) => { const onDetaiResult = (uuid:string) => {
getReport(uuid,gxCode).then(res=> {
let params = {
uuid,
code:gxCode
}
getReport(params).then(res=> {
if (res.success) { if (res.success) {
const report: AnalysisReport = res.data; const report: AnalysisReport = res.data;
console.log(report); console.log(report);

23
src/pages/measure/components/MeasureAction.tsx

@ -1,10 +1,10 @@
import React, { useState, useEffect, useRef, useCallback, useMemo } from "react"; import React, { useState, useEffect, useRef, useCallback, useMemo } from "react";
import { Button, Checkbox, CheckboxProps, Drawer, Input, InputNumber, message, Select, Spin, Switch } from "antd"; import { Button, Checkbox, CheckboxProps, Drawer, Input, InputNumber, message, Select, Spin, Switch } from "antd";
import { DownOutlined, UpOutlined, LeftOutlined, RightOutlined, UndoOutlined, RedoOutlined } from '@ant-design/icons';
import { useNavigate } from "react-router"; import { useNavigate } from "react-router";
import { import {
fetchAnalysisReport, fetchAnalysisReport,
getAlignPointsByRailSize, getAlignPointsByRailSize,
getReport,
startMeasurement, startMeasurement,
stopMeasurement, stopMeasurement,
} from "../../../services/measure/analysis"; } from "../../../services/measure/analysis";
@ -28,7 +28,6 @@ import "./MeasureAction.scss";
import { GX_CODE } from "../../../constant"; import { GX_CODE } from "../../../constant";
// 创建 websocket 客户端 // 创建 websocket 客户端
const wsClient = createWebSocket(sharedWsUrl); const wsClient = createWebSocket(sharedWsUrl);
export default function MeasureAction() { export default function MeasureAction() {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const navigate = useNavigate(); const navigate = useNavigate();
@ -90,7 +89,19 @@ export default function MeasureAction() {
// setOpenDrawer(true); // setOpenDrawer(true);
// return; // return;
// } // }
fetchAnalysisReport(railSize).then(res => {
let params = {
code:railSize,
pointList:[]
}
if(showCalibration){//校准分析时,添加校准后的坐标点
params.pointList = calibrationData
}
// getReport(params).then(res=> {
// console.log('res---', res)
// })
getReport(params).then(res => {
if (res.success) { if (res.success) {
const report: AnalysisReport = res.data; const report: AnalysisReport = res.data;
console.log(report); console.log(report);
@ -177,12 +188,14 @@ export default function MeasureAction() {
//校准 //校准
const [showCalibration, setshowCalibration] = useState(false) const [showCalibration, setshowCalibration] = useState(false)
const [caloading, setCaLoading] = useState(false) const [caloading, setCaLoading] = useState(false)
const [calibrationData, setCalibrationData] = useState([])
const onCalibrationBtnClick = () => { const onCalibrationBtnClick = () => {
setCaLoading(true) setCaLoading(true)
//获取校准数据 //获取校准数据
getAlignPointsByRailSize({railSize:railSize}).then(res => { getAlignPointsByRailSize({railSize:railSize}).then(res => {
if(res.success){ if(res.success){
setshowCalibration(true) setshowCalibration(true)
setCalibrationData(res.data)
canvasRef.current?.setMeasurementCalibrationData(res.data) canvasRef.current?.setMeasurementCalibrationData(res.data)
}else{ }else{
message.error('校准失败!') message.error('校准失败!')
@ -467,12 +480,13 @@ export default function MeasureAction() {
<section className="ml-auto flex gap-4 items-center"> <section className="ml-auto flex gap-4 items-center">
{/* 参考线开关 */} {/* 参考线开关 */}
<div className="flex gap-2 items-center"> <div className="flex gap-2 items-center">
<Switch defaultChecked onChange={checked => setShowGrid(checked)} />
<Switch defaultChecked size="small" onChange={checked => setShowGrid(checked)} />
<span>线</span> <span>线</span>
</div> </div>
{/* 标准线开关 */} {/* 标准线开关 */}
<div className="flex gap-2 items-center"> <div className="flex gap-2 items-center">
<Switch <Switch
size="small"
checked={showStandard} checked={showStandard}
onChange={checked => { onChange={checked => {
setShowStandard(checked); setShowStandard(checked);
@ -490,6 +504,7 @@ export default function MeasureAction() {
{analysisReport && ( {analysisReport && (
<div className="flex gap-2 items-center"> <div className="flex gap-2 items-center">
<Switch <Switch
size="small"
checked={showMark} checked={showMark}
disabled={!showStandard} disabled={!showStandard}
onChange={checked => { onChange={checked => {

10
src/pages/measure/components/MeasureDetail.tsx

@ -257,7 +257,11 @@ export default function MeasureDetail() {
const [analysisReport, setAnalysisReport] = useState<AnalysisReport>(); const [analysisReport, setAnalysisReport] = useState<AnalysisReport>();
const onDetaiResult = (uuid:string) => { const onDetaiResult = (uuid:string) => {
const gxValue= currentRecord.railSize || GX_CODE const gxValue= currentRecord.railSize || GX_CODE
getReport(uuid, gxValue).then(res=> {
const params = {
uuid,
code:gxValue
}
getReport(params).then(res=> {
if (res.success) { if (res.success) {
const report: AnalysisReport = res.data; const report: AnalysisReport = res.data;
console.log(report); console.log(report);
@ -417,12 +421,13 @@ export default function MeasureDetail() {
<div className="pt-[5px]"> <div className="pt-[5px]">
<div className="flex"> <div className="flex">
<div className="ml-[2rem]"> <div className="ml-[2rem]">
<Switch defaultChecked onChange={checked => setShowGrid(checked)} />
<Switch size="small" defaultChecked onChange={checked => setShowGrid(checked)} />
<span>线</span> <span>线</span>
</div> </div>
<div className="ml-[1rem] "> <div className="ml-[1rem] ">
<Switch <Switch
size="small"
checked={showStandard} checked={showStandard}
onChange={checked => { onChange={checked => {
setShowStandard(checked); setShowStandard(checked);
@ -439,6 +444,7 @@ export default function MeasureDetail() {
<div className="ml-[1rem]"> <div className="ml-[1rem]">
<Switch <Switch
size="small"
checked={showMark} checked={showMark}
onChange={checked => { onChange={checked => {
setShowMark(checked); setShowMark(checked);

12
src/services/measure/analysis.ts

@ -74,9 +74,9 @@ export function fetchAnalysisReport(code: string) {
* UUID * UUID
* POST /measurement-analysis/point/{uuid} * POST /measurement-analysis/point/{uuid}
*/ */
export function getRecordPointSetByUUID(uuid: string) {
export function getRecordPointSetByUUID(railSize: string) {
return httpRequest<BaseResponse<ProfileRecordPointSet>>({ return httpRequest<BaseResponse<ProfileRecordPointSet>>({
url: `/api/measurement-analysis/point/${uuid}`,
url: `/api/measurement-analysis/point/${railSize}`,
method: "POST", method: "POST",
}); });
} }
@ -88,11 +88,15 @@ export function getRecordPointSetByUUID(uuid: string) {
* @param uuid uuid * @param uuid uuid
* @param code code * @param code code
*/ */
export function getReport(uuid: string, code: string) {
type Point = {
x:string;
y:string;
}
export function getReport(params:{code?: string, uuid?: string, pointList?:Point[]}) {
return httpRequest<BaseResponse<AnalysisReport>>({ return httpRequest<BaseResponse<AnalysisReport>>({
url: `/api/measurement-analysis/report`, url: `/api/measurement-analysis/report`,
method: "POST", method: "POST",
params: { uuid, code },
params: params,
}); });
} }

Loading…
Cancel
Save