From c748a25adfc629a15bbb141fbb238b2687c874e9 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 11 五月 2026 11:30:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_NEW_pro' into dev_NEW_pro

---
 src/views/equipmentManagement/ledger/index.vue |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue
index 7ba9401..93b9e6d 100644
--- a/src/views/equipmentManagement/ledger/index.vue
+++ b/src/views/equipmentManagement/ledger/index.vue
@@ -298,7 +298,34 @@
 const showQRCode = async (row) => {
   // 鐩存帴浣跨敤URL锛屼笉瑕佺敤JSON.stringify鍖呰
   const qrContent = proxy.javaApi + '/device-info?deviceId=' + row.id;
-  qrCodeUrl.value = await QRCode.toDataURL(qrContent);
+  const qrDataUrl = await QRCode.toDataURL(qrContent, { width: 200, margin: 2 });
+  
+  // 鍒涘缓canvas鍚堟垚甯﹀悕绉扮殑浜岀淮鐮佸浘鐗�
+  const canvas = document.createElement('canvas');
+  const ctx = canvas.getContext('2d');
+  const qrSize = 200;
+  const textHeight = 30;
+  const padding = 10;
+  canvas.width = qrSize + padding * 2;
+  canvas.height = qrSize + textHeight + padding * 2;
+  
+  // 濉厖鐧借壊鑳屾櫙
+  ctx.fillStyle = '#ffffff';
+  ctx.fillRect(0, 0, canvas.width, canvas.height);
+  
+  // 缁樺埗浜岀淮鐮�
+  const qrImg = new Image();
+  qrImg.src = qrDataUrl;
+  await new Promise((resolve) => { qrImg.onload = resolve; });
+  ctx.drawImage(qrImg, padding, padding, qrSize, qrSize);
+  
+  // 缁樺埗璁惧鍚嶇О
+  ctx.fillStyle = '#333333';
+  ctx.font = 'bold 14px Arial';
+  ctx.textAlign = 'center';
+  ctx.fillText(row.deviceName || '', canvas.width / 2, qrSize + padding + 20);
+  
+  qrCodeUrl.value = canvas.toDataURL('image/png');
   qrRowData.value = row;
   qrDialogVisible.value = true;
 };

--
Gitblit v1.9.3