From 4d91bf003911595f4d2a45408f441661bd464646 Mon Sep 17 00:00:00 2001 From: wangyunfei <1224056307@qq,com> Date: Fri, 26 Sep 2025 13:49:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/OnlineMonitoring.js | 41 +++++++- .../module/OnlineMonitoring.less | 95 +++++++++++++++++++ 2 files changed, 131 insertions(+), 5 deletions(-) diff --git a/src/pages/safe_majorHazard/module/OnlineMonitoring.js b/src/pages/safe_majorHazard/module/OnlineMonitoring.js index c170674..047b795 100644 --- a/src/pages/safe_majorHazard/module/OnlineMonitoring.js +++ b/src/pages/safe_majorHazard/module/OnlineMonitoring.js @@ -142,14 +142,41 @@ const OnlineMonitoring = () => { chart.setOption(option); - // 响应式调整 + // 响应式调整 - 使用ResizeObserver监听容器尺寸变化 + let resizeTimer = null; const handleResize = () => { - chart.resize(); + // 防抖处理,避免频繁调用resize + if (resizeTimer) { + clearTimeout(resizeTimer); + } + resizeTimer = setTimeout(() => { + chart.resize(); + }, 100); }; + + // 监听窗口大小变化 window.addEventListener('resize', handleResize); + + // 监听容器尺寸变化(解决菜单栏伸缩时的自适应问题) + let resizeObserver = null; + if (window.ResizeObserver) { + resizeObserver = new ResizeObserver(() => { + // 使用setTimeout确保DOM更新完成后再调整图表 + setTimeout(() => { + handleResize(); + }, 0); + }); + resizeObserver.observe(chartRef.current); + } return () => { window.removeEventListener('resize', handleResize); + if (resizeObserver) { + resizeObserver.disconnect(); + } + if (resizeTimer) { + clearTimeout(resizeTimer); + } chart.dispose(); }; } @@ -442,6 +469,11 @@ const OnlineMonitoring = () => { // 批量删除功能 const handleBatchDelete = () => { + if (selectedRowKeys.length === 0) { + console.log('没有选中任何行'); + // 可以在这里添加提示用户选择行的逻辑 + return; + } console.log('批量删除', selectedRowKeys); // 这里可以添加批量删除逻辑 }; @@ -644,9 +676,8 @@ const OnlineMonitoring = () => {