From 4be1c5f30a0662383d01c185d3183ed9518fb4a5 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 03 十二月 2024 15:34:26 +0800 Subject: [PATCH] 预约序号前缀 --- src/api/ecg/checktype/index.ts | 1 + src/views/ecg/checktype/index.vue | 1 + src/views/ecg/callingscreen/bigscreen.vue | 8 +++++++- src/views/ecg/callingscreen/roomscreen.vue | 25 ++++++++++++++++++++----- src/store/modules/checkType.ts | 7 +++++++ src/views/ecg/doctor/components/QueuePanel.vue | 4 +++- src/views/ecg/checktype/CheckTypeForm.vue | 11 ++++++++--- 7 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/api/ecg/checktype/index.ts b/src/api/ecg/checktype/index.ts index c18cf57..3d57289 100644 --- a/src/api/ecg/checktype/index.ts +++ b/src/api/ecg/checktype/index.ts @@ -14,6 +14,7 @@ timeslotReservedNum: number // 姣忔椂娈甸鐣欎汉鏁� affinityCheckTypes: number[] | null// 浜插拰鐨勬鏌ョ被鍨� notes: string // 棰勭害娉ㄦ剰浜嬮」 + seqPrefix: string // 搴忓彿鍓嶇紑 } // 妫�鏌ョ被鍨� API diff --git a/src/store/modules/checkType.ts b/src/store/modules/checkType.ts index 459548c..6cacbbf 100644 --- a/src/store/modules/checkType.ts +++ b/src/store/modules/checkType.ts @@ -10,6 +10,7 @@ name: string displayBarcode: [] notes: string + seqPrefix: string // 搴忓彿鍓嶇紑 } export interface CheckTypeState { checkTypeMap: Map<number, CheckTypeSimpleVO> @@ -84,6 +85,12 @@ } return this.checkTypeMap[type].notes }, + getCheckTypeSeqPrefix(type: number) { + if (!this.isSetCheckType) { + this.setCheckTypeMap() + } + return this.checkTypeMap[type].seqPrefix + }, async resetCheckTypeInfo() { wsCache.delete(CACHE_KEY.CHECKTYPE_CACHE) const res = await CheckTypeApi.getSimpleCheckTypeList() diff --git a/src/views/ecg/callingscreen/bigscreen.vue b/src/views/ecg/callingscreen/bigscreen.vue index d58a158..8411ae9 100644 --- a/src/views/ecg/callingscreen/bigscreen.vue +++ b/src/views/ecg/callingscreen/bigscreen.vue @@ -3,8 +3,11 @@ import {ScreenApi, ScreenQueueVO} from "@/api/ecg/screen"; import {CallApi, CallVO} from "@/api/ecg/call"; import {queueStatusConvert} from "@/utils/statusFormatter"; +import {useCheckTypeStore} from "@/store/modules/checkType"; defineOptions({ name: 'bigscreen' }) + +const checkTypeStore = useCheckTypeStore() const displayColInfo = ref({}) @@ -112,7 +115,10 @@ <div v-for="[disColId2, mapSlot] of Object.entries(list)" :key="disColId2" style="width: 300px; height: 100%; border-left: solid 2px var(--el-color-primary-light-7) "> <div v-for="[slotId, slotQueue] of Object.entries(mapSlot)" :key="slotId"> <div v-for="(item, index) in slotQueue" :key="index" :class="getItemCssClass(item)"> - {{item.bookSeqNum}} {{ nameDesensitize(item.patName) }} {{queueStatusConvert(item.status)}} {{item.roomName}} + <span style="display:inline-block; width:60px;">{{checkTypeStore.getCheckTypeSeqPrefix(item.bookCheckType)}}{{item.bookSeqNum}}</span> + <span style="display:inline-block; width:80px;">{{ nameDesensitize(item.patName) }} </span> + <span style="display:inline-block; width:80px;">{{queueStatusConvert(item.status)}} </span> + {{item.roomName}} </div> </div> </div> diff --git a/src/views/ecg/callingscreen/roomscreen.vue b/src/views/ecg/callingscreen/roomscreen.vue index 7009694..bcca1bb 100644 --- a/src/views/ecg/callingscreen/roomscreen.vue +++ b/src/views/ecg/callingscreen/roomscreen.vue @@ -115,14 +115,29 @@ > <el-table-column prop="patName" - label="鎮h�呭鍚�" - width="220"> + label="棰勭害搴忓彿" + width="60px"> <template #default="scope"> - {{scope.row.bookSeqNum}} {{ nameDesensitize(scope.row.patName) }} - {{scope.row.bookCheckType && checkTypeStore.getCheckTypeName(scope.row.bookCheckType)}} + <span style="display:inline-block; width:60px;">{{checkTypeStore.getCheckTypeSeqPrefix(scope.row.bookCheckType)}}{{scope.row.bookSeqNum}} </span> </template> </el-table-column> - <el-table-column label="鐘舵��" align="center" width="100"> + <el-table-column + prop="patName" + label="鎮h�呭鍚�" + width="80px"> + <template #default="scope"> + <span style="display:inline-block; width:80px;">{{ nameDesensitize(scope.row.patName) }} </span> + </template> + </el-table-column> + <el-table-column + prop="patName" + label="妫�鏌ラ」鐩�" + width="80px"> + <template #default="scope"> + <span style="display:inline-block; width:80px;">{{scope.row.bookCheckType && checkTypeStore.getCheckTypeName(scope.row.bookCheckType)}} </span> + </template> + </el-table-column> + <el-table-column label="鐘舵��" align="center" width="100px"> <template #default="scope"> <!-- <dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="scope.row.status" />--> {{queueStatusConvert(scope.row.status)}} diff --git a/src/views/ecg/checktype/CheckTypeForm.vue b/src/views/ecg/checktype/CheckTypeForm.vue index 6183458..0a1535d 100644 --- a/src/views/ecg/checktype/CheckTypeForm.vue +++ b/src/views/ecg/checktype/CheckTypeForm.vue @@ -46,7 +46,10 @@ <el-input v-model="formData.timeslotReservedNum" placeholder="璇疯緭鍏ユ瘡鏃舵棰勭暀浜烘暟" /> </el-form-item> <el-form-item label="棰勭害娉ㄦ剰浜嬮」" prop="notes"> - <el-input v-model="formData.notes" placeholder="璇烽绾︽敞鎰忎簨椤�" /> + <el-input v-model="formData.notes" placeholder="璇疯緭鍏ラ绾︽敞鎰忎簨椤�" /> + </el-form-item> + <el-form-item label="搴忓彿鍓嶇紑" prop="notes"> + <el-input v-model="formData.seqPrefix" placeholder="璇疯緭鍏ュ簭鍙峰墠缂�" /> </el-form-item> <el-form-item label="浜插拰鐨勬鏌ョ被鍨�" prop="affinityCheckTypes"> <el-checkbox-group v-model="formData.affinityCheckTypes"> @@ -89,7 +92,8 @@ timeslotBookNum: undefined, timeslotReservedNum: undefined, affinityCheckTypes: [], - notes: undefined + notes: undefined, + seqPrefix: undefined }) const formRules = reactive({ }) @@ -151,7 +155,8 @@ timeslotBookNum: undefined, timeslotReservedNum: undefined, affinityCheckTypes: [], - notes: undefined + notes: undefined, + seqPrefix: undefined } formRef.value?.resetFields() } diff --git a/src/views/ecg/checktype/index.vue b/src/views/ecg/checktype/index.vue index 72c1d97..61bc8d1 100644 --- a/src/views/ecg/checktype/index.vue +++ b/src/views/ecg/checktype/index.vue @@ -143,6 +143,7 @@ <el-table-column label="鏃舵棰勭害瑙勫畾浜烘暟" align="center" prop="timeslotBookNum" /> <el-table-column label="姣忔椂娈甸鐣欎汉鏁�" align="center" prop="timeslotReservedNum" /> <el-table-column label="棰勭害娉ㄦ剰浜嬮」" align="center" prop="notes" /> + <el-table-column label="搴忓彿鍓嶇紑" align="center" prop="seqPrefix" /> <el-table-column label="浜插拰鐨勬鏌ョ被鍨�" align="center" prop="affinityCheckTypes" > <template #default="scope"> <div v-for="(checkType, subIndex) in scope.row.affinityCheckTypes" :key="subIndex"> diff --git a/src/views/ecg/doctor/components/QueuePanel.vue b/src/views/ecg/doctor/components/QueuePanel.vue index 49f8e8d..6aa8759 100644 --- a/src/views/ecg/doctor/components/QueuePanel.vue +++ b/src/views/ecg/doctor/components/QueuePanel.vue @@ -51,7 +51,9 @@ <template> <div v-for="(item, index) in queue" :key="index"> - <span style="display:inline-block; width:120px;"> {{item.seqNum}} {{item.bookSeqNum}} {{item.patName}}{{item.passed === 0 ? "":"*"}} </span> + <span style="display:inline-block; width:30px;"> {{item.seqNum}} </span> + <span style="display:inline-block; width:40px;"> {{checkTypeStore.getCheckTypeSeqPrefix(item.bookCheckType)}}{{item.bookSeqNum}} </span> + <span style="display:inline-block; width:70px;"> {{item.patName}}{{item.passed === 0 ? "":"*"}} </span> <dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="item.patGender" /> <!-- {{item.roomName}} {{item.bedNo}}--> {{checkTypeStore.getCheckTypeName(item.bookCheckType)}} -- Gitblit v1.9.3