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

1
.gitignore

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

2
package.json

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

7
src/App.tsx

@ -1,7 +1,7 @@
import React, { useEffect, useState } from "react";
import "./App.scss";
import { Outlet, useNavigate } from "react-router";
import { Outlet, useNavigate, useLocation } from "react-router";
import { Layout, ConfigProvider, message} from "antd";
import { default as AppHeader } from "./components/Header";
import { default as AppFooter } from "./components/Footer";
@ -17,13 +17,15 @@ import SyncData from "./components/syncData";
import { sysSet } from "./services/user/system";
import { updateSystemAccountState, updateSystemAllState, updateSystemOrgState } from "./store/system/systemSlice";
import { system } from "./types";
import Home from "./home";
const { Header, Footer, Sider, Content } = Layout;
function App() {
const dispatch = useAppDispatch();
const navigate = useNavigate();
const location = useLocation();
const isRootRoute = location.pathname === '/';
useEffect(() => {
//连接websocket
const wsClient = createWebSocket(sharedWsUrl);
@ -139,6 +141,7 @@ function App() {
<AppHeader />
</Header>
<Content>
{/* {isRootRoute && <Home></Home>} */}
<Outlet />
</Content>
<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) => {
getReport(uuid,gxCode).then(res=> {
let params = {
uuid,
code:gxCode
}
getReport(params).then(res=> {
if (res.success) {
const report: AnalysisReport = res.data;
console.log(report);

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

@ -1,10 +1,10 @@
import React, { useState, useEffect, useRef, useCallback, useMemo } from "react";
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 {
fetchAnalysisReport,
getAlignPointsByRailSize,
getReport,
startMeasurement,
stopMeasurement,
} from "../../../services/measure/analysis";
@ -28,7 +28,6 @@ import "./MeasureAction.scss";
import { GX_CODE } from "../../../constant";
// 创建 websocket 客户端
const wsClient = createWebSocket(sharedWsUrl);
export default function MeasureAction() {
const dispatch = useAppDispatch();
const navigate = useNavigate();
@ -90,7 +89,19 @@ export default function MeasureAction() {
// setOpenDrawer(true);
// 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) {
const report: AnalysisReport = res.data;
console.log(report);
@ -177,12 +188,14 @@ export default function MeasureAction() {
//校准
const [showCalibration, setshowCalibration] = useState(false)
const [caloading, setCaLoading] = useState(false)
const [calibrationData, setCalibrationData] = useState([])
const onCalibrationBtnClick = () => {
setCaLoading(true)
//获取校准数据
getAlignPointsByRailSize({railSize:railSize}).then(res => {
if(res.success){
setshowCalibration(true)
setCalibrationData(res.data)
canvasRef.current?.setMeasurementCalibrationData(res.data)
}else{
message.error('校准失败!')
@ -467,12 +480,13 @@ export default function MeasureAction() {
<section className="ml-auto flex gap-4 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>
</div>
{/* 标准线开关 */}
<div className="flex gap-2 items-center">
<Switch
size="small"
checked={showStandard}
onChange={checked => {
setShowStandard(checked);
@ -490,6 +504,7 @@ export default function MeasureAction() {
{analysisReport && (
<div className="flex gap-2 items-center">
<Switch
size="small"
checked={showMark}
disabled={!showStandard}
onChange={checked => {

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

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

12
src/services/measure/analysis.ts

@ -74,9 +74,9 @@ export function fetchAnalysisReport(code: string) {
* UUID
* POST /measurement-analysis/point/{uuid}
*/
export function getRecordPointSetByUUID(uuid: string) {
export function getRecordPointSetByUUID(railSize: string) {
return httpRequest<BaseResponse<ProfileRecordPointSet>>({
url: `/api/measurement-analysis/point/${uuid}`,
url: `/api/measurement-analysis/point/${railSize}`,
method: "POST",
});
}
@ -88,11 +88,15 @@ export function getRecordPointSetByUUID(uuid: string) {
* @param uuid uuid
* @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>>({
url: `/api/measurement-analysis/report`,
method: "POST",
params: { uuid, code },
params: params,
});
}

Loading…
Cancel
Save