From ebee36ca9a39b59d98da3613804791faa8dd2da6 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期六, 22 十一月 2025 16:20:52 +0800
Subject: [PATCH] 打印完善
---
src/components/RoomStatus/src/RoomStatus.vue | 82 ++++++++++++++++++++++++++++++-----------
1 files changed, 60 insertions(+), 22 deletions(-)
diff --git a/src/components/RoomStatus/src/RoomStatus.vue b/src/components/RoomStatus/src/RoomStatus.vue
index a65f8d4..53c06d4 100644
--- a/src/components/RoomStatus/src/RoomStatus.vue
+++ b/src/components/RoomStatus/src/RoomStatus.vue
@@ -1,6 +1,11 @@
<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";
+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'
@@ -11,37 +16,63 @@
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 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 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"
+ 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>
@@ -65,4 +96,11 @@
transform: translateY(-50%);
}
}
+
+.deskwarp {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
</style>
--
Gitblit v1.9.3