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 5cb4c21..c1a5807 100644
--- a/src/pages/Measure.tsx
+++ b/src/pages/Measure.tsx
@@ -135,7 +135,10 @@ export default function Measure() {
};
const [initStart, setInitStart] = useState(false);
+
+ const [measurementCanvasKey, setMeasurementCanvasKey] = useState(0);
const onStartClick = () => {
+ setMeasurementCanvasKey(measurementCanvasKey+1)
setshowCalibration(false);
dispatch(updateMeasureData([]));
if (!contextState.device.connected) {
@@ -453,6 +456,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('连接设备后可设置')}>
+ 自动待机
+
+ --分钟
+
+
+
+
+ )}