| | |
| | | roomId: number // è¯å®¤ç¼å· |
| | | roomName: string // è¯å®¤åç§° |
| | | bedNo: string // è¯çåºç¼å· |
| | | onstage: boolean //å¼è¯ç¶æ |
| | | } |
| | | |
| | | // è¯å®¤åè¯çåº API |
| | |
| | | return await request.download({ url: `/clinic/room/export-excel`, params }) |
| | | }, |
| | | |
| | | // 导åºè¯å®¤åè¯çåº Excel |
| | | // è·åé¨é¨ç²¾ç®ä¿¡æ¯å表 ECG åé¨é¨ |
| | | getSimpleRoomList: async () => { |
| | | return await request.get({ url: `/clinic/room/simple-list` }) |
| | | }, |
| | | |
| | | // è·åè¯å®¤ç²¾ç®ä¿¡æ¯å表ï¼ç¨äºå»çéæ©ç»å½çè¯å®¤ |
| | | getSimpleRoomList2: async () => { |
| | | return await request.get({ url: `/clinic/room/list-simple-room` }) |
| | | }, |
| | | |
| | | |
| | | // è·åè¯åºMap |
| | | getAllBedMap: async () => { |
| | | return await request.get({ url: `/clinic/room/list-all-bed` }) |
| | | } |
| | | } |
| | |
| | | <script lang="ts" setup> |
| | | import {BedStatusVO} from "@/views/ecg/room/index"; |
| | | import { RoomApi, RoomVO } from '@/api/ecg/room' |
| | | import {PropType} from "vue"; |
| | | |
| | | |
| | | defineComponent({ |
| | | name: 'RoomStatus' |
| | |
| | | |
| | | const props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | required: true |
| | | }, |
| | | doctorNum: { |
| | | type: Number, |
| | | required: true |
| | | }, |
| | | modelValue: { |
| | | type: Array as PropType<BedStatusVO[]>, |
| | | bedList: { |
| | | type: Array as PropType<RoomVO[]>, |
| | | required: true |
| | | } |
| | | }) |
| | | |
| | | const onclick = (item) => { |
| | | console.error(item); |
| | | item.opStatus = !item.opStatus; |
| | | item.onstage = !item.onstage; |
| | | } |
| | | |
| | | </script> |
| | |
| | | <template> |
| | | <el-card style="width: 180px" shadow="hover" > |
| | | <template #header>{{title}}</template> |
| | | <div v-for="(bedItem, index) in modelValue" :key="index"> |
| | | <img v-if="bedItem.opStatus" |
| | | <div v-for="(bedItem, index) in bedList" :key="index"> |
| | | <img v-if="bedItem.onstage" |
| | | src="@/assets/room/doctor.png" |
| | | style="width: 100%" |
| | | @click = onclick(bedItem) |
| | | /> |
| | | <img v-if="!bedItem.opStatus" |
| | | <img v-if="!bedItem.onstage" |
| | | src="@/assets/room/doctor-off.jpeg" |
| | | style="width: 100%" |
| | | @click = onclick(bedItem) |
| | |
| | | <template> |
| | | <RoomStatus title="è¯å®¤206" :doctorNum="3" v-model="bedStatusVo"/> |
| | | <div style="display: flex; flex-wrap: wrap;"> |
| | | <div v-for="(value2, key) in bedMap" :key="key"> |
| | | <RoomStatus :title="key" :bedList="value2"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import {RoomStatus} from "@/components/RoomStatus" |
| | | import {BedStatusVO} from "@/views/ecg/room/index"; |
| | | import { RoomApi, RoomVO } from '@/api/ecg/room' |
| | | |
| | | const bedStatusVo: BedStatusVO[] = reactive([{ |
| | | bedNo: "a9", |
| | | opStatus: true |
| | | }, |
| | | { |
| | | bedNo: "a18", |
| | | opStatus: false |
| | | } |
| | | ]) |
| | | const bedMap = ref<Map<number, RoomVO[]>>() // åè¡¨çæ°æ® |
| | | |
| | | /** æ¥è¯¢å表 */ |
| | | const getList = async () => { |
| | | const data = await RoomApi.getAllBedMap() |
| | | bedMap.value = data as Map<number, RoomVO[]> |
| | | } |
| | | |
| | | /** åå§å **/ |
| | | onMounted(() => { |
| | | getList() |
| | | }) |
| | | |
| | | </script> |
| | | |