|
|
@@ -177,6 +177,7 @@
|
|
|
renderShopOptions();
|
|
|
reloadReport();
|
|
|
renderCharts();
|
|
|
+ refreshPushBadge(); // 待推计数按主体算,切主体要重取
|
|
|
});
|
|
|
wrap.appendChild(btn);
|
|
|
}
|
|
|
@@ -1346,7 +1347,8 @@
|
|
|
const badge = $('reportPushBadge');
|
|
|
if (!badge) return;
|
|
|
try {
|
|
|
- const res = await fetch('/api/reports/aitable/status');
|
|
|
+ const entity = state.entity || (state.entities[0] || {}).key;
|
|
|
+ const res = await fetch(`/api/reports/aitable/status${entity ? `?entity=${encodeURIComponent(entity)}` : ''}`);
|
|
|
const data = await res.json();
|
|
|
if (!data.enabled) {
|
|
|
badge.textContent = '云端未启用';
|
|
|
@@ -1354,8 +1356,13 @@
|
|
|
} else if (!data.configured) {
|
|
|
badge.textContent = '云端配置不完整';
|
|
|
badge.className = 'badge badge-fail';
|
|
|
+ } else if (typeof data.pending === 'number' && data.pending > 0) {
|
|
|
+ badge.textContent = `待推送 ${data.pending} 行`;
|
|
|
+ badge.title = '点「推送云端」会把上次推送之后的全部增量一次性推上钉钉 AI 表格';
|
|
|
+ badge.className = 'badge badge-warn';
|
|
|
} else {
|
|
|
- badge.textContent = '云端就绪';
|
|
|
+ badge.textContent = '已同步至云端';
|
|
|
+ badge.title = '';
|
|
|
badge.className = 'badge badge-ok';
|
|
|
}
|
|
|
} catch { /* 状态刷新失败不打扰 */ }
|
|
|
@@ -1368,6 +1375,7 @@
|
|
|
$('btnReportPush').addEventListener('click', async () => {
|
|
|
await pushCurrentEntity();
|
|
|
renderSyncHistory(); // 云端推送状态列随推送结果刷新
|
|
|
+ refreshPushBadge(); // 待推计数归零(或显示剩余)
|
|
|
});
|
|
|
$('reportPager').addEventListener('click', (event) => {
|
|
|
const btn = event.target.closest('button[data-page]');
|