feat: add export-to-PDF via browser print with @media print CSS

This commit is contained in:
2026-06-17 10:28:01 +08:00
parent 24956bbf75
commit 3019390592
3 changed files with 166 additions and 0 deletions

View File

@@ -286,4 +286,22 @@ const Report = {
body.innerHTML = `<div class="advice-md">${html}</div>`;
},
// 导出 PDF展开所有低分样本 → 打印 → 还原折叠状态
exportPdf() {
// 1. 记录当前各 detail 展开状态,并全部展开
const details = document.querySelectorAll("#lowest-table .lowest-detail");
const wasHidden = Array.from(details).map((el) => el.hidden);
details.forEach((el) => { el.hidden = false; });
// 2. 打印完成后还原折叠状态
const restore = () => {
details.forEach((el, i) => { el.hidden = wasHidden[i]; });
window.removeEventListener("afterprint", restore);
};
window.addEventListener("afterprint", restore);
// 3. 触发打印(浏览器弹出打印对话框,用户选"另存为 PDF"
window.print();
},
};