From 8b96705e839dfd751a595611071cb1c8525dd645 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 10 六月 2026 13:30:35 +0800
Subject: [PATCH] feat:标签打印字体和位置需要调整
---
src/views/salesManagement/salesLedger/components/salesLabelPrint.js | 71 ++++++++++++++++++++++++-----------
src/views/salesManagement/reverseAuditHistory/index.vue | 7 +--
2 files changed, 51 insertions(+), 27 deletions(-)
diff --git a/src/views/salesManagement/reverseAuditHistory/index.vue b/src/views/salesManagement/reverseAuditHistory/index.vue
index ec29567..127576d 100644
--- a/src/views/salesManagement/reverseAuditHistory/index.vue
+++ b/src/views/salesManagement/reverseAuditHistory/index.vue
@@ -124,11 +124,8 @@
<el-descriptions-item label="鍙嶅鏃堕棿">{{ formatTime(currentSnapshot.counterReviewTime) }}</el-descriptions-item>
<el-descriptions-item label="鍙嶅浜�">{{ currentSnapshot.counterReviewPerson }}</el-descriptions-item>
<el-descriptions-item label="鍙嶅鏍哥被鍨�">{{ currentSnapshot.counterReviewType === 1 ? '浣滃簾' : currentSnapshot.counterReviewType === 2 ? '閲嶆柊鐢熸垚' : '-' }}</el-descriptions-item>
- </el-descriptions>
- <el-descriptions border
- :column="1"
- style="margin-top: 10px;">
- <el-descriptions-item label="鍙嶅鏍告弿杩�">{{ currentSnapshot.counterReviewDesc || '鏃�' }}</el-descriptions-item>
+ <el-descriptions-item label="鍙嶅鏍稿師鍥�"
+ :span="3">{{ currentSnapshot.counterReviewDesc || '鏃�' }}</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left"
style="margin-top: 30px;">浜у搧淇℃伅</el-divider>
diff --git a/src/views/salesManagement/salesLedger/components/salesLabelPrint.js b/src/views/salesManagement/salesLedger/components/salesLabelPrint.js
index be2c8dc..e2578dd 100644
--- a/src/views/salesManagement/salesLedger/components/salesLabelPrint.js
+++ b/src/views/salesManagement/salesLedger/components/salesLabelPrint.js
@@ -37,15 +37,41 @@
return String(value ?? "").trim();
};
-const renderLabelCard = (item) => `
- <div class="label-card">
- <div class="line customer">${escapeHtml(item?.customerName)}</div>
- <div class="line order">${escapeHtml(item?.salesContractNo)}</div>
- <div class="line model">${escapeHtml(buildMainSpec(item))}</div>
- <div class="line spec">${escapeHtml(buildDetailSpec(item))}</div>
- <div class="line address">${escapeHtml(item?.floorCode)}</div>
- </div>
-`;
+// 鏍规嵁鏂囨湰闀垮害鍔ㄦ�佽绠楀瓧浣撳ぇ灏�
+const getFontSize = (text, baseSize, maxWidthChars) => {
+ const len = String(text ?? "").length;
+ if (len <= maxWidthChars) return baseSize;
+ // 瓒呴暱鏂囨湰鎸夋瘮渚嬬缉灏�
+ const scale = maxWidthChars / len;
+ const minSize = baseSize * 0.7; // 鏈�灏忎笉浣庝簬鍩虹澶у皬鐨�70%
+ const calculatedSize = baseSize * scale;
+ return Math.max(calculatedSize, minSize);
+};
+
+const renderLabelCard = (item) => {
+ const customer = escapeHtml(item?.customerName);
+ const order = escapeHtml(item?.salesContractNo);
+ const model = escapeHtml(buildMainSpec(item));
+ const spec = escapeHtml(buildDetailSpec(item));
+ const address = escapeHtml(item?.floorCode);
+
+ // 鍔ㄦ�佽绠楀瓧浣撳ぇ灏忥紙鍩轰簬50mm瀹藉害锛岀害20-25涓瓧绗︿负姝e父鏄剧ず鑼冨洿锛�
+ const customerSize = getFontSize(customer, 4.2, 18);
+ const orderSize = getFontSize(order, 4.6, 16);
+ const modelSize = getFontSize(model, 4.0, 22);
+ const specSize = getFontSize(spec, 3.8, 28);
+ const addressSize = getFontSize(address, 3.5, 24);
+
+ return `
+ <div class="label-card">
+ <div class="line customer" style="font-size: ${customerSize}mm;">${customer}</div>
+ <div class="line order" style="font-size: ${orderSize}mm;">${order}</div>
+ <div class="line model" style="font-size: ${modelSize}mm;">${model}</div>
+ <div class="line spec" style="font-size: ${specSize}mm;">${spec}</div>
+ <div class="line address" style="font-size: ${addressSize}mm;">${address}</div>
+ </div>
+ `;
+};
export const printSalesLabel = (rawList = []) => {
const list = Array.isArray(rawList) ? rawList : [];
@@ -95,37 +121,38 @@
.label-card {
border: 0;
border-radius: 0;
- padding: 2.2mm 2.8mm;
+ padding: 2.2mm 2.5mm;
width: 50mm;
height: 40mm;
box-sizing: border-box;
- display: grid;
- grid-template-rows: auto auto auto auto 1fr;
- row-gap: 1mm;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ overflow: hidden;
}
.line {
font-weight: 700;
- line-height: 1.15;
+ line-height: 1.2;
word-break: break-all;
margin: 0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: clip;
}
.customer {
- font-size: 4.2mm;
+ /* 鍩虹 4.2mm锛屽姩鎬佽皟鏁� */
}
.order {
- font-size: 4.6mm;
- letter-spacing: 0;
+ /* 鍩虹 4.6mm锛屽姩鎬佽皟鏁� */
}
.model {
- font-size: 4.3mm;
- letter-spacing: 0;
+ /* 鍩虹 4.0mm锛屽姩鎬佽皟鏁� */
}
.spec {
- font-size: 4.9mm;
- letter-spacing: 0;
+ /* 鍩虹 3.8mm锛屽姩鎬佽皟鏁� */
}
.address {
- font-size: 3.7mm;
+ /* 鍩虹 3.5mm锛屽姩鎬佽皟鏁� */
}
@media print {
@page {
--
Gitblit v1.9.3