From 8a1eda390ad5987d9b3913980e4cd5c9d3f12d86 Mon Sep 17 00:00:00 2001 From: zzh Date: Mon, 24 Nov 2025 11:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=20=E6=95=B4=E5=90=88=E5=AE=A1=E8=AE=A1?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF,=E9=80=9A=E8=BF=87=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=9C=BA=E7=A7=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/js/components/dashboard.js | 104 +++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 3 deletions(-) diff --git a/frontend/js/components/dashboard.js b/frontend/js/components/dashboard.js index 96e42cf..292f60f 100644 --- a/frontend/js/components/dashboard.js +++ b/frontend/js/components/dashboard.js @@ -26,8 +26,12 @@ const Dashboard = (() => { canvas.onmouseleave = null; } // 清理日期选择器事件 + const auditDateEl = document.getElementById('audit-date'); + const platformSelect = document.getElementById('audit-platform-select'); const pddDateEl = document.getElementById('audit-date-pdd'); const ytDateEl = document.getElementById('audit-date-yt'); + if(auditDateEl) auditDateEl.onchange = null; + if(platformSelect) platformSelect.onchange = null; if(pddDateEl) pddDateEl.onchange = null; if(ytDateEl) ytDateEl.onchange = null; // 清理resize监听器 @@ -103,8 +107,10 @@ const Dashboard = (() => { // 设置审计框高度 const setAuditHeight = () => { const height = calculateAuditHeight(); + const auditCard = document.getElementById('audit-card'); const pddCard = document.getElementById('audit-pdd-card'); const ytCard = document.getElementById('audit-yt-card'); + if(auditCard) auditCard.style.height = height + 'px'; if(pddCard) pddCard.style.height = height + 'px'; if(ytCard) ytCard.style.height = height + 'px'; }; @@ -370,6 +376,65 @@ const Dashboard = (() => { if(!d) return {}; return { start: d + ' 00:00:00', end: d + ' 23:59:59' }; }; + + // 整合的审计看板切换逻辑 + const platformSelect = q('audit-platform-select'); + const auditDateEl = q('audit-date'); + const auditListEl = q('audit-list'); + + // 当前选中的平台 + window.__currentAuditPlatform = 'pdd'; + + // 更新整合看板显示 + const updateAuditDisplay = () => { + const platform = window.__currentAuditPlatform; + const params = platform === 'pdd' ? window.__pddParams : window.__ytParams; + const sTime = toEpoch(params.start); + const eTime = toEpoch(params.end); + const cacheData = platform === 'pdd' ? window.__auditCache.pdd : window.__auditCache.yt; + const filteredData = (cacheData || []).filter(r => { + const t = toEpoch(r.ts_cn); + if (t == null) return false; + return (sTime == null || t >= sTime) && (eTime == null || t <= eTime); + }); + const listHtml = filteredData.slice(0, 100).map(r => + `
  • ${r.ts_cn||'—'}${r.batch||''}${r.mac||''}${r.note||''}
  • ` + ).join('') || '
  • 暂无数据
  • '; + if (auditListEl) auditListEl.innerHTML = listHtml; + }; + + // 平台切换事件 + if (platformSelect) { + platformSelect.onchange = () => { + window.__currentAuditPlatform = platformSelect.value; + // 同步日期选择器 + const otherDateEl = platformSelect.value === 'pdd' ? q('audit-date-pdd') : q('audit-date-yt'); + if (auditDateEl && otherDateEl) { + auditDateEl.value = otherDateEl.value; + } + updateAuditDisplay(); + }; + } + + // 整合看板日期筛选 + if (auditDateEl) { + auditDateEl.onchange = () => { + const d = auditDateEl.value; + const platform = window.__currentAuditPlatform; + if (platform === 'pdd') { + window.__pddParams = dateToRange(d); + const pddDateEl = q('audit-date-pdd'); + if (pddDateEl) pddDateEl.value = d; + } else { + window.__ytParams = dateToRange(d); + const ytDateEl = q('audit-date-yt'); + if (ytDateEl) ytDateEl.value = d; + } + refreshAuditLists(); + updateAuditDisplay(); + }; + } + const pddDateEl=q('audit-date-pdd'); const ytDateEl=q('audit-date-yt'); if(pddDateEl){ @@ -483,6 +548,26 @@ const Dashboard = (() => { const ytEls=ytView.slice(0, 100).map(r=>`
  • ${r.ts_cn||'—'}${r.batch||''}${r.mac||''}${r.note||''}
  • `).join('')||'
  • 暂无数据
  • '; const p=document.getElementById('audit-pdd'); if(p) p.innerHTML=pddEls; const y=document.getElementById('audit-yt'); if(y) y.innerHTML=ytEls; + + // 更新整合看板 + const updateAuditDisplay = () => { + const platform = window.__currentAuditPlatform || 'pdd'; + const params = platform === 'pdd' ? window.__pddParams : window.__ytParams; + const sTime = toEpoch(params.start); + const eTime = toEpoch(params.end); + const cacheData = platform === 'pdd' ? window.__auditCache.pdd : window.__auditCache.yt; + const filteredData = (cacheData || []).filter(r => { + const t = toEpoch(r.ts_cn); + if (t == null) return false; + return (sTime == null || t >= sTime) && (eTime == null || t <= eTime); + }); + const listHtml = filteredData.slice(0, 100).map(r => + `
  • ${r.ts_cn||'—'}${r.batch||''}${r.mac||''}${r.note||''}
  • ` + ).join('') || '
  • 暂无数据
  • '; + const auditListEl = document.getElementById('audit-list'); + if (auditListEl) auditListEl.innerHTML = listHtml; + }; + updateAuditDisplay(); } catch(e) { clearTimeout(timeoutId); if(e.name !== 'AbortError'){ @@ -512,15 +597,28 @@ const Dashboard = (() => { -
    -
    +
    +
    +
    + 审计看板 +
    + + +
    +
    +
      ${pddList}
    +
    + -
    +