diff --git a/static/admin/tools.js b/static/admin/tools.js index 67a16d8..4c7f1d9 100644 --- a/static/admin/tools.js +++ b/static/admin/tools.js @@ -393,9 +393,16 @@ async function loadDevPool(){ tb.innerHTML='加载中...'; const r=await apiGet('/api/devices/pool'); if(!r||!r.ok){tb.innerHTML='加载失败';return;} - const rows=r.devices||[]; + let rows=r.devices||[]; + // 在线优先排序;「只看在线」勾选时过滤掉离线(IP 换了/长期离线的旧条目不再碍眼) + const onlyOnline=document.getElementById('devpool-filter-online') + ? document.getElementById('devpool-filter-online').checked : false; + rows.sort((a,b)=>(b.online?1:0)-(a.online?1:0)); + if(onlyOnline)rows=rows.filter(x=>x.online); const onlineCnt=rows.filter(x=>x.online).length; - status.textContent='共 '+rows.length+' 台,在线 '+onlineCnt+' 台'; + status.textContent=onlyOnline + ? '在线 '+rows.length+' 台(共 '+(r.devices||[]).length+' 台配置)' + : '共 '+rows.length+' 台,在线 '+onlineCnt+' 台'; tb.innerHTML=rows.map(d=>{ const st= d.enabled ? '启用' diff --git a/templates/admin/monitor.html b/templates/admin/monitor.html index db383fc..5b41db9 100644 --- a/templates/admin/monitor.html +++ b/templates/admin/monitor.html @@ -680,6 +680,9 @@ body{background:var(--bg);font-family:var(--body);color:var(--text);font-size:14 +