From ad9930c5cf8624b8056bb9fda164fa65e66ef9cd Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 26 三月 2025 13:30:11 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx |  205 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 201 insertions(+), 4 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx b/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx
index 7de55f8..feaa543 100644
--- a/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx
@@ -53,8 +53,10 @@
 import StatusSelectInput from "../../components/StatusSelectInput";
 
 import { useReactToPrint } from "react-to-print";
+import jsbarcode from 'jsbarcode'
+import { el } from "date-fns/locale";
 
-const InitModal = ({ open, setOpen }) => {
+const PrintModal = ({ open, setOpen, rows }) => {
     const refresh = useRefresh();
     const translate = useTranslate();
     const notify = useNotify();
@@ -98,7 +100,86 @@
                 </FormControl>
 
                 <Box>
-                    <div ref={contentRef}>11</div>
+                    <div style={{ textAlign: 'center', display: 'flex', justifyContent: 'center' }}>
+                        <table
+                            className="contain"
+                            style={{
+                                overflow: 'hidden',
+                                fontSize: 'small',
+                                tableLayout: 'fixed',
+                                width: '280px',
+                                borderCollapse: 'collapse', // 鍚堝苟杈规
+                                border: '1px solid black' // 璁剧疆琛ㄦ牸鏁翠綋杈规
+                            }}
+                        >
+                            <tbody>
+                                <tr style={{ height: '74px' }}>
+                                    <td
+                                        align="center"
+                                        colSpan={3}
+                                        style={{ border: '1px solid black' }} // 璁剧疆鍗曞厓鏍艰竟妗�
+                                    >
+                                        鍟嗗搧缂栫爜
+                                    </td>
+                                    <td
+                                        align="center"
+                                        className="barcode"
+                                        colSpan={9}
+                                        style={{ border: '1px solid black' }}
+                                    >
+                                        <img className="template-code" src={'/img/barcode.jpeg'} style={{ width: '90%' }} alt="Barcode" />
+                                        <div style={{ letterSpacing: '2px', marginTop: '1px', textAlign: 'center' }}>
+                                            <span>{'xxxxxx'}</span>
+                                        </div>
+                                    </td>
+                                </tr>
+                                <tr style={{ height: '74px' }}>
+                                    <td
+                                        align="center"
+                                        colSpan={3}
+                                        style={{ border: '1px solid black' }}
+                                    >
+                                        鍟嗗搧
+                                    </td>
+                                    <td
+                                        align="center"
+                                        colSpan={5}
+                                        style={{
+                                            overflow: 'hidden',
+                                            whiteSpace: 'nowrap',
+                                            textOverflow: 'ellipsis',
+                                            border: '1px solid black'
+                                        }}
+                                    >
+                                        {'xxxxxxxx'}
+                                    </td>
+                                    <td
+                                        align="center"
+                                        colSpan={2}
+                                        style={{ border: '1px solid black' }}
+                                    >
+                                        澶囨敞
+                                    </td>
+                                    <td
+                                        align="center"
+                                        colSpan={2}
+                                        style={{ border: '1px solid black' }}
+                                    >
+                                        {'xx'}
+                                    </td>
+                                </tr>
+                            </tbody>
+                        </table>
+                    </div>
+                    <style>{`
+                    @media print {
+                    .print-content {
+                            display: block!important;
+                        }
+                    }`} </style>
+                    <div ref={contentRef} className="print-content" style={{ textAlign: 'center', display: 'none' }}>
+                        <PrintTemp key={'bb'} rows={rows} />
+                    </div>
                 </Box>
             </DialogContent>
             <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
@@ -108,8 +189,124 @@
                     </Button>
                 </Box>
             </DialogActions>
-        </Dialog>
+        </Dialog >
     );
 }
 
-export default InitModal;
\ No newline at end of file
+export default PrintModal;
+
+const PrintTemp = ({ rows }) => {
+    const notify = useNotify();
+    const [data, setData] = useState([]);
+    const http = async () => {
+        const res = await request.post(`/matnrs/many/${rows?.join()}`);
+        if (res?.data?.code === 200) {
+            let val = res.data.data.map((el => {
+                return {
+                    barcode: '/img/barcode.jpeg',
+                    code: el.code,
+                    name: el.name,
+                    memo: el.memo
+                }
+            }))
+            setData(val)
+            setTimeout(() => {
+                val.forEach((el) => {
+                    jsbarcode(`#barcode${el.code}`, el.code, { height: 30 });
+                });
+            }, 10);
+
+
+
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
+    useEffect(() => {
+        if (rows?.length > 0) {
+            http();
+        }
+
+    }, [rows]);
+
+
+    return (
+        <>
+            {data.map((item, index) => (
+                <table
+                    key={index}
+                    className="contain"
+                    style={{
+                        overflow: 'hidden',
+                        fontSize: 'small',
+                        tableLayout: 'fixed',
+                        width: '520px',
+                        borderCollapse: 'collapse',
+                        borderSpacing: 0,
+                        margin: '0 auto',
+                        marginTop: '10px',
+                    }}
+                >
+                    <tbody>
+                        <tr style={{ height: '74px' }}>
+                            <td align="center" colSpan={3} style={{ border: '1px solid black' }} >
+                                鍟嗗搧缂栫爜
+                            </td>
+                            <td
+                                align="center"
+                                className="barcode"
+                                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' }}>
+                                    <span>{item.code}</span>
+                                </div> */}
+                            </td>
+                        </tr>
+                        <tr style={{ height: '74px' }}>
+                            <td
+                                align="center"
+                                colSpan={3}
+                                style={{ border: '1px solid black' }}
+                            >
+                                鍟嗗搧
+                            </td>
+                            <td
+                                align="center"
+                                colSpan={5}
+                                style={{
+                                    overflow: 'hidden',
+                                    whiteSpace: 'nowrap',
+                                    textOverflow: 'ellipsis',
+                                    border: '1px solid black'
+                                }}
+                            >
+                                {item.name}
+                            </td>
+                            <td
+                                align="center"
+                                colSpan={2}
+                                style={{ border: '1px solid black' }}
+                            >
+                                澶囨敞
+                            </td>
+                            <td
+                                align="center"
+                                colSpan={2}
+                                style={{ border: '1px solid black' }}
+                            >
+                                {item.memo}
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            ))}
+
+        </>
+    )
+}
+
+

--
Gitblit v1.9.1