From d9ff374c80f3ed9077eae5136a7edea37668afbf Mon Sep 17 00:00:00 2001
From: zhou zhou <zozhouo3o@gmail.com>
Date: 星期五, 17 四月 2026 09:59:08 +0800
Subject: [PATCH] #条码自定义增加图片
---
rsf-design/src/views/basic-info/wh-mat/modules/matnr-print-canvas.vue | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/rsf-design/src/views/basic-info/wh-mat/modules/matnr-print-canvas.vue b/rsf-design/src/views/basic-info/wh-mat/modules/matnr-print-canvas.vue
index 9a3f530..378f365 100644
--- a/rsf-design/src/views/basic-info/wh-mat/modules/matnr-print-canvas.vue
+++ b/rsf-design/src/views/basic-info/wh-mat/modules/matnr-print-canvas.vue
@@ -46,6 +46,17 @@
/>
</div>
+ <div v-else-if="element.type === 'image'" class="matnr-print-element__image">
+ <img
+ v-if="element.resolvedSrc"
+ :src="element.resolvedSrc"
+ :style="getImageStyle(element)"
+ alt=""
+ draggable="false"
+ />
+ <div v-else class="matnr-print-element__image-placeholder"></div>
+ </div>
+
<div
v-else-if="element.type === 'line'"
class="matnr-print-element__line"
@@ -234,6 +245,12 @@
borderRadius: editorMode.value
? mmToPx(element.radius || 0, props.scale)
: `${element.radius || 0}mm`
+ }
+ }
+
+ function getImageStyle(element) {
+ return {
+ objectFit: element.objectFit || 'contain'
}
}
@@ -459,6 +476,7 @@
.matnr-print-element__text,
.matnr-print-element__barcode,
.matnr-print-element__qrcode,
+ .matnr-print-element__image,
.matnr-print-element__rect,
.matnr-print-element__table {
width: 100%;
@@ -489,6 +507,30 @@
height: 100%;
}
+ .matnr-print-element__image {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(248, 250, 252, 0.6);
+ }
+
+ .matnr-print-element__image img {
+ width: 100%;
+ height: 100%;
+ display: block;
+ user-select: none;
+ pointer-events: none;
+ }
+
+ .matnr-print-element__image-placeholder {
+ width: 100%;
+ height: 100%;
+ border: 1px dashed rgba(148, 163, 184, 0.65);
+ background:
+ linear-gradient(135deg, rgba(226, 232, 240, 0.75), rgba(241, 245, 249, 0.35)),
+ linear-gradient(45deg, rgba(203, 213, 225, 0.35), transparent);
+ }
+
.matnr-print-element__line {
position: absolute;
inset: 0;
--
Gitblit v1.9.1