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