From 82ecc3869e6cd4eb8e5904c2733d3fab56e1802c Mon Sep 17 00:00:00 2001 From: LiLongLong <13717757313@163.com> Date: Sun, 8 Jun 2025 18:13:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E9=87=8F=E5=90=8E?= =?UTF-8?q?=E5=BB=93=E5=BD=A2=E5=B7=A6=E5=8F=B3=E7=BA=BF=E5=8F=98=E4=B8=80?= =?UTF-8?q?=E7=BA=BF=E5=B9=B6=E6=B7=BB=E5=8A=A0loading=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Measure.tsx | 24 ++++++++++++++++++++++-- src/store/features/measureSlice.ts | 22 ++++++++++++++-------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index f390139..5cb4c21 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -87,6 +87,25 @@ export default function Measure() { } }, [measureState.rightPoints]); + // 左右两测量完成,转换后的测量线(两线合一线) + useEffect(() => { + if (canvasRef.current) { + canvasRef.current?.setMeasurementCalibrationData(measureState.measureData); + // setshowCalibration(true); + setShowMeasureFinish(true) + setCaloading(false) + } + }, [measureState.measureData]) + + useEffect(() => { + if(measureState.measureStatus === 'FINISH_RECORD'){ + setCaloading(true) + } + else { + setCaloading(false) + } + }, [measureState.measureStatus]) + const onSaveClick = () => { dispatch(updateMeasureData(newMeasureData)); navigate('/measure/save'); @@ -94,6 +113,7 @@ export default function Measure() { const [caloading, setCaloading] = useState(false); const [showCalibration, setshowCalibration] = useState(false); + const [showMeasureFinish, setShowMeasureFinish] = useState(false); const onCalibrationBtnClick = () => { setCaloading(true); Bridge.alignPoints({ railSize: railSize || 'GX-60' }) @@ -410,7 +430,7 @@ export default function Measure() {
-
正在校准...
+
正在转换...
)} @@ -431,7 +451,7 @@ export default function Measure() { showScale={false} scaleInterval={1} showCoordinates={false} - showCalibration={showCalibration} + showCalibration={showCalibration || showMeasureFinish} ref={canvasRef} /> diff --git a/src/store/features/measureSlice.ts b/src/store/features/measureSlice.ts index f6a881f..4934a9f 100644 --- a/src/store/features/measureSlice.ts +++ b/src/store/features/measureSlice.ts @@ -6,14 +6,16 @@ export interface MeasureState { // leftFinished: boolean; leftPoints: TrackRecordSig['data'][]; rightPoints: TrackRecordSig['data'][]; - measureData:[] + measureData:[], + measureStatus: string } const initialState: MeasureState = { taskState: undefined, // leftFinished: false, leftPoints: [], rightPoints: [], - measureData: [] + measureData: [], + measureStatus: '', }; function isLeftFinished(state: MeasureState) { @@ -31,6 +33,7 @@ export const measureSlice = createSlice({ initialState, reducers: { updateTaskState: (state, action: PayloadAction) => { + console.log('action.payload---', action.payload) if ( action.payload === 'SPEED_DETECTED' || action.payload === 'END_RECORD' @@ -48,6 +51,7 @@ export const measureSlice = createSlice({ }else if(action.payload === 'WAITING_FOR_RECORD_THE_2ND_SIDE') { status = 2 } + state.measureStatus = action.payload if((['START_RECORD_LEFT', 'START_RECORD_RIGHT'].includes(action.payload) && status === 1) || (['FINISH_RECORD_LEFT', 'FINISH_RECORD_RIGHT'].includes(action.payload) && status === 1) || ['FINISH_RECORD'].includes(action.payload)) { const audio = new Audio('/audio/ticking.wav'); audio.play().then(() => {}); @@ -71,12 +75,14 @@ export const measureSlice = createSlice({ }, updateMeasureFinish: (state, { payload })=>{ - if(payload.outline1 && payload.outline1.length){ - state.rightPoints = payload.outline1 - } - if(payload.outline2 && payload.outline2.length){ - state.leftPoints = payload.outline2 - } + console.log('payload--', payload) + // if(payload.outline1 && payload.outline1.length){ + // state.rightPoints = payload.outline1 + // } + // if(payload.outline2 && payload.outline2.length){ + // state.leftPoints = payload.outline2 + // } + state.measureData = payload }, }, });