Browse Source

fix:增加电量低提示; 缩放重置;测量记录序号补0

master
guoapeng 2 months ago
parent
commit
9c38349cde
  1. 15
      src/components/CustomNavBar.tsx
  2. 5
      src/components/MeasurementItem.tsx
  3. 4
      src/components/konva/MeasurementCanvas.tsx
  4. 4
      src/pages/Measure.tsx
  5. 15
      src/pages/Setting.tsx
  6. 2
      src/store/features/contextSlice.ts

15
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 (
<div className="relative bg-white h-[--navBarHeight] border-b border-[#D8D8D8]">
{/** 温度,水平仪 */}

5
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 (
<div className="flex mx-2 gap-3" onClick={editMode ? onSelected : undefined}>
{editMode && (
@ -25,7 +28,7 @@ export default function MeasurementItem({
)}
<main className="flex-1">
<header className="flex items-center gap-2">
<span className="text-sm text-[#606266]">{item.todayNumber}.</span>
<span className="text-sm text-[#606266]">{padNumber(item.todayNumber)}.</span>
<h1 className="text-[15px] font-medium ">{item.name}</h1>
{item.syncStatus === 'finish' && <span className="text-[#04CA17] text-xs"></span>}
</header>

4
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<MeasurementCanvasRef, MeasurementCanvasProp
origin
}
},
setCustomScale: (newScale: number) => {
setScale(newScale);
},
}));
const stageRef = useRef<any>(null);

4
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}
/>
{/**选择轨型区 */}

15
src/pages/Setting.tsx

@ -87,6 +87,21 @@ export default function Setting() {
</div>
</section>
)}
{!context.device.connected && (
<section>
<div className="h-[42px] px-5">
<h1 className="h-[42px] leading-[42px] text-base text-text font-medium"></h1>
</div>
<div className="bg-white px-5 text-sm text-text">
<div className="h-12 flex items-center" onClick={() => Toast.show('连接设备后可设置')}>
<span></span>
<span className="ml-auto mr-4">
--
</span>
</div>
</div>
</section>
)}
<div
className="btn-contained rounded-md h-12 mx-9 my-8 text-base font-medium"

2
src/store/features/contextSlice.ts

@ -35,7 +35,7 @@ const initialState: ContextState = {
device: {
flag: 0,
connected: true, //是否已连接蓝牙
power: 0, //电量
power: 100, //电量
inclinatorX: 0.276, //x轴倾斜
inclinatorY: 3.019, //y轴倾斜
temperature: 32.026, //温度

Loading…
Cancel
Save