From e456f20e2d54f542800580c489f36c0b5eaf734f Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 29 八月 2024 17:33:29 +0800
Subject: [PATCH] update

---
 src/components/RoomStatus/src/RoomStatus.vue |   67 ++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/src/components/RoomStatus/src/RoomStatus.vue b/src/components/RoomStatus/src/RoomStatus.vue
index 471bf9f..f5e363f 100644
--- a/src/components/RoomStatus/src/RoomStatus.vue
+++ b/src/components/RoomStatus/src/RoomStatus.vue
@@ -1,47 +1,61 @@
 <script lang="ts" setup>
-import {BedStatusVO} from "@/views/ecg/room/index";
+import { RoomApi, RoomVO } from '@/api/ecg/room'
+import { QueueApi } from '@/api/ecg/queue'
 import {PropType} from "vue";
+const emit = defineEmits(['refresh'])
 
 defineComponent({
   name: 'RoomStatus'
 })
 
-defineProps({
+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;
+const openBed = async (item) => {
+  await QueueApi.bedOpen(item)
+  emit('refresh')
+}
+
+const closeBed = async (item) => {
+  await QueueApi.bedClose(item)
+  emit('refresh')
 }
 
 </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 modelValue" :key="index">
-    <img v-if="bedItem.opStatus"
-        src="@/assets/room/doctor.png"
-        style="width: 100%"
-         @click = onclick(bedItem)
-    />
-    <img v-if="!bedItem.opStatus"
-        src="@/assets/room/doctor-off.jpeg"
-        style="width: 100%"
-         @click = onclick(bedItem)
-    />
+    <div v-for="(bedItem, index) in bedList" :key="index">
+      <div class="deskwarp">
+        <img
+            v-if="bedItem.status === 0 || bedItem.status === 1"
+            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>
     </div>
   </el-card>
 </template>
@@ -65,4 +79,11 @@
     transform: translateY(-50%);
   }
 }
+
+.deskwarp {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+
 </style>

--
Gitblit v1.9.3