From b9ad0d8d446d733790d5ac52c319b3992fa582f7 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Thu, 13 Aug 2026 14:53:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(map):=20=E4=BF=AE=E5=A4=8D=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=E7=A9=BA=E5=80=BC?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=8C=E9=98=B2=E6=AD=A2=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 所有异步接口获取的数据添加空值判断或默认空数组/空对象处理 - 修正部分状态赋值,避免因数据缺失导致报错 - 调整地图分公司信息逻辑,防止空值访问异常 - 统一视频播放地址获取时的空值赋默认值 - 优化部分组件初始化时对接口数据的安全调用代码 --- .../IndexInfo/Bottom/VideoPatrolPanel/index.js | 12 +++++++----- .../IndexInfo/LeftPanel/WeatherPanel/index.js | 7 ++++--- .../IndexInfo/RightPanel/WorkPanel/index.js | 18 ++++++++++-------- .../Content/branchOffice/Camera/VideoItem.js | 3 ++- .../Content/branchOffice/Camera/index.js | 2 +- .../DepartmentResponsibilityPanel/index.js | 2 +- .../IndexLeft/RiskHazardPanel/index.js | 2 +- .../IndexLeft/WeatherPreventionPanel/index.js | 5 +++-- .../IndexRight/VideoPatrolPanel/index.js | 3 ++- .../MenJin/EntryExitTrendPanel/index.js | 2 +- .../QiXiang/WeatherPreventionPanel/index.js | 7 ++++--- .../WeiXian/DepartmentWorkPanel/index.js | 2 +- .../XiaoFang/FireDeviceStatusPanel/index.js | 5 +++-- .../FireInspectionRecordPanel/index.js | 2 +- .../XiaoFang/VolunteerFireTeamPanel/index.js | 1 - .../ZhongDian/ProjectStatsPanel/index.js | 7 ++++--- .../Content/modal/AlarmEquipment/index.js | 2 +- .../Content/modal/BlindBoardWork/index.js | 2 +- .../Content/modal/BreakGroundWork/index.js | 2 +- .../Content/modal/ConfinedSpaceWork/index.js | 8 ++++---- .../Content/modal/CutRoadWork/index.js | 2 +- .../Content/modal/DoorCamera/index.js | 10 ++++++---- .../components/Content/modal/Doorway/index.js | 2 +- .../Content/modal/ElectricityWork/index.js | 4 ++-- .../Content/modal/FireControlRoom/index.js | 7 ++++--- .../Content/modal/FirePointLocation/index.js | 2 +- .../Content/modal/FirePumpRoom/index.js | 7 ++++--- .../Content/modal/FireRescueTeam/index.js | 2 +- .../Content/modal/FireWaterSource/index.js | 5 +++-- .../Map/components/Content/modal/Gate/index.js | 2 +- .../components/Content/modal/HighWork/index.js | 2 +- .../Content/modal/HoistingWork/index.js | 2 +- .../components/Content/modal/HotWork/index.js | 6 +++--- .../Content/modal/KeyProject/index.js | 5 +++-- .../Content/modal/VideoPlay/index.js | 5 +++-- .../eightWordPubilc/SafetyMeasures/index.js | 5 +++-- .../Content/port/Index/BasicInfoPanel/index.js | 7 ++++--- .../port/MenJin/EntryExitTrendPanel/index.js | 2 +- .../port/MenJin/GateRecordPanel/index.js | 4 ++-- .../RenYuan/OnlineLocationInfoPanel/index.js | 2 +- .../port/WeiXian/WorkStatusPanel/index.js | 7 ++++--- .../port/ZhongDian/KeyProjectPanel/index.js | 3 ++- .../port/ZhongDian/KeyWorkInfoPanel/index.js | 2 +- .../port/ZhongDian/VideoLocationPanel/index.js | 3 ++- .../components/PeopleTrajectorySelect/index.js | 3 ++- src/pages/Container/Map/index.js | 17 +++++++++-------- 46 files changed, 118 insertions(+), 94 deletions(-) diff --git a/src/pages/Container/Map/components/Content/IndexInfo/Bottom/VideoPatrolPanel/index.js b/src/pages/Container/Map/components/Content/IndexInfo/Bottom/VideoPatrolPanel/index.js index abcf088..b638809 100644 --- a/src/pages/Container/Map/components/Content/IndexInfo/Bottom/VideoPatrolPanel/index.js +++ b/src/pages/Container/Map/components/Content/IndexInfo/Bottom/VideoPatrolPanel/index.js @@ -17,8 +17,9 @@ function VideoPatrolPanel(props) { const { data, success } = await props.getFixedCameraPlayUrl({ indexCode: cameraNumber, }); - if (success && data) - setPlayUrl(data || ""); + const videoUrl = data || ""; + if (success) + setPlayUrl(videoUrl); }; const selectCorp = (item) => { setActive(item.corpinfoName); @@ -36,9 +37,10 @@ function VideoPatrolPanel(props) { useEffect(() => { const loadVideoList = async () => { const { data } = await props.getFixedCameraVideoList(); - setList(data || []); - if (data?.length) { - selectCorp(data[0]); + const videoList = data || []; + setList(videoList); + if (videoList.length) { + selectCorp(videoList[0]); } }; diff --git a/src/pages/Container/Map/components/Content/IndexInfo/LeftPanel/WeatherPanel/index.js b/src/pages/Container/Map/components/Content/IndexInfo/LeftPanel/WeatherPanel/index.js index b690c82..8bccb29 100644 --- a/src/pages/Container/Map/components/Content/IndexInfo/LeftPanel/WeatherPanel/index.js +++ b/src/pages/Container/Map/components/Content/IndexInfo/LeftPanel/WeatherPanel/index.js @@ -18,10 +18,11 @@ function WeatherPanel(props) { useEffect(() => { const loadData = async () => { - const { result = {} } = await props.getWeather(); + const { result } = await props.getWeather(); + const weatherResult = result || {}; setWeather({ - ...result.now, - alertTitle: result.alerts?.[0]?.title || "当前暂无气象预警", + ...weatherResult.now, + alertTitle: weatherResult.alerts?.[0]?.title || "当前暂无气象预警", }); const { data } = await props.getEventReportListUnfinished({ diff --git a/src/pages/Container/Map/components/Content/IndexInfo/RightPanel/WorkPanel/index.js b/src/pages/Container/Map/components/Content/IndexInfo/RightPanel/WorkPanel/index.js index d47aebc..36dcd61 100644 --- a/src/pages/Container/Map/components/Content/IndexInfo/RightPanel/WorkPanel/index.js +++ b/src/pages/Container/Map/components/Content/IndexInfo/RightPanel/WorkPanel/index.js @@ -33,18 +33,20 @@ function WorkPanel(props) { props.getEightWorkInfoDangerWorkStatistics(), props.getKeyProjectLargeScreenStatistics(), ]); + const eightWorkStatistics = eightWorkData || {}; + const keyProjectStatistics = keyProjectData || {}; setData((prevState) => { - prevState[1].doingCount = eightWorkData?.doingCount; - prevState[1].appliedCount = eightWorkData?.appliedCount; + prevState[1].doingCount = eightWorkStatistics.doingCount; + prevState[1].appliedCount = eightWorkStatistics.appliedCount; - prevState[0].doingCount = keyProjectData?.morePeopleStartCount; - prevState[0].appliedCount = keyProjectData?.morePeopleApplyCount; + prevState[0].doingCount = keyProjectStatistics.morePeopleStartCount; + prevState[0].appliedCount = keyProjectStatistics.morePeopleApplyCount; - prevState[2].doingCount = keyProjectData?.fourNewHomeworkStartCount; - prevState[2].appliedCount = keyProjectData?.fourNewHomeworkApplyCount; + prevState[2].doingCount = keyProjectStatistics.fourNewHomeworkStartCount; + prevState[2].appliedCount = keyProjectStatistics.fourNewHomeworkApplyCount; - prevState[3].doingCount = keyProjectData?.nightWorkStartCount; - prevState[3].appliedCount = keyProjectData?.nightWorkApplyCount; + prevState[3].doingCount = keyProjectStatistics.nightWorkStartCount; + prevState[3].appliedCount = keyProjectStatistics.nightWorkApplyCount; return [...prevState]; }); diff --git a/src/pages/Container/Map/components/Content/branchOffice/Camera/VideoItem.js b/src/pages/Container/Map/components/Content/branchOffice/Camera/VideoItem.js index 5125207..b34a36e 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/Camera/VideoItem.js +++ b/src/pages/Container/Map/components/Content/branchOffice/Camera/VideoItem.js @@ -18,8 +18,9 @@ function VideoItem({ cameraNumber, videoName, getFixedCameraPlayUrl }) { setLoading(true); setPlayUrl(""); const { data, success } = await getFixedCameraPlayUrl({ indexCode: cameraNumber }); + const videoUrl = data || ""; if (!isUnmounted && success) - setPlayUrl(data || ""); + setPlayUrl(videoUrl); if (!isUnmounted) setLoading(false); diff --git a/src/pages/Container/Map/components/Content/branchOffice/Camera/index.js b/src/pages/Container/Map/components/Content/branchOffice/Camera/index.js index af51d77..7c51c4b 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/Camera/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/Camera/index.js @@ -37,7 +37,7 @@ function Camera(props) { pageSize: 99, }), ]); - setLevelList(dictionaryData); + setLevelList(dictionaryData || []); setVideoList(data || []); }; diff --git a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/DepartmentResponsibilityPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/DepartmentResponsibilityPanel/index.js index 8b67ea1..6764195 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/DepartmentResponsibilityPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/DepartmentResponsibilityPanel/index.js @@ -144,7 +144,7 @@ function DepartmentResponsibilityPanel(props) { useMount(() => { const loadData = async () => { const { data } = await props.getDepartmentDuty({ portArea, corpinfoId: currentBranchOffice }); - initEcharts(data); + initEcharts(data || []); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/RiskHazardPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/RiskHazardPanel/index.js index 7da7de2..f521126 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/RiskHazardPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/RiskHazardPanel/index.js @@ -22,7 +22,7 @@ function RiskHazardPanel(props) { const loadData = async () => { const { data } = await props.getRiskPointHidden({ portArea, corpinfoId: currentBranchOffice }); - setData(data); + setData(data || []); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/WeatherPreventionPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/WeatherPreventionPanel/index.js index 1c76d4a..dc40272 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/WeatherPreventionPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/IndexLeft/WeatherPreventionPanel/index.js @@ -31,8 +31,9 @@ function WeatherPreventionPanel(props) { await props.getWeather(), await props.getPersonStatistics({ portArea, corpinfoId: currentBranchOffice }), ]); - setWeather(result.now || {}); - setAlerts(Array.isArray(result.alerts) ? result.alerts : []); + const weatherResult = result || {}; + setWeather(weatherResult.now || {}); + setAlerts(Array.isArray(weatherResult.alerts) ? weatherResult.alerts : []); setData(statistics.map(item => ({ ...item, value: (data || {})[item.key] || 0 }))); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/branchOffice/IndexRight/VideoPatrolPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/IndexRight/VideoPatrolPanel/index.js index 856c960..47d7d2a 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/IndexRight/VideoPatrolPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/IndexRight/VideoPatrolPanel/index.js @@ -26,8 +26,9 @@ function VideoPatrolPanel(props) { const { data, success } = await props.getFixedCameraPlayUrl({ indexCode: video.cameraNumber, }); + const videoUrl = data || ""; if (success) - setPlayUrl(data || ""); + setPlayUrl(videoUrl); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/branchOffice/MenJin/EntryExitTrendPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/MenJin/EntryExitTrendPanel/index.js index 3cfc030..d6510d3 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/MenJin/EntryExitTrendPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/MenJin/EntryExitTrendPanel/index.js @@ -168,7 +168,7 @@ function EntryExitTrendPanel(props) { mkmjLevel: "2", mkmjType, }); - initEcharts(data); + initEcharts(data || []); }; useMount(() => { diff --git a/src/pages/Container/Map/components/Content/branchOffice/QiXiang/WeatherPreventionPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/QiXiang/WeatherPreventionPanel/index.js index 42b5e4d..a77c860 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/QiXiang/WeatherPreventionPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/QiXiang/WeatherPreventionPanel/index.js @@ -30,9 +30,10 @@ function WeatherPreventionPanel(props) { useEffect(() => { const loadData = async () => { - const { result = {} } = await props.getWeather(); - setWeather(result.now || {}); - setAlerts(Array.isArray(result.alerts) ? result.alerts : []); + const { result } = await props.getWeather(); + const weatherResult = result || {}; + setWeather(weatherResult.now || {}); + setAlerts(Array.isArray(weatherResult.alerts) ? weatherResult.alerts : []); }; loadData(); }, []); diff --git a/src/pages/Container/Map/components/Content/branchOffice/WeiXian/DepartmentWorkPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/WeiXian/DepartmentWorkPanel/index.js index 5126900..6037374 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/WeiXian/DepartmentWorkPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/WeiXian/DepartmentWorkPanel/index.js @@ -20,7 +20,7 @@ function DepartmentWorkPanel(props) { pageIndex: 1, pageSize: 99, }); - setData(data); + setData(data || []); }; loadData(); }, []); diff --git a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireDeviceStatusPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireDeviceStatusPanel/index.js index bbf6641..41faf59 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireDeviceStatusPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireDeviceStatusPanel/index.js @@ -28,9 +28,10 @@ function FireDeviceStatusPanel(props) { portArea, corpinfoId: currentBranchOffice, }); + const deviceStatus = data || {}; setData({ - totalCount: data?.totalCount || 0, - statusList: data?.statusList || [], + totalCount: deviceStatus.totalCount || 0, + statusList: deviceStatus.statusList || [], }); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireInspectionRecordPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireInspectionRecordPanel/index.js index 88dd31d..94f3441 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireInspectionRecordPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/FireInspectionRecordPanel/index.js @@ -22,7 +22,7 @@ function FireInspectionRecordPanel(props) { pageIndex: 1, pageSize: 99, }); - setData(data); + setData(data || []); }; loadData(); }, []); diff --git a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/VolunteerFireTeamPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/VolunteerFireTeamPanel/index.js index 106507f..8a623ac 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/VolunteerFireTeamPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/XiaoFang/VolunteerFireTeamPanel/index.js @@ -21,7 +21,6 @@ function VolunteerFireTeamPanel(props) { pageSize: 99, teamType: "volunteer_rescue", }); - console.log(data); setData(data || []); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/branchOffice/ZhongDian/ProjectStatsPanel/index.js b/src/pages/Container/Map/components/Content/branchOffice/ZhongDian/ProjectStatsPanel/index.js index 5f1e96a..4b6366e 100644 --- a/src/pages/Container/Map/components/Content/branchOffice/ZhongDian/ProjectStatsPanel/index.js +++ b/src/pages/Container/Map/components/Content/branchOffice/ZhongDian/ProjectStatsPanel/index.js @@ -25,10 +25,11 @@ function ProjectStatsPanel(props) { portArea, corpinfoId: currentBranchOffice, }); + const projectStatistics = data || {}; setData([ - { ...defaultStatistics[0], value: data?.totalProjectCount }, - { ...defaultStatistics[1], value: data?.waitStartCount }, - { ...defaultStatistics[2], value: data?.startCount }, + { ...defaultStatistics[0], value: projectStatistics.totalProjectCount }, + { ...defaultStatistics[1], value: projectStatistics.waitStartCount }, + { ...defaultStatistics[2], value: projectStatistics.startCount }, ]); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/modal/AlarmEquipment/index.js b/src/pages/Container/Map/components/Content/modal/AlarmEquipment/index.js index b8484d0..eefcca6 100644 --- a/src/pages/Container/Map/components/Content/modal/AlarmEquipment/index.js +++ b/src/pages/Container/Map/components/Content/modal/AlarmEquipment/index.js @@ -22,7 +22,7 @@ const AlarmEquipment = (props) => { const getData = async () => { const { data } = await props.sensorDeviceInfo({ id: props.id }); - setInfo(data); + setInfo(data || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/BlindBoardWork/index.js b/src/pages/Container/Map/components/Content/modal/BlindBoardWork/index.js index 7b4219d..63ef4ac 100644 --- a/src/pages/Container/Map/components/Content/modal/BlindBoardWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/BlindBoardWork/index.js @@ -13,7 +13,7 @@ function BlindBoardWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/BreakGroundWork/index.js b/src/pages/Container/Map/components/Content/modal/BreakGroundWork/index.js index 445c4f2..727469a 100644 --- a/src/pages/Container/Map/components/Content/modal/BreakGroundWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/BreakGroundWork/index.js @@ -14,7 +14,7 @@ function BreakGroundWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/ConfinedSpaceWork/index.js b/src/pages/Container/Map/components/Content/modal/ConfinedSpaceWork/index.js index dd0cc60..c1295f3 100644 --- a/src/pages/Container/Map/components/Content/modal/ConfinedSpaceWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/ConfinedSpaceWork/index.js @@ -13,16 +13,16 @@ function ConfinedSpaceWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); const { data: supplementaryInfo } = await props.eightWorkSupplementaryInfo({ eqWorkId: props.workId, pageSize: 999, pageIndex: 1, }); - setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas")); + setGasMonitoringRecord((supplementaryInfo || []).filter(item => item.type === "gas")); const { data: measuresLogs } = await props.eightworkMeasuresLogs({ workId: props.workId }); - setSafetyMeasures(measuresLogs.filter(item => item.type === 1)); - setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2)); + setSafetyMeasures((measuresLogs || []).filter(item => item.type === 1)); + setOtherSafetyMeasures((measuresLogs || []).filter(item => item.type === 2)); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/CutRoadWork/index.js b/src/pages/Container/Map/components/Content/modal/CutRoadWork/index.js index cf084d2..db516fa 100644 --- a/src/pages/Container/Map/components/Content/modal/CutRoadWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/CutRoadWork/index.js @@ -14,7 +14,7 @@ function CutRoadWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/DoorCamera/index.js b/src/pages/Container/Map/components/Content/modal/DoorCamera/index.js index 9aa206e..31c150c 100644 --- a/src/pages/Container/Map/components/Content/modal/DoorCamera/index.js +++ b/src/pages/Container/Map/components/Content/modal/DoorCamera/index.js @@ -12,14 +12,16 @@ const DoorCamera = (props) => { const { data, success } = await props.getFixedCameraPlayUrl({ indexCode: cameraNumber, }); - if (success && data) - setPlayUrl(data || ""); + const videoUrl = data || ""; + if (success) + setPlayUrl(videoUrl); }; const getData = async () => { const { data } = await props.firstLevelDoorInfoCameraInfo({ id: props.id }); - setInfo(data); - loadPlayUrl(data.videoResourceCode); + const cameraInfo = data || {}; + setInfo(cameraInfo); + loadPlayUrl(cameraInfo.videoResourceCode); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/Doorway/index.js b/src/pages/Container/Map/components/Content/modal/Doorway/index.js index 241d052..a6e7d84 100644 --- a/src/pages/Container/Map/components/Content/modal/Doorway/index.js +++ b/src/pages/Container/Map/components/Content/modal/Doorway/index.js @@ -13,7 +13,7 @@ const Doorway = (props) => { const getData = async () => { const { data } = await props.firstLevelDoorInfoInfo({ id: props.id }); - setInfo(data); + setInfo(data || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/ElectricityWork/index.js b/src/pages/Container/Map/components/Content/modal/ElectricityWork/index.js index fb0409c..e151b57 100644 --- a/src/pages/Container/Map/components/Content/modal/ElectricityWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/ElectricityWork/index.js @@ -15,13 +15,13 @@ function ElectricityWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); const { data: supplementaryInfo } = await props.eightWorkSupplementaryInfo({ eqWorkId: props.workId, pageSize: 999, pageIndex: 1, }); - setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas")); + setGasMonitoringRecord((supplementaryInfo || []).filter(item => item.type === "gas")); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/FireControlRoom/index.js b/src/pages/Container/Map/components/Content/modal/FireControlRoom/index.js index ab5c7af..5db0a63 100644 --- a/src/pages/Container/Map/components/Content/modal/FireControlRoom/index.js +++ b/src/pages/Container/Map/components/Content/modal/FireControlRoom/index.js @@ -17,17 +17,18 @@ const FireControlRoom = (props) => { const getData = async () => { const { data } = await props.fireControlRoomInfo({ id: props.id }); + const roomInfo = data || {}; const dictionaryData = await getDictionary({ dictValue: "fire_resource_contro_root_type" }); const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[302], - eqForeignKey: data.roomId, + eqForeignKey: roomInfo.roomId, }); setInfo({ - ...data, + ...roomInfo, roomImages: files, roomStatusName: getLabelName({ list: dictionaryData, - status: data.roomStatus, + status: roomInfo.roomStatus, idKey: "dictValue", nameKey: "dictLabel", }), diff --git a/src/pages/Container/Map/components/Content/modal/FirePointLocation/index.js b/src/pages/Container/Map/components/Content/modal/FirePointLocation/index.js index 726ad9f..eb378d5 100644 --- a/src/pages/Container/Map/components/Content/modal/FirePointLocation/index.js +++ b/src/pages/Container/Map/components/Content/modal/FirePointLocation/index.js @@ -11,7 +11,7 @@ const FirePointLocation = (props) => { const getData = async () => { const { data } = await props.firePointInfo({ id: props.id }); - setInfo(data); + setInfo(data || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/FirePumpRoom/index.js b/src/pages/Container/Map/components/Content/modal/FirePumpRoom/index.js index f832485..b38e770 100644 --- a/src/pages/Container/Map/components/Content/modal/FirePumpRoom/index.js +++ b/src/pages/Container/Map/components/Content/modal/FirePumpRoom/index.js @@ -17,17 +17,18 @@ const FirePumpRoom = (props) => { const getData = async () => { const { data } = await props.firePumpRoomInfo({ id: props.id }); + const pumpRoomInfo = data || {}; const dictionaryData = await getDictionary({ dictValue: "fire_resource_contro_root_type" }); const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[302], - eqForeignKey: data.pumpRoomId, + eqForeignKey: pumpRoomInfo.pumpRoomId, }); setInfo({ - ...data, + ...pumpRoomInfo, roomImages: files, pumpStatusName: getLabelName({ list: dictionaryData, - status: data.pumpRoomStatus, + status: pumpRoomInfo.pumpRoomStatus, idKey: "dictValue", nameKey: "dictLabel", }), diff --git a/src/pages/Container/Map/components/Content/modal/FireRescueTeam/index.js b/src/pages/Container/Map/components/Content/modal/FireRescueTeam/index.js index 617f465..88baa62 100644 --- a/src/pages/Container/Map/components/Content/modal/FireRescueTeam/index.js +++ b/src/pages/Container/Map/components/Content/modal/FireRescueTeam/index.js @@ -9,7 +9,7 @@ const FireRescueTeam = (props) => { const getData = async () => { const { data } = await props.fireRescueTeamInfo({ id: props.id }); - setInfo(data); + setInfo(data || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/FireWaterSource/index.js b/src/pages/Container/Map/components/Content/modal/FireWaterSource/index.js index 837dfa7..d5c7eaa 100644 --- a/src/pages/Container/Map/components/Content/modal/FireWaterSource/index.js +++ b/src/pages/Container/Map/components/Content/modal/FireWaterSource/index.js @@ -12,13 +12,14 @@ const FireWaterSource = (props) => { const getData = async () => { const { data } = await props.fireWaterSourceInfo({ id: props.id }); + const waterSourceInfo = data || {}; const dictionaryData = await getDictionary({ dictValue: "fire_resource_water_type" }); setInfo({ - ...data, + ...waterSourceInfo, waterSourceStatusName: getLabelName({ list: dictionaryData, - status: data.waterSourceStatus, + status: waterSourceInfo.waterSourceStatus, idKey: "dictValue", nameKey: "dictLabel", }), diff --git a/src/pages/Container/Map/components/Content/modal/Gate/index.js b/src/pages/Container/Map/components/Content/modal/Gate/index.js index 40daf60..ec938b6 100644 --- a/src/pages/Container/Map/components/Content/modal/Gate/index.js +++ b/src/pages/Container/Map/components/Content/modal/Gate/index.js @@ -13,7 +13,7 @@ const Gate = (props) => { const getData = async () => { const { data } = await props.firstLevelDoorInfoFareGateInfo({ id: props.id }); - setInfo(data); + setInfo(data || {}); }; useEffect(() => { getData(); diff --git a/src/pages/Container/Map/components/Content/modal/HighWork/index.js b/src/pages/Container/Map/components/Content/modal/HighWork/index.js index bfd9d6e..372b715 100644 --- a/src/pages/Container/Map/components/Content/modal/HighWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/HighWork/index.js @@ -14,7 +14,7 @@ function HighWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/HoistingWork/index.js b/src/pages/Container/Map/components/Content/modal/HoistingWork/index.js index ad69d78..74c8715 100644 --- a/src/pages/Container/Map/components/Content/modal/HoistingWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/HoistingWork/index.js @@ -14,7 +14,7 @@ function HoistingWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/HotWork/index.js b/src/pages/Container/Map/components/Content/modal/HotWork/index.js index 9e62e0c..5ab89b8 100644 --- a/src/pages/Container/Map/components/Content/modal/HotWork/index.js +++ b/src/pages/Container/Map/components/Content/modal/HotWork/index.js @@ -14,14 +14,14 @@ function HotWork(props) { const getData = async () => { const { data: basicInfo } = await props.eightWorkInfo({ id: props.id }); - setInfo(basicInfo); + setInfo(basicInfo || {}); const { data: supplementaryInfo } = await props.eightWorkSupplementaryInfo({ eqWorkId: props.workId, pageSize: 999, pageIndex: 1, }); - setDelayedMonitoringRecord(supplementaryInfo.filter(item => item.type === "delay")); - setGasMonitoringRecord(supplementaryInfo.filter(item => item.type === "gas")); + setDelayedMonitoringRecord((supplementaryInfo || []).filter(item => item.type === "delay")); + setGasMonitoringRecord((supplementaryInfo || []).filter(item => item.type === "gas")); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/KeyProject/index.js b/src/pages/Container/Map/components/Content/modal/KeyProject/index.js index 0a0dfe4..a64d156 100644 --- a/src/pages/Container/Map/components/Content/modal/KeyProject/index.js +++ b/src/pages/Container/Map/components/Content/modal/KeyProject/index.js @@ -55,14 +55,15 @@ const KeyProject = (props) => { const getData = async () => { const { data } = await props.keyProjectInfo({ id: props.id }); + const projectInfo = data || {}; const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM["168"], - eqForeignKey: data.keyProjectId, + eqForeignKey: projectInfo.keyProjectId, }); setInfo({ files, - ...data, + ...projectInfo, }); }; diff --git a/src/pages/Container/Map/components/Content/modal/VideoPlay/index.js b/src/pages/Container/Map/components/Content/modal/VideoPlay/index.js index 7582b19..fab62ee 100644 --- a/src/pages/Container/Map/components/Content/modal/VideoPlay/index.js +++ b/src/pages/Container/Map/components/Content/modal/VideoPlay/index.js @@ -8,8 +8,9 @@ const VideoPlay = (props) => { const getData = async () => { const { data, success } = await props.getFixedCameraPlayUrl({ indexCode: props.cameraNumber }); - if (success && data) - setPlayUrl(data); + const videoUrl = data || ""; + if (success) + setPlayUrl(videoUrl); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/modal/eightWordPubilc/SafetyMeasures/index.js b/src/pages/Container/Map/components/Content/modal/eightWordPubilc/SafetyMeasures/index.js index 4eaa1f7..ddd9d1b 100644 --- a/src/pages/Container/Map/components/Content/modal/eightWordPubilc/SafetyMeasures/index.js +++ b/src/pages/Container/Map/components/Content/modal/eightWordPubilc/SafetyMeasures/index.js @@ -11,8 +11,9 @@ function SafetyMeasures(props) { const getData = async () => { const { data } = await props.eightWorkMeasuresLogs({ workId: props.workId }); - setSafetyMeasures(data.filter(item => item.type === 1)); - setOtherSafetyMeasures(data.filter(item => item.type === 2)); + const measuresLogs = data || []; + setSafetyMeasures(measuresLogs.filter(item => item.type === 1)); + setOtherSafetyMeasures(measuresLogs.filter(item => item.type === 2)); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/port/Index/BasicInfoPanel/index.js b/src/pages/Container/Map/components/Content/port/Index/BasicInfoPanel/index.js index 86e9d55..8860537 100644 --- a/src/pages/Container/Map/components/Content/port/Index/BasicInfoPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/Index/BasicInfoPanel/index.js @@ -25,10 +25,11 @@ function BasicInfoPanel(props) { useEffect(() => { const loadData = async () => { const { data } = await props.getCorpInfoCorpUserSummary({ portArea }); + const summary = data || {}; const counts = [ - data?.branchCorpCount, - data?.relatedCorpCount, - data?.userCount, + summary.branchCorpCount, + summary.relatedCorpCount, + summary.userCount, ]; setData( diff --git a/src/pages/Container/Map/components/Content/port/MenJin/EntryExitTrendPanel/index.js b/src/pages/Container/Map/components/Content/port/MenJin/EntryExitTrendPanel/index.js index d3c4e34..7826511 100644 --- a/src/pages/Container/Map/components/Content/port/MenJin/EntryExitTrendPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/MenJin/EntryExitTrendPanel/index.js @@ -123,7 +123,7 @@ function EntryExitTrendPanel(props) { useMount(() => { const loadData = async () => { const { data } = await props.getScreenMkmjRecord({ portArea, mkmjLevel: "1" }); - initEcharts(data); + initEcharts(data || []); }; loadData(); diff --git a/src/pages/Container/Map/components/Content/port/MenJin/GateRecordPanel/index.js b/src/pages/Container/Map/components/Content/port/MenJin/GateRecordPanel/index.js index 0898528..1b0dd05 100644 --- a/src/pages/Container/Map/components/Content/port/MenJin/GateRecordPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/MenJin/GateRecordPanel/index.js @@ -19,11 +19,11 @@ function GateRecordPanel(props) { const loadRecords = async (tabIndex) => { setRecords([]); - const { data = [] } = await props.getScreenAccessRecord({ + const { data } = await props.getScreenAccessRecord({ portArea, recordType: tabIndex + 1, }); - setRecords(data); + setRecords(data || []); }; useEffect(() => { diff --git a/src/pages/Container/Map/components/Content/port/RenYuan/OnlineLocationInfoPanel/index.js b/src/pages/Container/Map/components/Content/port/RenYuan/OnlineLocationInfoPanel/index.js index b9c6e08..3c00157 100644 --- a/src/pages/Container/Map/components/Content/port/RenYuan/OnlineLocationInfoPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/RenYuan/OnlineLocationInfoPanel/index.js @@ -16,7 +16,7 @@ function OnlineLocationInfoPanel(props) { useEffect(() => { const loadData = async () => { const { data } = await props.getScreenPersonLocationList({ portArea }); - setData(data); + setData(data || []); }; loadData(); }, []); diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js index 1658bcb..0ea38cf 100644 --- a/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js @@ -28,10 +28,11 @@ function WorkStatusPanel(props) { const { data } = await props.getEightWorkInfoScreenStatusStatistics({ portArea, }); + const workStatus = data || {}; const counts = [ - data?.appliedCount, - data?.approvingCount, - data?.archivedCount, + workStatus.appliedCount, + workStatus.approvingCount, + workStatus.archivedCount, ]; setData( defaultStatistics.map((item, index) => ({ diff --git a/src/pages/Container/Map/components/Content/port/ZhongDian/KeyProjectPanel/index.js b/src/pages/Container/Map/components/Content/port/ZhongDian/KeyProjectPanel/index.js index 84856a1..ae5bd55 100644 --- a/src/pages/Container/Map/components/Content/port/ZhongDian/KeyProjectPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/ZhongDian/KeyProjectPanel/index.js @@ -26,7 +26,8 @@ function KeyProjectPanel(props) { const { data } = await props.getKeyProjectLargeScreenProjectStatistics({ portArea, }); - const counts = [data?.totalProjectCount, data?.startCount]; + const projectStatistics = data || {}; + const counts = [projectStatistics.totalProjectCount, projectStatistics.startCount]; setData( defaultStatistics.map((item, index) => ({ ...item, diff --git a/src/pages/Container/Map/components/Content/port/ZhongDian/KeyWorkInfoPanel/index.js b/src/pages/Container/Map/components/Content/port/ZhongDian/KeyWorkInfoPanel/index.js index 17dba95..b99e856 100644 --- a/src/pages/Container/Map/components/Content/port/ZhongDian/KeyWorkInfoPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/ZhongDian/KeyWorkInfoPanel/index.js @@ -26,7 +26,7 @@ function KeyWorkInfoPanel(props) { useEffect(() => { const loadData = async () => { const { data } = await props.getScreenLargeScreenInfo({ portArea }); - setData(data); + setData(data || []); }; loadData(); }, []); diff --git a/src/pages/Container/Map/components/Content/port/ZhongDian/VideoLocationPanel/index.js b/src/pages/Container/Map/components/Content/port/ZhongDian/VideoLocationPanel/index.js index 2515892..5efdf9d 100644 --- a/src/pages/Container/Map/components/Content/port/ZhongDian/VideoLocationPanel/index.js +++ b/src/pages/Container/Map/components/Content/port/ZhongDian/VideoLocationPanel/index.js @@ -24,7 +24,8 @@ function VideoLocationPanel(props) { const { data } = await props.getFixedCameraVideoLocationStat({ portArea, }); - const counts = [data?.totalCount, data?.onlineCount, data?.offlineCount]; + const videoStatistics = data || {}; + const counts = [videoStatistics.totalCount, videoStatistics.onlineCount, videoStatistics.offlineCount]; setData( defaultStatistics.map((item, index) => ({ ...item, diff --git a/src/pages/Container/Map/components/PeopleTrajectorySelect/index.js b/src/pages/Container/Map/components/PeopleTrajectorySelect/index.js index 7cf20c2..c14702b 100644 --- a/src/pages/Container/Map/components/PeopleTrajectorySelect/index.js +++ b/src/pages/Container/Map/components/PeopleTrajectorySelect/index.js @@ -43,7 +43,8 @@ function PeopleTrajectorySelect(props) { setQueryLoading(true); try { const { data } = await props.getPeopleTrajectory(params); - const points = data?.points || []; + const trajectoryData = data || {}; + const points = trajectoryData.points || []; if (points.length < 2) { mapMethods.current.removePeopleTrajectory(); message.warning("该时间范围内没有可绘制的轨迹"); diff --git a/src/pages/Container/Map/index.js b/src/pages/Container/Map/index.js index 9f8d894..8d9eefe 100644 --- a/src/pages/Container/Map/index.js +++ b/src/pages/Container/Map/index.js @@ -84,23 +84,24 @@ function Map(props) { setTimeout(() => { if (window.sessionStorage.getItem("token")) { props.getCorpInfo().then(({ data }) => { - if ([3, 4, 5].includes(data?.type)) { + const corpInfo = data || {}; + if ([3, 4, 5].includes(corpInfo.type)) { // eslint-disable-next-line no-alert alert("您当前登录的账号没有权限访问此页面"); closeWindow(); } - else if ([0, 1, 6].includes(data?.type)) { - const id = data.id; - const name = data.corpName; - const longitude = data.longitude; - const latitude = data.latitude; + else if ([0, 1, 6].includes(corpInfo.type)) { + const id = corpInfo.id; + const name = corpInfo.corpName; + const longitude = corpInfo.longitude; + const latitude = corpInfo.latitude; if (!id || !name || !longitude || !latitude) return message.warning("参数不完整,无法定位到对应分公司"); handlePortClick({ id: "00003" }); - handleBranchOfficeClick(data); - mapMethods.current.addBranchOfficePoint(undefined, data); + handleBranchOfficeClick(corpInfo); + mapMethods.current.addBranchOfficePoint(undefined, corpInfo); mapMethods.current.flyTo({ longitude, latitude, height: 2000 }); sessionStorage.setItem("mapCurrentBranchOfficeId", id); setIsBranchCompanyUser(true);