From a986a8d6fb5e44f7044469f5f420ce0d7b5bf235 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 26 十一月 2025 11:36:02 +0800
Subject: [PATCH] 11
---
src/components/RoomStatus/src/RoomStatus.vue | 73 ++++++++++++++++++++++++++++--------
1 files changed, 57 insertions(+), 16 deletions(-)
diff --git a/src/components/RoomStatus/src/RoomStatus.vue b/src/components/RoomStatus/src/RoomStatus.vue
index 8d18057..53c06d4 100644
--- a/src/components/RoomStatus/src/RoomStatus.vue
+++ b/src/components/RoomStatus/src/RoomStatus.vue
@@ -1,7 +1,11 @@
<script lang="ts" setup>
import { RoomApi, RoomVO } from '@/api/ecg/room'
+import { QueueApi } from '@/api/ecg/queue'
import {PropType} from "vue";
-
+import {DICT_TYPE, getIntDictOptions} from "@/utils/dict";
+import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
+const emit = defineEmits(['refresh'])
defineComponent({
name: 'RoomStatus'
@@ -9,7 +13,7 @@
const props = defineProps({
title: {
- type: Number,
+ type: String,
required: true
},
bedList: {
@@ -18,27 +22,57 @@
}
})
-const onclick = (item) => {
- console.error(item);
- item.onstage = !item.onstage;
+const checkTypeStore = useCheckTypeStore();
+
+const openBed = async (item) => {
+ await QueueApi.bedOpen(item)
+ emit('refresh')
}
+
+const closeBed = async (item) => {
+ await QueueApi.bedClose(item)
+ emit('refresh')
+}
+
+/** 鍒濆鍖� **/
+onMounted(() => {
+})
</script>
<template>
- <el-card style="width: 180px" shadow="hover" >
+ <el-card style="width: 200px" shadow="hover" >
<template #header>{{title}}</template>
<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.onstage"
- src="@/assets/room/doctor-off.jpeg"
- style="width: 100%"
- @click = onclick(bedItem)
- />
+ <div class="deskwarp">
+ <img
+ v-if="bedItem.status === 0"
+ src="@/assets/room/close.jpg"
+ style="width: 100%"
+ @click = openBed(bedItem)
+ alt="宸ヤ綅宸插叧闂�"
+ />
+ <img
+ v-else-if="bedItem.status === 10"
+ src="@/assets/room/open.jpg"
+ style="width: 100%"
+ @click = closeBed(bedItem)
+ alt="宸ヤ綅寮�鏀句腑"
+ />
+ <img v-else-if="bedItem.status === 20 || bedItem.status === 30"
+ src="@/assets/room/doctor.png"
+ style="width: 100%"
+ />
+ {{bedItem.bedNo}} {{bedItem.docName}} {{bedItem.status === 30?"-鏆傚仠":""}}
+ <div v-for="(checkType, subIndex) in bedItem.checkTypes" :key="subIndex">
+ {{getCheckTypeName(checkType)}}
+ </div>
+ <div>
+ {{bedItem.opType === 1?"棰嗙敤":""}}
+ {{bedItem.opType === 2?"瀹夎":""}}
+ </div>
+ <el-divider/>
+ </div>
</div>
</el-card>
</template>
@@ -62,4 +96,11 @@
transform: translateY(-50%);
}
}
+
+.deskwarp {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
</style>
--
Gitblit v1.9.3