From ade34b5d028f42c71cdea15eb95ae9ffcd49b19c Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期五, 25 七月 2025 15:47:28 +0800
Subject: [PATCH] Merge branch 'ID1825-床旁副屏改版' into test

---
 src/views/deviceWindoes2.vue |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 5a67821..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(
@@ -3107,7 +3122,7 @@
 
 const getItemName = (name: string) => {
   if (name) {
-    if (name === "血红蛋白测定") {
+    if (name === "血红蛋白") {
       return "HGB ";
     } else if (name === "铁蛋白") {
       return "FER ";
@@ -3118,13 +3133,13 @@
     //   return "SF ";
     // }
      else if (name === "钙") {
-      return "CA ";
+      return "Ca ";
     } else if (name === "钾") {
       return "K ";
     } else if (name === "无机磷") {
-      return "PI";
+      return "P ";
     } else if (name === "甲状旁腺激素") {
-      return "PTH";
+      return "PTH ";
     } else {
       return name;
     }

--
Gitblit v1.8.0