From 6a5396d38a8efd100fde107ddf1c3996d4fe9838 Mon Sep 17 00:00:00 2001 From: funjia <13429193897@163.com> Date: Sat, 19 Jul 2025 18:25:04 +0800 Subject: [PATCH] first commit --- 1.html | 306 ++++++++++++++++++++++++++++++++++++++++++++++ 2.html | 80 ++++++++++++ afterSales.css | 79 ++++++++++++ afterSales.html | 40 ++++++ afterSales.js | 55 +++++++++ assets/qrcode.png | Bin 0 -> 20643 bytes printTag.css | 65 ++++++++++ printTag.js | 55 +++++++++ 8 files changed, 680 insertions(+) create mode 100644 1.html create mode 100644 2.html create mode 100644 afterSales.css create mode 100644 afterSales.html create mode 100644 afterSales.js create mode 100644 assets/qrcode.png create mode 100644 printTag.css create mode 100644 printTag.js diff --git a/1.html b/1.html new file mode 100644 index 0000000..d0ae073 --- /dev/null +++ b/1.html @@ -0,0 +1,306 @@ + + + + + + + + + + + +
+ +
+ + \ No newline at end of file diff --git a/2.html b/2.html new file mode 100644 index 0000000..e3b627e --- /dev/null +++ b/2.html @@ -0,0 +1,80 @@ + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/afterSales.css b/afterSales.css new file mode 100644 index 0000000..ee23a69 --- /dev/null +++ b/afterSales.css @@ -0,0 +1,79 @@ +.page { + /* border: 1px solid #000; */ + width: 194mm; + height: 279.4mm; + display: grid; + grid-template-columns: repeat(4, 48.5mm); + grid-template-rows: repeat(11, 25.4mm); + gap: 0; +} + +.print-area { + /* border: 0.1mm dashed #87CEFA; */ + display: flex; + justify-content: center; + align-content: flex-start; + margin: 0.25mm; +} + +.border { + border: 0.1mm dashed #87CEFA; +} + +.print-area:nth-child(41), +.print-area:nth-child(42), +.print-area:nth-child(43), +.print-area:nth-child(44) { + padding-bottom: 4mm; +} + +.print-area:nth-child(41) .qrcode, +.print-area:nth-child(42) .qrcode, +.print-area:nth-child(43) .qrcode, +.print-area:nth-child(44) .qrcode { + height: calc(100% - 5mm); +} + +.item { + height: 100%; + width: 100%; + display: flex; + flex-wrap: wrap; +} + +.tag { + color: red; + font-size: 0.8cm; +} + +.reason,.time{ + font-size:4mm; +} + +/*Styling below is used just for positioning the items inside the label. */ + +.left-content { + width: 24mm; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + height: inherit; + font-size: 3mm; + line-height: 3mm; + color: #87CEFA; +} + +.right-content { + display: grid; + font-size: 4mm; + align-items: center; + justify-content: center; + height: 100%; + width: auto; +} + +.qrcode { + height: calc(100% - 6mm); + margin: 0; +} \ No newline at end of file diff --git a/afterSales.html b/afterSales.html new file mode 100644 index 0000000..7b201fd --- /dev/null +++ b/afterSales.html @@ -0,0 +1,40 @@ + + + + + + + +
+ +
+
+
+ \ No newline at end of file diff --git a/afterSales.js b/afterSales.js new file mode 100644 index 0000000..bcf6352 --- /dev/null +++ b/afterSales.js @@ -0,0 +1,55 @@ +// var html = template('tpl-user', { data: Array.from({ length: 44 }) }); +window.onload = () => { + var html = template('tpl-after-sales', { data: Array.from({ length: 44 }) }); + document.getElementById("page").innerHTML = html; +} + +const exportPDF = () => { + // 使用html2canvas捕获div内容 + html2canvas(document.getElementById("page"), { + scale: 2, // 提高分辨率 + useCORS: true, + allowTaint: true, + logging: false, + + }).then(canvas => { + // 创建PDF + const imgData = canvas.toDataURL('image/png', 1); + + const link = document.createElement('a'); + link.download = `canvas-export.png`; + link.href = imgData; + link.click(); + return; + + + + const pdf = new jspdf.jsPDF({ + orientation: 'portrait', + unit: 'mm', + // format: 'a4' + format: [279.4, 194] + }); + + // const imgWidth = pdf.internal.pageSize.getWidth(); + // const imgHeight = (canvas.height * imgWidth) / canvas.width; + + // 添加图片到PDF + // pdf.addImage(imgData, 'JPEG', 0, 0, 194, 279.4); + pdf.addImage(imgData, 'JPEG', 0, 0, 194, 279.4); + // console.log(imgWidth, imgHeight); + // 保存PDF + pdf.save(`1.pdf`); + + // 恢复按钮状态 + // this.textContent = btnText; + // this.disabled = false; + }).catch(error => { + console.error('导出PDF失败:', error); + alert('导出PDF时出错,请重试。'); + + // 恢复按钮状态 + // this.textContent = btnText; + // this.disabled = false; + }); +} \ No newline at end of file diff --git a/assets/qrcode.png b/assets/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3dcee94222cdee79231758c968bd5943bd8fe0 GIT binary patch literal 20643 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 IS=_k)ZyR~PL;wH) literal 0 HcmV?d00001 diff --git a/printTag.css b/printTag.css new file mode 100644 index 0000000..f647d25 --- /dev/null +++ b/printTag.css @@ -0,0 +1,65 @@ +.page { + /* border: 1px solid #000; */ + width: 194mm; + height: 279.4mm; + display: grid; + grid-template-columns: repeat(4, 48.5mm); + grid-template-rows: repeat(11, 25.4mm); + gap: 0; + } + + .print-area { + border: 0.1mm dashed #87CEFA; + display: flex; + justify-content: center; + align-content: flex-start; + margin: 0.25mm; + } + + .print-area:nth-child(41), + .print-area:nth-child(42), + .print-area:nth-child(43), + .print-area:nth-child(44) { + padding-bottom: 4mm; + } + + .print-area:nth-child(41) .qrcode, + .print-area:nth-child(42) .qrcode, + .print-area:nth-child(43) .qrcode, + .print-area:nth-child(44) .qrcode { + height: calc(100% - 5mm); + } + + .item { + height: 100%; + width: 100%; + display: flex; + } + + /*Styling below is used just for positioning the items inside the label. */ + + .left-content { + width: 24mm; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + height: inherit; + font-size: 3mm; + line-height: 3mm; + color: #87CEFA; + } + + .right-content { + display: grid; + font-size: 4mm; + align-items: center; + justify-content: center; + height: 100%; + width: auto; + } + + .qrcode { + height: calc(100% - 6mm); + margin: 0; + } \ No newline at end of file diff --git a/printTag.js b/printTag.js new file mode 100644 index 0000000..bcf6352 --- /dev/null +++ b/printTag.js @@ -0,0 +1,55 @@ +// var html = template('tpl-user', { data: Array.from({ length: 44 }) }); +window.onload = () => { + var html = template('tpl-after-sales', { data: Array.from({ length: 44 }) }); + document.getElementById("page").innerHTML = html; +} + +const exportPDF = () => { + // 使用html2canvas捕获div内容 + html2canvas(document.getElementById("page"), { + scale: 2, // 提高分辨率 + useCORS: true, + allowTaint: true, + logging: false, + + }).then(canvas => { + // 创建PDF + const imgData = canvas.toDataURL('image/png', 1); + + const link = document.createElement('a'); + link.download = `canvas-export.png`; + link.href = imgData; + link.click(); + return; + + + + const pdf = new jspdf.jsPDF({ + orientation: 'portrait', + unit: 'mm', + // format: 'a4' + format: [279.4, 194] + }); + + // const imgWidth = pdf.internal.pageSize.getWidth(); + // const imgHeight = (canvas.height * imgWidth) / canvas.width; + + // 添加图片到PDF + // pdf.addImage(imgData, 'JPEG', 0, 0, 194, 279.4); + pdf.addImage(imgData, 'JPEG', 0, 0, 194, 279.4); + // console.log(imgWidth, imgHeight); + // 保存PDF + pdf.save(`1.pdf`); + + // 恢复按钮状态 + // this.textContent = btnText; + // this.disabled = false; + }).catch(error => { + console.error('导出PDF失败:', error); + alert('导出PDF时出错,请重试。'); + + // 恢复按钮状态 + // this.textContent = btnText; + // this.disabled = false; + }); +} \ No newline at end of file