<script lang="ts" setup>
|
import { RoomApi, RoomVO } from '@/api/ecg/room'
|
import {PropType} from "vue";
|
import {useUserStore} from "@/store/modules/user";
|
|
defineComponent({
|
name: 'RoomBedSelect'
|
})
|
|
const props = defineProps({
|
title: {
|
type: String,
|
required: true
|
},
|
bedList: {
|
type: Array as PropType<RoomVO[]>,
|
required: true
|
},
|
modelValue: {
|
type: Object as PropType<RoomVO>,
|
required: true
|
}
|
})
|
|
const userStore = useUserStore()
|
const curUser = userStore.getUser
|
|
const emit = defineEmits<{
|
(e: 'update:modelValue', message: string): void;
|
}>();
|
|
const onclick = (item) => {
|
emit('update:modelValue', item);
|
}
|
|
</script>
|
|
<template>
|
<el-card style="width: 200px" shadow="hover" >
|
<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%"
|
/>
|
<img v-else
|
src="@/assets/room/desk-doctor.jpeg"
|
style="width: 100%"
|
/>
|
<div>{{bedItem.bedNo}} - {{bedItem.docName}}</div>
|
<el-button v-if="modelValue.docId === 0" @click = onclick(bedItem)>
|
入座
|
</el-button>
|
</div>
|
</div>
|
</el-card>
|
</template>
|
|
<style scoped lang="scss">
|
.card-title {
|
font-size: 14px;
|
font-weight: 600;
|
|
&::before {
|
position: relative;
|
top: 8px;
|
left: -5px;
|
display: inline-block;
|
width: 3px;
|
height: 14px;
|
//background-color: #105cfb;
|
background: var(--el-color-primary);
|
border-radius: 5px;
|
content: '';
|
transform: translateY(-50%);
|
}
|
}
|
|
.deskwarp {
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
}
|
|
</style>
|