chen.lin
5 小时以前 7114476c50f620866d81de90b96dbffb38d0d648
rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx
@@ -60,8 +60,24 @@
    const refresh = useRefresh();
    const translate = useTranslate();
    const notify = useNotify();
    const contentRef = useRef(null);
    const reactToPrintFn = useReactToPrint({ contentRef });
    const contentRef = useRef();
    const reactToPrintFn = useReactToPrint({
        content: () => {
            return contentRef.current
        },
        documentTitle: `物料信息`,
        pageStyle: `
        @page {
            margin: 10mm;
        }
        @media print {
             html, body {
                width: 70mm;     // A4横向宽度
                height: 40mm;    // A4横向高度
            }
        }`
    });
    const handleClose = (event, reason) => {
        if (reason !== "backdropClick") {
@@ -210,14 +226,6 @@
                }
            }))
            setData(val)
            setTimeout(() => {
                val.forEach((el) => {
                    jsbarcode(`#barcode${el.code}`, el.code, { height: 30 });
                });
            }, 10);
        } else {
            notify(res.data.msg);
        }
@@ -227,8 +235,26 @@
        if (rows?.length > 0) {
            http();
        }
    }, [rows]);
    // 在数据更新后生成条码
    useEffect(() => {
        if (data.length > 0) {
            // 等待DOM更新后再生成条码
            setTimeout(() => {
                data.forEach((item) => {
                    const barcodeElement = document.getElementById(`barcode${item.code}`);
                    if (barcodeElement) {
                        try {
                            jsbarcode(`#barcode${item.code}`, item.code, { height: 30 });
                        } catch (error) {
                            console.error(`生成条码失败: ${item.code}`, error);
                        }
                    }
                });
            }, 100);
        }
    }, [data]);
    return (
@@ -241,7 +267,7 @@
                        overflow: 'hidden',
                        fontSize: 'small',
                        tableLayout: 'fixed',
                        width: '280px',
                        width: '520px',
                        borderCollapse: 'collapse',
                        borderSpacing: 0,
                        margin: '0 auto',
@@ -259,11 +285,10 @@
                                colSpan={9}
                                style={{ border: '1px solid black' }}
                            >
                                <img id={"barcode" + item.code} style={{ width: '70%', verticalAlign: 'middle' }} />
                                {/* <img className="template-code" src={item.barcode} style={{ width: '90%', verticalAlign: 'middle' }} alt="Barcode" /> */}
                                {/* <div style={{ letterSpacing: '2px', marginTop: '1px', textAlign: 'center' }}>
                                <img id={`barcode${item.code}`} style={{ width: '90%', verticalAlign: 'middle' }} alt="Barcode" />
                                <div style={{ letterSpacing: '2px', marginTop: '1px', textAlign: 'center' }}>
                                    <span>{item.code}</span>
                                </div> */}
                                </div>
                            </td>
                        </tr>
                        <tr style={{ height: '74px' }}>