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