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 = (() => {
-
-
+
+
+
+
审计看板
+
+
+
+
+
+
+
+
-