From cfd2621f98e34e348a0e7ca7466464f9886d4eb2 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 12 十二月 2024 19:46:48 +0800
Subject: [PATCH] 工位选择界面 诊室安装room id排序

---
 src/components/RoomBedSelect/src/RoomBedSelect.vue |   80 ++++++++++++++++++++++++++++++----------
 1 files changed, 60 insertions(+), 20 deletions(-)

diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue
index c62a4cd..e6318d3 100644
--- a/src/components/RoomBedSelect/src/RoomBedSelect.vue
+++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -1,57 +1,96 @@
 <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";
+
+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">
+          {{checkTypeStore.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 +120,7 @@
   display: flex;
   flex-direction: column;
   align-items: center;
+  /*height: 260px;*/
 }
 
 </style>

--
Gitblit v1.9.3