diff --git a/src/components/devices/DeviceStatusPage.tsx b/src/components/devices/DeviceStatusPage.tsx
index 827d646..7700dd1 100644
--- a/src/components/devices/DeviceStatusPage.tsx
+++ b/src/components/devices/DeviceStatusPage.tsx
@@ -452,15 +452,15 @@ export default function DeviceStatusPage() {
}
// 2. 机器人:从 wsDeviceInfo / runningStatus 取实时经纬度
- const robotLon = runningStatus.longitude || locationInfo.longitude;
- const robotLat = runningStatus.latitude || locationInfo.latitude;
+ const robotLon = runningStatus?.longitude || wsDeviceInfo?.longitude;
+ const robotLat = runningStatus?.latitude || wsDeviceInfo?.latitude;
if (robotLon && robotLat) {
return {
lon: robotLon,
lat: robotLat,
//heading: -98
- heading: runningStatus.yaw || wsDeviceInfo.yaw || 0,
+ heading: runningStatus?.yaw || wsDeviceInfo?.yaw || 0,
};
}
@@ -593,8 +593,8 @@ export default function DeviceStatusPage() {
if (!device) return null;
// 优先使用持久化MQTT数据,其次使用uavState
- const lng = currentDroneData?.longitude ?? uavState?.longitude ?? runningStatus.longitude ?? device.longitude;
- const lat = currentDroneData?.latitude ?? uavState?.latitude ?? runningStatus.latitude ?? device.latitude;
+ const lng = currentDroneData?.longitude ?? uavState?.longitude ?? runningStatus?.longitude ?? device.longitude;
+ const lat = currentDroneData?.latitude ?? uavState?.latitude ?? runningStatus?.latitude ?? device.latitude;
return {
...device,
@@ -606,10 +606,10 @@ export default function DeviceStatusPage() {
// 让地图取最新经纬度
longitude: lng,
latitude: lat,
- name: device.deviceAlias || device.callsign || device.deviceName || t('devices.device'),
+ name: device?.deviceAlias || device?.callsign || device?.deviceName || t('devices.device'),
type: isUAV
? 'drone'
- : device.productName?.includes(t('constants.mower'))
+ : device?.productName?.includes(t('constants.mower'))
? 'mower'
: 'robot',
};
@@ -905,7 +905,7 @@ export default function DeviceStatusPage() {
>
{t('devices.pathPlanning')}:
- {t('devices.markedPointsCount', { count: markedPoints.length })}
+ {t('devices.markedPointsCount', { count: markedPoints?.length })}
@@ -934,7 +934,7 @@ export default function DeviceStatusPage() {
type="primary"
ghost
onClick={handleComplete}
- disabled={markedPoints.length < 2}
+ disabled={markedPoints?.length < 2}
>
{t('devices.complete')}
*/}
@@ -968,12 +968,12 @@ export default function DeviceStatusPage() {
optionFilterProp="label"
placeholder={t('video.selectDevice')}
allowClear={false}
- loading={devicesAll.length === 0}
+ loading={devicesAll?.length === 0}
options={[
{
label: t('devices.robot'),
title: 'robot',
- options: devicesAll.filter(item => !item.gateway_sn && !item.drone_callsign && item.serialNumber).map(item => ({
+ options: devicesAll?.filter(item => !item.gateway_sn && !item.drone_callsign && item.serialNumber).map(item => ({
value: item.device_sn || item.serialNumber,
label: `${item.deviceAlias || item.deviceName || t('devices.unknownDevice')} `,
})),
@@ -981,12 +981,12 @@ export default function DeviceStatusPage() {
{
label: t('constants.uav'),
title: 'uav',
- options: devicesAll.filter(item => item.gateway_sn || item.drone_callsign).map(item => ({
- value: item.device_sn,
- label: `${item.drone_callsign || item.callsign || t('devices.unknownDrone')}`,
+ options: devicesAll?.filter(item => item?.gateway_sn || item?.drone_callsign).map(item => ({
+ value: item?.device_sn,
+ label: `${item?.drone_callsign || item?.callsign || t('devices.unknownDrone')}`,
})),
},
- ].filter(group => group.options.length > 0)}
+ ].filter(group => group?.options?.length > 0)}
/>
@@ -1153,42 +1153,46 @@ export default function DeviceStatusPage() {
}}>
{t('devices.robotStatus')}
- {t('devices.rtBattery')}:
-
- {runningStatus.battery !== undefined ? `${runningStatus.battery}%` : '-'}
+ {t('devices.rtBattery')}
+
+ {runningStatus?.battery !== undefined ? `${runningStatus?.battery}%` : '-'}
- {t('devices.rtVoltage')}:
- {runningStatus.voltage !== undefined ? `${Number(runningStatus.voltage).toFixed(2)}V` : '-'}
- {t('devices.rtLeftMotor')}:
- {runningStatus.leftCurrent !== undefined ? `${Number(runningStatus.leftCurrent).toFixed(2)}A` : '-'}
- {t('devices.rtRightMotor')}:
- {runningStatus.rightCurrent !== undefined ? `${Number(runningStatus.rightCurrent).toFixed(2)}A` : '-'}
- {t('devices.rtLeftSpeed')}:
- {runningStatus.leftMeasureSpeed !== undefined ? `${Number(runningStatus.leftMeasureSpeed).toFixed(1)}rpm` : '-'}
- {t('devices.rtRightSpeed')}:
- {runningStatus.rightMeasureSpeed !== undefined ? `${Number(runningStatus.rightMeasureSpeed).toFixed(1)}rpm` : '-'}
- {t('devices.rtLeftTemp')}:
- {runningStatus.leftMotorTemp !== undefined ? `${Number(runningStatus.leftMotorTemp).toFixed(1)}℃` : '-'}
- {t('devices.rtRightTemp')}:
- {runningStatus.rightMotorTemp !== undefined ? `${Number(runningStatus.rightMotorTemp).toFixed(1)}℃` : '-'}
- {t('devices.rtMainTemp')}:
- {runningStatus.chipTemp !== undefined ? `${Number(runningStatus.chipTemp).toFixed(1)}℃` : '-'}
- {t('devices.rtHeadingAngle')}:
- {runningStatus.yaw !== undefined ? `${Number(runningStatus.yaw).toFixed(1)}°` : '-'}
- {t('devices.rtPitchAngle')}:
- {runningStatus.pitch !== undefined ? `${Number(runningStatus.pitch).toFixed(1)}°` : '-'}
- {t('devices.rtHeadingStatus')}:
- {runningStatus.headingStatus !== undefined ? `${runningStatus.headingStatus == 1 ? t('devices.rtInitialized') : t('devices.uninitialized')}` : '-'}
- {t('devices.rtPositioning')}:
+ {t('devices.rtVoltage')}
+ {runningStatus?.voltage !== undefined ? `${Number(runningStatus?.voltage).toFixed(2)}V` : '-'}
+ {t('devices.rtLeftMotor')}
+ {runningStatus?.leftCurrent !== undefined ? `${Number(runningStatus?.leftCurrent).toFixed(2)}A` : '-'}
+ {t('devices.rtRightMotor')}
+ {runningStatus?.rightCurrent !== undefined ? `${Number(runningStatus?.rightCurrent).toFixed(2)}A` : '-'}
+ {t('devices.rtLeftSpeed')}
+ {runningStatus?.leftMeasureSpeed !== undefined ? `${Number(runningStatus?.leftMeasureSpeed).toFixed(1)}rpm` : '-'}
+ {t('devices.rtRightSpeed')}
+ {runningStatus?.rightMeasureSpeed !== undefined ? `${Number(runningStatus?.rightMeasureSpeed).toFixed(1)}rpm` : '-'}
+ {t('devices.rtLeftTemp')}
+ {runningStatus?.leftMotorTemp !== undefined ? `${Number(runningStatus?.leftMotorTemp).toFixed(1)}℃` : '-'}
+ {t('devices.rtRightTemp')}
+ {runningStatus?.rightMotorTemp !== undefined ? `${Number(runningStatus?.rightMotorTemp).toFixed(1)}℃` : '-'}
+ {t('devices.rtMainTemp')}
+ {runningStatus?.chipTemp !== undefined ? `${Number(runningStatus?.chipTemp).toFixed(1)}℃` : '-'}
+ {t('devices.rtHeadingAngle')}
+ {runningStatus?.yaw !== undefined ? `${Number(runningStatus?.yaw).toFixed(1)}°` : '-'}
+ {t('devices.rtPitchAngle')}
+ {runningStatus?.pitch !== undefined ? `${Number(runningStatus?.pitch).toFixed(1)}°` : '-'}
+ {t('devices.rtHeadingStatus')}
+ {runningStatus?.headingStatus !== undefined ? `${runningStatus?.headingStatus == 1 ? t('devices.rtInitialized') : t('devices.uninitialized')}` : '-'}
+ {t('devices.rtPositioning')}
- {runningStatus.fix_status ? fixStatusMap[runningStatus.fix_status] : t('constants.locationUnknown')}
+ {runningStatus?.qual == 0 ? t('constants.locationInvalid') :
+ runningStatus?.qual == 1 ? t('devices.gpsSingle') :
+ runningStatus?.qual == 2 ? t('devices.dgpsDiff') :
+ runningStatus?.qual == 4 ? t('devices.rtkFixed2') :
+ runningStatus?.qual == 5 ? t('devices.rtkFloat') : t('constants.locationUnknown')}
- {t('devices.rtSatellites')}:
- {t('devices.satelliteCount', { count: runningStatus.satelliteCnt || 0 })}
- {t('devices.rtMode')}:
+ {t('devices.rtSatellites')}
+ {t('devices.satelliteCount', { count: runningStatus?.satelliteCnt || 0 })}
+ {t('devices.rtMode')}
- {runningStatus.controlMode == 1 ? t('devices.localMode') :
- runningStatus.controlMode == 3 ? t('devices.remoteMode') : t('constants.locationUnknown')}
+ {runningStatus?.controlMode == 1 ? t('devices.localMode') :
+ runningStatus?.controlMode == 3 ? t('devices.remoteMode') : t('constants.locationUnknown')}
@@ -1263,42 +1267,42 @@ export default function DeviceStatusPage() {
{t('devices.robotStatus')}
{t('devices.rtBattery')}
-
- {runningStatus.battery !== undefined ? `${runningStatus.battery}%` : '-'}
+
+ {runningStatus?.battery !== undefined ? `${runningStatus?.battery}%` : '-'}
{t('devices.rtVoltage')}
- {runningStatus.voltage !== undefined ? `${Number(runningStatus.voltage).toFixed(2)}V` : '-'}
+ {runningStatus?.voltage !== undefined ? `${Number(runningStatus?.voltage).toFixed(2)}V` : '-'}
{t('devices.rtLeftMotor')}
- {runningStatus.leftCurrent !== undefined ? `${Number(runningStatus.leftCurrent).toFixed(2)}A` : '-'}
+ {runningStatus?.leftCurrent !== undefined ? `${Number(runningStatus?.leftCurrent).toFixed(2)}A` : '-'}
{t('devices.rtRightMotor')}
- {runningStatus.rightCurrent !== undefined ? `${Number(runningStatus.rightCurrent).toFixed(2)}A` : '-'}
+ {runningStatus?.rightCurrent !== undefined ? `${Number(runningStatus?.rightCurrent).toFixed(2)}A` : '-'}
{t('devices.rtLeftSpeed')}
- {runningStatus.leftMeasureSpeed !== undefined ? `${Number(runningStatus.leftMeasureSpeed).toFixed(1)}rpm` : '-'}
+ {runningStatus?.leftMeasureSpeed !== undefined ? `${Number(runningStatus?.leftMeasureSpeed).toFixed(1)}rpm` : '-'}
{t('devices.rtRightSpeed')}
- {runningStatus.rightMeasureSpeed !== undefined ? `${Number(runningStatus.rightMeasureSpeed).toFixed(1)}rpm` : '-'}
+ {runningStatus?.rightMeasureSpeed !== undefined ? `${Number(runningStatus?.rightMeasureSpeed).toFixed(1)}rpm` : '-'}
{t('devices.rtLeftTemp')}
- {runningStatus.leftMotorTemp !== undefined ? `${Number(runningStatus.leftMotorTemp).toFixed(1)}℃` : '-'}
+ {runningStatus?.leftMotorTemp !== undefined ? `${Number(runningStatus?.leftMotorTemp).toFixed(1)}℃` : '-'}
{t('devices.rtRightTemp')}
- {runningStatus.rightMotorTemp !== undefined ? `${Number(runningStatus.rightMotorTemp).toFixed(1)}℃` : '-'}
+ {runningStatus?.rightMotorTemp !== undefined ? `${Number(runningStatus?.rightMotorTemp).toFixed(1)}℃` : '-'}
{t('devices.rtMainTemp')}
- {runningStatus.chipTemp !== undefined ? `${Number(runningStatus.chipTemp).toFixed(1)}℃` : '-'}
+ {runningStatus?.chipTemp !== undefined ? `${Number(runningStatus?.chipTemp).toFixed(1)}℃` : '-'}
{t('devices.rtHeadingAngle')}
- {runningStatus.yaw !== undefined ? `${Number(runningStatus.yaw).toFixed(1)}°` : '-'}
+ {runningStatus?.yaw !== undefined ? `${Number(runningStatus?.yaw).toFixed(1)}°` : '-'}
{t('devices.rtPitchAngle')}
- {runningStatus.pitch !== undefined ? `${Number(runningStatus.pitch).toFixed(1)}°` : '-'}
+ {runningStatus?.pitch !== undefined ? `${Number(runningStatus?.pitch).toFixed(1)}°` : '-'}
{t('devices.rtHeadingStatus')}
- {runningStatus.headingStatus !== undefined ? `${runningStatus.headingStatus == 1 ? t('devices.rtInitialized') : t('devices.uninitialized')}` : '-'}
+ {runningStatus?.headingStatus !== undefined ? `${runningStatus?.headingStatus == 1 ? t('devices.rtInitialized') : t('devices.uninitialized')}` : '-'}
{t('devices.rtPositioning')}
- {runningStatus.fix_status ? fixStatusMap[runningStatus.fix_status] : t('constants.locationUnknown')}
+ {runningStatus?.fix_status ? fixStatusMap[runningStatus?.fix_status] : t('constants.locationUnknown')}
{t('devices.rtSatellites')}
- {t('devices.satelliteCount', { count: runningStatus.satelliteCnt || 0 })}
+ {t('devices.satelliteCount', { count: runningStatus?.satelliteCnt || 0 })}
{t('devices.rtMode')}
- {runningStatus.controlMode == 1 ? t('devices.localMode') :
- runningStatus.controlMode == 3 ? t('devices.remoteMode') : t('constants.locationUnknown')}
+ {runningStatus?.controlMode == 1 ? t('devices.localMode') :
+ runningStatus?.controlMode == 3 ? t('devices.remoteMode') : t('constants.locationUnknown')}
@@ -1391,11 +1395,11 @@ export default function DeviceStatusPage() {
open={isModalOpen}
onOk={handleOk}
onCancel={handleCancel}
- title={modalContent.title}
+ title={modalContent?.title}
okText={t('common.ok')}
cancelText={t('common.cancel')}
>
- {modalContent.content}
+ {modalContent?.content}
{/* 保存路径模态框 */}