From 3b2e941a83ad49d3167df864a5a06a81ef944470 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期三, 24 九月 2025 23:55:45 +0800
Subject: [PATCH] Merge branch 'ID2130-未签到页面优化' into test

---
 src/views/deviceWindoes2.vue |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 9b032fb..45b1bbc 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -2430,14 +2430,8 @@
   reader.onload = async (e) => {
     if (e.target && typeof e.target.result === "string") {
       try {
-        const codeReader = new BrowserMultiFormatReader();
-        const result = await codeReader.decodeFromImage(
-          undefined,
-          e.target.result,
-          { tryHarder: true }
-        );
-        // const result = await codeReader.decodeFromImage(undefined, e.target.result);
-        deviceCode.value = result.text;
+        const result = await decodeQRCodeFromFile(file as unknown as File);
+        deviceCode.value = result;
         ElMessage.success("识别成功");
       } catch (err) {
         console.error("Error details:", err);
@@ -2456,6 +2450,27 @@
   };
  
   reader.readAsDataURL(file);
+};
+
+const decodeQRCodeFromFile = async (file: File): Promise<string> => {
+  return new Promise((resolve, reject) => {
+    const reader = new FileReader();
+
+    reader.onload = async (e: any) => {
+      const imageBase64 = e.target.result;
+      const codeReader = new BrowserMultiFormatReader();
+
+      try {
+        const result = await codeReader.decodeFromImage(undefined, imageBase64);
+        resolve(result.getText());
+      } catch (err) {
+        reject(err);
+      }
+  };
+
+  reader.onerror = () => reject(new Error("读取文件失败"));
+  reader.readAsDataURL(file);
+  });
 };
 const shaoma = () => {};
 watch(
@@ -3108,11 +3123,11 @@
 const getItemName = (name: string) => {
   if (name) {
     if (name === "血红蛋白") {
-      return "Hgb ";
+      return "HGB ";
     } else if (name === "铁蛋白") {
-      return "Fer ";
+      return "FER ";
     } else if (name === "白蛋白") {
-      return "Alb ";
+      return "ALB ";
     }
     //  else if (name === "血清铁蛋白") {
     //   return "SF ";

--
Gitblit v1.8.0