From 6ad8f2e44a264e9458b159b26501a2db00c9d536 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 29 十一月 2024 17:02:38 +0800
Subject: [PATCH] 条码显示控制

---
 src/api/ecg/common/index.ts                         |    1 
 src/views/ecg/doctor/components/RoutinePanel.vue    |   26 ++++++++++++
 src/views/ecg/appointment/index.vue                 |    1 
 src/api/ecg/queue/index.ts                          |    1 
 src/views/ecg/doctor/components/DevInstallPanel.vue |   26 ++++++++++++
 src/views/ecg/doctor/components/DevReadyPanel.vue   |   32 +++++++++++++---
 6 files changed, 79 insertions(+), 8 deletions(-)

diff --git a/src/api/ecg/common/index.ts b/src/api/ecg/common/index.ts
index eb3552e..67f780b 100644
--- a/src/api/ecg/common/index.ts
+++ b/src/api/ecg/common/index.ts
@@ -5,4 +5,5 @@
     wardCode: string
     deptCode: string
     wardDesc: string
+    source: number
 }
diff --git a/src/api/ecg/queue/index.ts b/src/api/ecg/queue/index.ts
index 000c8aa..f089791 100644
--- a/src/api/ecg/queue/index.ts
+++ b/src/api/ecg/queue/index.ts
@@ -4,6 +4,7 @@
 // 鎺掗槦 VO
 export interface QueueVO {
   id: number // id
+  applyNo: string // 棰勭害鐢宠鍙�
   episodeId: string // 灏辫瘖娴佹按鍙�
   patId: string // 鎮h�呯紪鍙�
   patName: string // 鎮h�呭鍚�
diff --git a/src/views/ecg/appointment/index.vue b/src/views/ecg/appointment/index.vue
index a380376..2cdc8e1 100644
--- a/src/views/ecg/appointment/index.vue
+++ b/src/views/ecg/appointment/index.vue
@@ -214,6 +214,7 @@
 const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
+  applyNo: undefined,
   patId: undefined,
   patName: undefined,
   patGender: undefined,
diff --git a/src/views/ecg/doctor/components/DevInstallPanel.vue b/src/views/ecg/doctor/components/DevInstallPanel.vue
index e033a33..3ace8fc 100644
--- a/src/views/ecg/doctor/components/DevInstallPanel.vue
+++ b/src/views/ecg/doctor/components/DevInstallPanel.vue
@@ -6,17 +6,21 @@
       label-width="100px"
       v-loading="formLoading"
     >
+      <el-form-item label="妫�鏌ラ」鐩�" prop="">
+        {{formData.checkType && checkTypeStore.getCheckTypeName(formData.checkType)}}
+      </el-form-item>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="鎮h�呯紪鍙�" prop="patId">
             <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" @input="getRentInfoByPatId" />
 <!--        <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />-->
-            <Barcode v-if="!isStringEmpty(formData.patId) && 1 === checkTypeStore.getCheckTypeDispBarCode(formData.checkType)" :value="formData.patId" :width=100 />
+            <Barcode v-if="getDisplayBarcode()" :value="getDisplayBarcode()" :width=100 />
           </el-form-item>
           <el-form-item label="鎮h�呭悕绉�" prop="patName">
             <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
           </el-form-item>
           <el-form-item label="鎮h�呮弿杩�" prop="patDeptDesc">
+            <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" />
             {{formData.patDetails?.deptDesc}} {{formData.patDetails?.wardDesc}} {{formData.patDetails?.bedNo}}
           </el-form-item>
           <el-form-item label="瑁呮満鏃堕棿" prop="rentTime">
@@ -122,6 +126,7 @@
 import {RoomBedVO} from "@/api/ecg/doctor";
 import {Barcode} from "@/components/Barcode";
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {DICT_TYPE} from "@/utils/dict";
 
 /** 璁惧瑁呮満 琛ㄥ崟 */
 defineComponent({ name: 'DevInstallPanel' })
@@ -139,9 +144,12 @@
 
 const setPatient = (queueVO: QueueVO | undefined) => {
   resetForm()
+  formData.value.applyNo = queueVO?.applyNo
+  formData.value.episodeId = queueVO?.episodeId
   formData.value.patId = queueVO?.patId
   formData.value.patName = queueVO?.patName
   formData.value.checkType = queueVO?.bookCheckType
+  formData.value.patSrc = queueVO?.patDetails.source
   getReadyRentInfo(formData.value)
 }
 defineExpose({ setPatient }) // 鎻愪緵 setPatient 鏂规硶锛岀敤浜庤缃偅鑰�
@@ -305,6 +313,22 @@
   getList()
 }
 
+const getDisplayBarcode = () => {
+  if (!formData.value.checkType)
+    return ""
+
+  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
+  if (!displayBarcode.includes( formData.value.patSrc ))
+    return ""
+
+  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
+    return formData.value.applyNo
+  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
+    return formData.value.episodeId
+
+  return ""
+}
+
 /** 鍒濆鍖� **/
 onMounted(() => {
   resetForm()
diff --git a/src/views/ecg/doctor/components/DevReadyPanel.vue b/src/views/ecg/doctor/components/DevReadyPanel.vue
index fa72d4b..653fa4f 100644
--- a/src/views/ecg/doctor/components/DevReadyPanel.vue
+++ b/src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -10,15 +10,19 @@
       label-width="100px"
       v-loading="formLoading"
     >
+      <el-form-item label="妫�鏌ラ」鐩�" prop="">
+        {{formData.checkType && checkTypeStore.getCheckTypeName(formData.checkType)}}
+      </el-form-item>
       <el-form-item label="鎮h�呯紪鍙�" prop="patId">
         <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" @input="getRentInfoByPatId" />
-        <Barcode v-if="!isStringEmpty(formData.patId) && 1 === checkTypeStore.getCheckTypeDispBarCode(formData.checkType)" :value="formData.patId" :width=100 />
+        <Barcode v-if="getDisplayBarcode()" :value="getDisplayBarcode()" :width=100 />
       </el-form-item>
       <el-form-item label="鎮h�呭悕绉�" prop="patName">
         <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
       </el-form-item>
 
       <el-form-item label="鎮h�呮弿杩�" prop="patDeptDesc">
+        <dict-tag v-if="formData.patSrc" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" />
         {{formData.patDetails?.deptDesc}} {{formData.patDetails?.wardDesc}} {{formData.patDetails?.bedNo}}
       </el-form-item>
       <el-form-item label="璁惧缂栧彿" prop="devId">
@@ -143,6 +147,8 @@
 import {AppointmentApi, AppointmentVO} from "@/api/ecg/appointment";
 import {useCheckTypeStore} from '@/store/modules/checkType'
 import {calGender, getBookBeginTime} from "@/utils";
+import form from "@/components/Form/src/Form.vue";
+import {DICT_TYPE} from "@/utils/dict";
 
 /** 璁惧棰嗙敤 琛ㄥ崟 */
 defineComponent({ name: 'DevReadyPanel' })
@@ -301,16 +307,14 @@
   deviceInfo.value.state = 0
 }
 
-// const setPatient = (queueVO: QueueVO | undefined) => {
-//   resetForm()
-//   formData.value.patId = queueVO?.patId
-//   formData.value.patName = queueVO?.patName
-// }
 const setPatient = (queueVO: QueueVO | undefined) => {
   resetForm()
+  formData.value.applyNo = queueVO?.applyNo
+  formData.value.episodeId = queueVO?.episodeId
   formData.value.patId = queueVO?.patId
   formData.value.patName = queueVO?.patName
   formData.value.checkType = queueVO?.bookCheckType
+  formData.value.patSrc = queueVO?.patDetails.source
   getFreeRentInfo(formData.value)
 }
 defineExpose({ setPatient }) // 鎻愪緵 setPatient 鏂规硶锛岀敤浜庤缃偅鑰�
@@ -454,6 +458,22 @@
     message.success(t('鎿嶄綔鎴愬姛'))
 }
 
+const getDisplayBarcode = () => {
+  if (!formData.value.checkType)
+    return ""
+
+  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
+  if (!displayBarcode.includes( formData.value.patSrc ))
+    return ""
+
+  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
+    return formData.value.applyNo
+  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
+    return formData.value.episodeId
+
+  return ""
+}
+
 /** 鍒濆鍖� **/
 onMounted(() => {
   getList()
diff --git a/src/views/ecg/doctor/components/RoutinePanel.vue b/src/views/ecg/doctor/components/RoutinePanel.vue
index 6ccd881..41b268d 100644
--- a/src/views/ecg/doctor/components/RoutinePanel.vue
+++ b/src/views/ecg/doctor/components/RoutinePanel.vue
@@ -12,12 +12,13 @@
           <el-form-item label="鎮h�呯紪鍙�" prop="patId">
             <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" @input="getRentInfoByPatId" />
 <!--        <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />-->
-            <Barcode v-if="!isStringEmpty(formData.patId) && 1 === checkTypeStore.getCheckTypeDispBarCode(formData.checkType)" :value="formData.patId" :width=100 />
+            <Barcode v-if="getDisplayBarcode()" :value="getDisplayBarcode()" :width=100 />
           </el-form-item>
           <el-form-item label="鎮h�呭悕绉�" prop="patName">
             <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
           </el-form-item>
           <el-form-item label="鎮h�呮弿杩�" prop="patDeptDesc">
+            <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" />
             绉戝: {{formData.patDeptDesc}} 鐥呭尯: {{formData.patWardDesc}} 搴婁綅: {{formData.patBedNo}}
           </el-form-item>
           <el-form-item label="妫�鏌ユ椂闂�" prop="rentTime">
@@ -30,6 +31,9 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
+          <el-form-item label="妫�鏌ラ」鐩�" prop="">
+            {{formData.checkType && checkTypeStore.getCheckTypeName(formData.checkType)}}
+          </el-form-item>
           <el-form-item label="澶囨敞" prop="remark">
             <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" />
           </el-form-item>
@@ -116,6 +120,7 @@
 import {RoomBedVO} from "@/api/ecg/doctor";
 import {Barcode} from "@/components/Barcode";
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {DICT_TYPE} from "@/utils/dict";
 
 /** 璁惧瑁呮満 琛ㄥ崟 */
 defineComponent({ name: 'RoutinePanel' })
@@ -133,9 +138,12 @@
 
 const setPatient = (queueVO: QueueVO | undefined) => {
   resetForm()
+  formData.value.applyNo = queueVO?.applyNo
+  formData.value.episodeId = queueVO?.episodeId
   formData.value.patId = queueVO?.patId
   formData.value.patName = queueVO?.patName
   formData.value.checkType = queueVO?.bookCheckType
+  formData.value.patSrc = queueVO?.patDetails.source
   getFreeRentInfo(formData.value)
 }
 defineExpose({ setPatient }) // 鎻愪緵 setPatient 鏂规硶锛岀敤浜庤缃偅鑰�
@@ -288,6 +296,22 @@
     message.success(t('鎿嶄綔鎴愬姛'))
 }
 
+const getDisplayBarcode = () => {
+  if (!formData.value.checkType)
+    return ""
+
+  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
+  if (!displayBarcode.includes( formData.value.patSrc ))
+    return ""
+
+  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
+    return formData.value.applyNo
+  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
+    return formData.value.episodeId
+
+  return ""
+}
+
 /** 鍒濆鍖� **/
 onMounted(() => {
   resetForm()

--
Gitblit v1.9.3