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