From 660fac2458932a36b0c113861423afec9930dc1b Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 22 三月 2025 09:15:17 +0800
Subject: [PATCH] Merge branch 'front' of http://47.97.1.152:5880/r/wms-master into front

---
 rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx |  130 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 114 insertions(+), 16 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx b/rsf-admin/src/page/basicInfo/matnr/PrintModal.jsx
index 83df0e0..7513fbe 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 PrintModal = ({ open, setOpen }) => {
+const PrintModal = ({ open, setOpen, rows }) => {
     const refresh = useRefresh();
     const translate = useTranslate();
     const notify = useNotify();
@@ -98,8 +100,76 @@
                 </FormControl>
 
                 <Box>
-                    <div style={{ textAlign: 'center' }}>
-                        <PrintTemp />
+                    <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 {
@@ -108,7 +178,7 @@
                         }
                     }`} </style>
                     <div ref={contentRef} className="print-content" style={{ textAlign: 'center', display: 'none' }}>
-                        <PrintTemp />
+                        <PrintTemp key={'bb'} rows={rows} />
                     </div>
                 </Box>
             </DialogContent>
@@ -125,12 +195,39 @@
 
 export default PrintModal;
 
-const PrintTemp = (props) => {
-    const [data, setData] = useState([{
-        barcode: '/img/barcode.jpeg',
-        product: 'xxxxxx-xx/xx',
-        remark: 'xx'
-    }]);
+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)
+            val.forEach((el) => {
+                jsbarcode(`#barcode${el.code}`, el.code, { height: 30 });
+            });
+
+
+        } else {
+            notify(res.data.msg);
+        }
+    }
+
+    useEffect(() => {
+        if (rows?.length > 0) {
+            http();
+        }
+
+    }, [rows]);
+
+
     return (
         <>
             {data.map((item, index) => (
@@ -159,10 +256,11 @@
                                 colSpan={9}
                                 style={{ border: '1px solid black' }}
                             >
-                                <img className="template-code" src={item.barcode} style={{ width: '90%', verticalAlign: 'middle' }} alt="Barcode" />
-                                <div style={{ letterSpacing: '2px', marginTop: '1px', textAlign: 'center' }}>
-                                    <span>{'xxxxxx'}</span>
-                                </div>
+                                <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' }}>
@@ -183,7 +281,7 @@
                                     border: '1px solid black'
                                 }}
                             >
-                                {item.product}
+                                {item.name}
                             </td>
                             <td
                                 align="center"
@@ -197,7 +295,7 @@
                                 colSpan={2}
                                 style={{ border: '1px solid black' }}
                             >
-                                {item.remark}
+                                {item.memo}
                             </td>
                         </tr>
                     </tbody>

--
Gitblit v1.9.1