// 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 }) } }