优化打印
This commit is contained in:
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user