优化打印

This commit is contained in:
xianyi
2026-01-06 10:21:31 +08:00
parent 6a6e7dd83d
commit 43182051a7

View File

@@ -1102,6 +1102,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
max-width: 100%;
page-break-after: always;
@@ -1115,6 +1118,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
display: block;
width: 100%;
@@ -1123,6 +1129,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
</style>
</head>
<body>
<button class="print-button" onclick="window.print()">打印</button>
`);
canvasImages.forEach((imgData) => {
@@ -1196,6 +1203,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
max-width: 100%;
page-break-after: always;
@@ -1209,6 +1219,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
display: block;
width: 100%;
@@ -1217,6 +1230,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
</style>
</head>
<body>
<button class="print-button" onclick="window.print()">打印</button>
`);
canvasImages.forEach((imgData) => {
@@ -1228,24 +1242,22 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
</html>
`);
printWindow.document.close();
// 更新导检单打印状态
if (examId) {
try {
await editDaojiandanPrintStatus({ exam_id: examId });
} catch (err) {
console.error('更新导检单打印状态失败', err);
// 不阻塞打印流程,仅记录错误
}
}
// 在关闭文档前设置 onload 事件
printWindow.onload = () => {
printWindow.focus();
setTimeout(() => {
printWindow.print();
}, 1000);
};
printWindow.document.close();
// 更新导检单打印状态(不阻塞打印流程)
if (examId) {
editDaojiandanPrintStatus({ exam_id: examId }).catch((err) => {
console.error('更新导检单打印状态失败', err);
});
}
} catch (err) {
console.error('打印失败', err);
alert('打印失败,请稍后重试');
@@ -1387,6 +1399,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
max-width: 100%;
page-break-after: always;
@@ -1400,6 +1415,9 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
margin: 0;
padding: 0;
}
.print-button {
display: none;
}
img {
display: block;
width: 100%;
@@ -1408,6 +1426,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
</style>
</head>
<body>
<button class="print-button" onclick="window.print()">打印</button>
`);
allImages.forEach((imgData) => {
@@ -1431,7 +1450,7 @@ export const ExamSignPanel = ({ examId, onBusyChange }: ExamSignPanelProps) => {
}
}
// 等待图片加载完成后执行打印
// 等待图片加载完成后自动弹出打印窗口
printWindow.onload = () => {
printWindow.focus();
setTimeout(() => {