diff --git a/src/components/CustomNavBar.tsx b/src/components/CustomNavBar.tsx index 9d74cb0..da25498 100644 --- a/src/components/CustomNavBar.tsx +++ b/src/components/CustomNavBar.tsx @@ -2,15 +2,28 @@ import icon_bluetooth from '../assets/icon_bluetooth.svg'; import icon_arr_d from '../assets/icon_arr_down.svg'; import power_icon from '../assets/power.svg'; import './CustomNavBar.scss'; -import { useState } from 'react'; +import {useEffect, useRef, useState} from 'react'; import { useAppSelector } from '../utils/hooks'; import { useNavigate } from 'react-router-dom'; +import {Dialog} from "antd-mobile"; export default function CustomNavBar({ title }: { title: string }) { const navigate = useNavigate(); const device = useAppSelector((state) => state.context.device); const [showDetail, setShowDetail] = useState(false); + const hasWarned = useRef(false); + useEffect(() => { + if (device.connected && device.power< 20 && !hasWarned.current) { + Dialog.alert({ + content: '设备电量过低,请及时充电', + onConfirm: () => { + }, + }).then(r => {}); + hasWarned.current = true; // 标记已弹窗 + } + }, [device]); + return (
{/** 温度,水平仪 */} diff --git a/src/components/MeasurementItem.tsx b/src/components/MeasurementItem.tsx index 7c0e1b0..ac0e660 100644 --- a/src/components/MeasurementItem.tsx +++ b/src/components/MeasurementItem.tsx @@ -16,6 +16,9 @@ export default function MeasurementItem({ onDetail?: () => void; onSelected?: () => void; }) { + const padNumber = (num: string, length: number = 4): string => { + return num.toString().padStart(length, '0'); + } return (
{editMode && ( @@ -25,7 +28,7 @@ export default function MeasurementItem({ )}
- {item.todayNumber}. + {padNumber(item.todayNumber)}.

{item.name}

{item.syncStatus === 'finish' && 已上传}
diff --git a/src/components/konva/MeasurementCanvas.tsx b/src/components/konva/MeasurementCanvas.tsx index dca6baf..6b3b643 100644 --- a/src/components/konva/MeasurementCanvas.tsx +++ b/src/components/konva/MeasurementCanvas.tsx @@ -83,6 +83,7 @@ export interface MeasurementCanvasRef { setMeasurementData: (data: Point[]) => void; setAnalysisData: (data: AnalysisData[]) => void; redraw: () => void; + setCustomScale: (data: number) => void; } interface PinchData { @@ -212,6 +213,9 @@ const MeasurementCanvas = forwardRef { + setScale(newScale); + }, })); const stageRef = useRef(null); diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index 4e54c76..d032afd 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -31,6 +31,7 @@ export default function Measure() { const measureState = useAppSelector((state) => state.measure); const contextState = useAppSelector((state) => state.context); const baseState = useAppSelector((state) => state.baseData); + const device = useAppSelector((state) => state.context.device); const [railPickerVisible, setRailPickerVisible] = useState(false); const [railId, setRailId] = useState<(number | string | null)[]>([]); const canvasRef = useRef(null); @@ -54,6 +55,8 @@ export default function Measure() { } } + + // 检查轨型有没有坐标,如果有,绘制轨型基准线,如果没,拉取再绘制其线 useEffect(() => { if (railId.length > 0) { @@ -135,7 +138,22 @@ export default function Measure() { }; const [initStart, setInitStart] = useState(false); + + const [measurementCanvasKey, setMeasurementCanvasKey] = useState(0); + + + const [state, setState] = useState({ + left_ready: 'none', + right_ready: 'none', + left_begin: 'none', + right_begin: 'none', + left_end: 'none', + right_end: 'none', + }); + + const onStartClick = () => { + setMeasurementCanvasKey(measurementCanvasKey+1) setshowCalibration(false); setShowMeasureFinish(false) dispatch(updateMeasureData([])); @@ -201,14 +219,6 @@ export default function Measure() { } }; - const [state, setState] = useState({ - left_ready: 'none', - right_ready: 'none', - left_begin: 'none', - right_begin: 'none', - left_end: 'none', - right_end: 'none', - }); const [status, setStatus] = useState(0) useEffect(() => { console.log(measureState.taskState) @@ -454,6 +464,7 @@ export default function Measure() { showCoordinates={false} showCalibration={showCalibration || showMeasureFinish} ref={canvasRef} + key={measurementCanvasKey} /> {/**选择轨型区 */} diff --git a/src/pages/Setting.tsx b/src/pages/Setting.tsx index ab547dd..dbfa397 100644 --- a/src/pages/Setting.tsx +++ b/src/pages/Setting.tsx @@ -87,6 +87,21 @@ export default function Setting() {
)} + {!context.device.connected && ( +
+
+

设备设置

+
+
+
Toast.show('连接设备后可设置')}> + 自动待机 + + --分钟 + +
+
+
+ )}