diff --git a/src/App.tsx b/src/App.tsx index 51349bb..19a1ef4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -34,7 +34,7 @@ function App() { // 监听推送消息,更新store useEffect(() => { const subscription = bridgeOb.subscribe((datagram) => { - console.log('datagram.type--', datagram.type) + // console.log('datagram.type--', datagram.type) if (datagram.type === 'measure-event') { dispatch(updateTaskState(datagram.data)); } else if (datagram.type === 'measure-point') { diff --git a/src/components/CustomNavBar.scss b/src/components/CustomNavBar.scss index 1a8a6a8..60c28c2 100644 --- a/src/components/CustomNavBar.scss +++ b/src/components/CustomNavBar.scss @@ -13,7 +13,6 @@ .bg-color { position: absolute; height: 100%; - width: 50%; left: 0; border-radius: 4px; z-index: 1; diff --git a/src/components/CustomNavBar.tsx b/src/components/CustomNavBar.tsx index ad24633..9d74cb0 100644 --- a/src/components/CustomNavBar.tsx +++ b/src/components/CustomNavBar.tsx @@ -18,9 +18,9 @@ export default function CustomNavBar({ title }: { title: string }) { className="absolute h-[30px] w-full bg-white border border-[#D8D8D8] flex items-center gap-2 px-2" style={{ top: device.connected && showDetail ? '100%' : 0, transition: 'top 300ms' }} > - 温度: {device.temperature.toFixed(1)}°C - X轴倾斜: {device.inclinatorX.toFixed(2)} - Y轴倾斜: {device.inclinatorY.toFixed(2)} + 温度: {device.temperature?.toFixed(1)}°C + X轴倾斜: {device.inclinatorX?.toFixed(2)} + Y轴倾斜: {device.inclinatorY?.toFixed(2)} {/** 导航栏 */}
@@ -42,9 +42,9 @@ export default function CustomNavBar({ title }: { title: string }) { }} />
-
20 ? '#3e63cb' : 'red' }}>
-
20 ? '#3e63cb' : 'red' }}>
- {device.power} +
20 ? '#3e63cb' : 'red' }}>
+
+ {device.power || 0} {device.flag === 1 && }
diff --git a/src/components/MeasurementItem.tsx b/src/components/MeasurementItem.tsx index 3db3d65..7c0e1b0 100644 --- a/src/components/MeasurementItem.tsx +++ b/src/components/MeasurementItem.tsx @@ -25,6 +25,7 @@ export default function MeasurementItem({ )}
+ {item.todayNumber}.

{item.name}

{item.syncStatus === 'finish' && 已上传}
diff --git a/src/components/konva/MeasurementCanvas.tsx b/src/components/konva/MeasurementCanvas.tsx index ae7e5d4..dca6baf 100644 --- a/src/components/konva/MeasurementCanvas.tsx +++ b/src/components/konva/MeasurementCanvas.tsx @@ -400,13 +400,13 @@ const MeasurementCanvas = forwardRef + ); } for (let y = logicalExtent.minY; y <= logicalExtent.maxY; y += dynamicYInterval) { const pos = transform({ x: 0, y }); texts.push( - + ); } return texts; diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index d4147bc..704bc92 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -191,11 +191,12 @@ export default function Measure() { }); const [status, setStatus] = useState(0) useEffect(() => { + console.log(measureState.taskState) switch (measureState.taskState) { case 'WAITING_FOR_RECORD_THE_1ST_SIDE': setStatus(1); setState({ - left_ready: 'none', + left_ready: 'ongoing', right_ready: 'none', left_begin: 'none', right_begin: 'none', @@ -282,7 +283,7 @@ export default function Measure() { right_end: 'none', }); } - }, [measureState.taskState, status]); + }, [measureState.taskState]); function railName() { return baseState.railTypes.find((r) => r.id === railId[0])?.name || ''; diff --git a/src/pages/MeasureRecord.tsx b/src/pages/MeasureRecord.tsx index 1b527bd..ad19915 100644 --- a/src/pages/MeasureRecord.tsx +++ b/src/pages/MeasureRecord.tsx @@ -40,7 +40,7 @@ export default function MeasureRecord() { } function drawMeasurePoints(leftPoints: string, rightPoints: string) { - if (canvasRef.current) { + if (canvasRef.current && leftPoints && rightPoints) { canvasRef.current.setMeasurementDataLeft(JSON.parse(leftPoints)); canvasRef.current.setMeasurementDataRight(JSON.parse(rightPoints)); } diff --git a/src/pages/MeasureSave.tsx b/src/pages/MeasureSave.tsx index 2aa041c..6d01338 100644 --- a/src/pages/MeasureSave.tsx +++ b/src/pages/MeasureSave.tsx @@ -1,7 +1,7 @@ import { NavBar, Picker, Toast } from 'antd-mobile'; import { useNavigate } from 'react-router'; import icon_arr_r from '../assets/icon_arr_s_r.svg'; -import { ChangeEvent, useEffect, useState } from 'react'; +import {ChangeEvent, useCallback, useEffect, useState} from 'react'; import { useAppDispatch, useAppSelector } from '../utils/hooks'; import { DATA_SOURCE, LINE_CLASSIFY, UNIT_TYPES, XB_CODES } from '../utils/constant'; import { ExtraDesc, MeasurementDTO } from '../services/apiTypes'; @@ -19,6 +19,32 @@ export default function MeasureSave() { const measureState = useAppSelector((state) => state.measure); const orgTextArr = useAppSelector(selectOrgTextArr); + + const loadData = useCallback(() => { + Bridge.getRecordList({ pageNum: 1, size: 1 }).then((res) => { + if (res.success && res.data.list.length) { + const data = res.data.list[0]?.records?.[0] + console.log(data) + setName(data?.name) + setBatch(data?.batch) + setMile(data?.mileage?.split('+')?.[0]) + setMeter(data?.mileage?.split('+')?.[1]) + setLineClassCode([data?.lineClassify]) + setDataSourceCode([data?.dataSource]) + setDirectionCode([data?.xbCode]) + setUnitType([data?.unitType]) + setTurnoutNum(Number(data?.turnoutNum || 1)) + setSleeperNum(Number(data?.sleeperNum || 1)) + setStationCode([data?.stationCode]) + document.getElementById('name-id')?.focus() + } + }); + }, []); + useEffect(() => { + loadData(); + }, [loadData]); + + const [name, setName] = useState(''); const [batch, setBatch] = useState(''); const [mile, setMile] = useState('10'); @@ -110,8 +136,8 @@ export default function MeasureSave() { stationCode: stationCode.length > 0 ? stationCode[0] : '', lineClassify: lineClassCode[0], dataSource: dataSourceCode[0], - turnoutNum: turnoutNum.toFixed(), - sleeperNum: sleeperNum.toFixed(), + turnoutNum: turnoutNum?.toFixed(), + sleeperNum: sleeperNum?.toFixed(), unitType: unitType[0], mileage: `${mile}+${meter.padStart(3, '0')}`, radius: '', @@ -149,6 +175,7 @@ export default function MeasureSave() {
测量名称