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