// src/utils/print.ts
export const usePrint = (target: HTMLElement) => {
const printWindow = window.open('', '_blank')
if (!printWindow) return
const style = `
`
const content = target.innerHTML
printWindow.document.write(`
打印${style}${content}`)
printWindow.document.close()
const images = printWindow.document.images
let loaded = 0
const onload = () => {
loaded++
if (loaded === images.length) {
printWindow.print()
printWindow.close()
}
}
if (images.length === 0) {
printWindow.print()
printWindow.close()
} else {
Array.from(images).forEach(img => {
img.onload = img.onerror = onload
})
}
}