From 2020308acf683dbcc4e754bdaf937143ff44cc53 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期三, 23 十月 2024 16:46:19 +0800 Subject: [PATCH] 诊室选择 显示工位检查项目 --- src/components/RoomBedSelect/src/RoomBedSelect.vue | 69 +++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 18 deletions(-) diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue index 040ed22..d0b6703 100644 --- a/src/components/RoomBedSelect/src/RoomBedSelect.vue +++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue @@ -1,13 +1,16 @@ <script lang="ts" setup> -import { RoomApi, RoomVO } from '@/api/ecg/room' +import { RoomVO } from '@/api/ecg/room' import {PropType} from "vue"; import {useUserStore} from "@/store/modules/user"; +import {DICT_TYPE, getIntDictOptions} from "@/utils/dict"; +const emit = defineEmits(['event-haveseat', 'event-leaveseat']) defineComponent({ name: 'RoomBedSelect' }) -const props = defineProps({ +//const props = defineProps({ +defineProps({ title: { type: String, required: true @@ -16,7 +19,7 @@ type: Array as PropType<RoomVO[]>, required: true }, - modelValue: { + curBed: { type: Object as PropType<RoomVO>, required: true } @@ -25,15 +28,27 @@ const userStore = useUserStore() const curUser = userStore.getUser -const emit = defineEmits<{ - (e: 'update:modelValue', message: string): void; -}>(); - -const onclick = (item) => { - item.docId = curUser.id - item.docName = curUser.nickname - emit('update:modelValue', item); +const onHaveSeatclick = (newItem: RoomVO) => { + emit('event-haveseat', newItem) } +const onLeaveSeatclick = (curItem: RoomVO) => { + emit('event-leaveseat', curItem) +} + +let mapCheckType: Map<number, string> = new Map(); +const getCheckTypeList = () => { + const data = getIntDictOptions(DICT_TYPE.ECG_CHECK_TYPE) + console.info( data ) + data.forEach((checkTypeItem) => { + mapCheckType.set(checkTypeItem.value, checkTypeItem.label) + }) +} + +/** 鍒濆鍖� **/ +onMounted(() => { + //console.info(props.bedList) + getCheckTypeList() +}) </script> @@ -42,18 +57,35 @@ <template #header>{{title}}</template> <div v-for="(bedItem, index) in bedList" :key="index"> <div class="deskwarp"> - <img v-if="modelValue.roomId !== bedItem.roomId || modelValue.bedNo !== bedItem.bedNo" - src="@/assets/room/desk.png" - style="width: 100%" + + <div v-for="(checkType, subIndex) in bedItem.checkTypes" :key="subIndex"> + {{mapCheckType.get(checkType)}} + </div> + <div> + {{bedItem.opType === 1?"棰嗙敤":""}} + {{bedItem.opType === 2?"瀹夎":""}} + </div> + + <img + v-if="bedItem.docId === null" + src="@/assets/room/open.jpg" + style="width: 100%" + alt="鏃犲尰鐢�" /> - <img v-else + <img + v-else src="@/assets/room/desk-doctor.jpeg" - style="width: 100%" + style="width: 100%" + alt="鏈夊尰鐢�" /> - <div>{{bedItem.bedNo}} - {{bedItem.docName}}</div> - <el-button v-if="modelValue.docId === 0" @click = onclick(bedItem)> + <div>{{bedItem.bedNo}} {{bedItem.docName}} {{bedItem.status === 30?"-鏆傚仠":""}}</div> + <el-button v-if="bedItem.docId === null" @click = onHaveSeatclick(bedItem)> 鍏ュ骇 </el-button> + <el-button v-if="bedItem.docId === curUser.id" @click = onLeaveSeatclick(bedItem)> + 绂诲骇 + </el-button> + <el-divider/> </div> </div> </el-card> @@ -83,6 +115,7 @@ display: flex; flex-direction: column; align-items: center; + /*height: 260px;*/ } </style> -- Gitblit v1.9.3