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/RoomBedSelect/src/RoomBedSelect.vue | 81 ++++++++++++++++++++++++++++++----------
1 files changed, 61 insertions(+), 20 deletions(-)
diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue
index c62a4cd..43d48e8 100644
--- a/src/components/RoomBedSelect/src/RoomBedSelect.vue
+++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -1,57 +1,97 @@
<script lang="ts" setup>
-import { RoomApi, RoomVO } from '@/api/ecg/room'
+import { RoomVO } from '@/api/ecg/room'
import {PropType} from "vue";
-import {useUserStore} from "@/store/modules/user";
+import {useCheckTypeStore} from "@/store/modules/checkType";
+import {UserVO} from "@/store/modules/user";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
+
+const emit = defineEmits(['event-haveseat', 'event-leaveseat', 'event-setcurseat'])
defineComponent({
name: 'RoomBedSelect'
})
const props = defineProps({
+// defineProps({
title: {
- type: String,
+ type: Number,
required: true
},
bedList: {
type: Array as PropType<RoomVO[]>,
required: true
},
- modelValue: {
+ curBed: {
type: Object as PropType<RoomVO>,
+ required: true
+ },
+ curUser: {
+ type: Object as PropType<UserVO>,
required: true
}
})
-const userStore = useUserStore()
-const curUser = userStore.getUser
+const checkTypeStore = useCheckTypeStore();
-const emit = defineEmits<{
- (e: 'update:modelValue', message: string): void;
-}>();
-
-const onclick = (item) => {
- emit('update:modelValue', item);
+const onHaveSeatclick = (newItem: RoomVO) => {
+ emit('event-haveseat', newItem)
}
+const onLeaveSeatclick = (curItem: RoomVO) => {
+ emit('event-leaveseat', curItem)
+}
+const onSetCurSeatclick = (curItem: RoomVO) => {
+ emit('event-setcurseat', curItem)
+}
+
+/** 鍒濆鍖� **/
+onMounted(() => {
+ console.info(props.bedList)
+})
</script>
<template>
<el-card style="width: 200px" shadow="hover" >
- <template #header>{{title}}</template>
+ <template #header>{{bedList[0].roomName}}</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%"
+
+ <div v-for="(checkType, subIndex) in bedItem.checkTypes" :key="subIndex">
+ {{getCheckTypeName(checkType)}}
+ </div>
+ <div>
+ {{bedItem.opType === 1?"棰嗙敤":""}}
+ {{bedItem.opType === 2?"瀹夎":""}}
+ </div>
+
+ <img
+ v-if="bedItem.docId === null"
+ src="@/assets/room/open.jpg"
+ style="width: 100%"
+ alt="鏃犲尰鐢�"
/>
- <img v-else
+ <img
+ v-else
src="@/assets/room/desk-doctor.jpeg"
- style="width: 100%"
+ style="width: 100%"
+ alt="鏈夊尰鐢�"
/>
- <div>{{bedItem.bedNo}} - {{bedItem.docName}}</div>
- <el-button v-if="modelValue.docId === 0" @click = onclick(bedItem)>
+ <div>{{bedItem.bedNo}} {{bedItem.docName}} {{bedItem.status === 30?"-鏆傚仠":""}}</div>
+ <el-button v-if="bedItem.docId === null" @click = onHaveSeatclick(bedItem)>
鍏ュ骇
</el-button>
+ <div v-if="bedItem.docId === curUser.id">
+ <el-button @click = onLeaveSeatclick(bedItem)>
+ 绂诲骇
+ </el-button>
+ <span v-if="bedItem.roomId === curBed.roomId && bedItem.bedNo === curBed.bedNo" >
+ 褰撳墠
+ </span>
+ <el-button v-else @click = onSetCurSeatclick(bedItem)>
+ 璁句负褰撳墠
+ </el-button>
+ </div>
+ <el-divider/>
</div>
</div>
</el-card>
@@ -81,6 +121,7 @@
display: flex;
flex-direction: column;
align-items: center;
+ /*height: 260px;*/
}
</style>
--
Gitblit v1.9.3