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