feat: add export-to-PDF via browser print with @media print CSS
This commit is contained in:
@@ -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();
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user