From a90276a242ddca6f45e234c5cc4832a7a01a7e03 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期一, 02 十二月 2024 11:06:53 +0800
Subject: [PATCH] Fix Bug: 条码更新问题

---
 src/components/Barcode/src/Barcode.vue            |   29 +++++++++++++++++------------
 src/views/ecg/doctor/components/DevReadyPanel.vue |   10 +++++++---
 2 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/src/components/Barcode/src/Barcode.vue b/src/components/Barcode/src/Barcode.vue
index 18bbc03..f56c9e1 100644
--- a/src/components/Barcode/src/Barcode.vue
+++ b/src/components/Barcode/src/Barcode.vue
@@ -6,7 +6,7 @@
 
 <script lang="ts" setup>
 
-import { ref, onMounted, nextTick } from 'vue'
+import { ref, onMounted, watch, nextTick } from 'vue'
 import JsBarcode from 'jsbarcode'
 
 defineOptions({ name: 'Barcode' })
@@ -17,26 +17,31 @@
   value: String
 });
 
-onMounted(() => {
-  nextTick(() => {
-    JsBarcode('.barcode', String(props.value), {
-      format: "CODE39",//閫夋嫨瑕佷娇鐢ㄧ殑鏉″舰鐮佺被鍨�
-      width:1,//璁剧疆鏉′箣闂寸殑瀹藉害
-      height:40,//楂樺害
-      displayValue:true,//鏄惁鍦ㄦ潯褰㈢爜涓嬫柟鏄剧ず鏂囧瓧
+const generateBarcode = () => {
+  JsBarcode('.barcode', String(props.value), {
+    format: "CODE39",//閫夋嫨瑕佷娇鐢ㄧ殑鏉″舰鐮佺被鍨�
+    width:1,//璁剧疆鏉′箣闂寸殑瀹藉害
+    height:40,//楂樺害
+    displayValue:true,//鏄惁鍦ㄦ潯褰㈢爜涓嬫柟鏄剧ず鏂囧瓧
 //   text:"456",//瑕嗙洊鏄剧ず鐨勬枃鏈�
 //   fontOptions:"bold italic",//浣挎枃瀛楀姞绮椾綋鎴栧彉鏂滀綋
 //   font:"fantasy",//璁剧疆鏂囨湰鐨勫瓧浣�
 //   textAlign:"left",//璁剧疆鏂囨湰鐨勬按骞冲榻愭柟寮�
 //   textPosition:"top",//璁剧疆鏂囨湰鐨勫瀭鐩翠綅缃�
 //   textMargin:5,//璁剧疆鏉″舰鐮佸拰鏂囨湰涔嬮棿鐨勯棿璺�
-      fontSize:15,//璁剧疆鏂囨湰鐨勫ぇ灏�
+    fontSize:15,//璁剧疆鏂囨湰鐨勫ぇ灏�
 //   background:"#eee",//璁剧疆鏉″舰鐮佺殑鑳屾櫙
 //   lineColor:"#2196f3",//璁剧疆鏉″拰鏂囨湰鐨勯鑹层��
-      margin:15//璁剧疆鏉″舰鐮佸懆鍥寸殑绌虹櫧杈硅窛
-    });
-  })
+    margin:15//璁剧疆鏉″舰鐮佸懆鍥寸殑绌虹櫧杈硅窛
+  });
+}
+
+onMounted(() => {
+  nextTick(() => generateBarcode())
 })
+
+watch(() => props.value, generateBarcode);
+
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/views/ecg/doctor/components/DevReadyPanel.vue b/src/views/ecg/doctor/components/DevReadyPanel.vue
index 6f6424a..6ee02c8 100644
--- a/src/views/ecg/doctor/components/DevReadyPanel.vue
+++ b/src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -15,7 +15,7 @@
       </el-form-item>
       <el-form-item label="鎮h�呯紪鍙�" prop="patId">
         <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" @input="getRentInfoByPatId" />
-        <Barcode v-if="getDisplayBarcode()" :value="getDisplayBarcode()" :width=100 />
+        <Barcode v-if="displayBarCode" :value="displayBarCode" :width=100 />
         <el-button @click="copyBarcode()">澶嶅埗</el-button>
       </el-form-item>
       <el-form-item label="鎮h�呭悕绉�" prop="patName">
@@ -209,6 +209,8 @@
   purchaseDate: 0,
   state: 0,
 })
+
+const displayBarCode = ref<string> ()
 
 const getRentInfoByPatId = () => {
   const tempPatId = formData.value.patId;
@@ -479,15 +481,17 @@
     return ""
 
   if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
-    return formData.value.applyNo
+    return formData.value.applyNo??""
   else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
-    return formData.value.episodeId
+    return formData.value.episodeId??""
 
   return ""
 }
 
 const copyBarcode = async () => {
+  displayBarCode.value = getDisplayBarcode()
   await navigator.clipboard.writeText( getBarcode() );
+  console.info(displayBarCode.value)
 }
 
 /** 鍒濆鍖� **/

--
Gitblit v1.9.3