From 2020308acf683dbcc4e754bdaf937143ff44cc53 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期三, 23 十月 2024 16:46:19 +0800
Subject: [PATCH] 诊室选择 显示工位检查项目

---
 src/components/RoomBedSelect/src/RoomBedSelect.vue |   72 ++++++++++++++++++++++++++++--------
 1 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue
index d14bca6..d0b6703 100644
--- a/src/components/RoomBedSelect/src/RoomBedSelect.vue
+++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -1,12 +1,16 @@
 <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 {DICT_TYPE, getIntDictOptions} from "@/utils/dict";
+const emit = defineEmits(['event-haveseat', 'event-leaveseat'])
 
 defineComponent({
   name: 'RoomBedSelect'
 })
 
-const  props = defineProps({
+//const  props = defineProps({
+defineProps({
   title: {
     type: String,
     required: true
@@ -15,19 +19,36 @@
     type: Array as PropType<RoomVO[]>,
     required: true
   },
-  modelValue: {
+  curBed: {
     type: Object as PropType<RoomVO>,
     required: true
   }
 })
 
-const emit = defineEmits<{
-    (e: 'update:modelValue', message: string): void;
-}>();
+const userStore = useUserStore()
+const curUser = userStore.getUser
 
-const onclick = (item) => {
-  emit('update:modelValue', item);
+const onHaveSeatclick = (newItem: RoomVO) => {
+  emit('event-haveseat', newItem)
 }
+const onLeaveSeatclick = (curItem: RoomVO) => {
+  emit('event-leaveseat', curItem)
+}
+
+let mapCheckType: Map<number, string> = new Map();
+const getCheckTypeList = () => {
+  const data = getIntDictOptions(DICT_TYPE.ECG_CHECK_TYPE)
+  console.info( data )
+  data.forEach((checkTypeItem) => {
+    mapCheckType.set(checkTypeItem.value, checkTypeItem.label)
+  })
+}
+
+/** 鍒濆鍖� **/
+onMounted(() => {
+    //console.info(props.bedList)
+  getCheckTypeList()
+})
 
 </script>
 
@@ -36,17 +57,35 @@
     <template #header>{{title}}</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%"
-             @click = onclick(bedItem)
+
+        <div v-for="(checkType, subIndex) in bedItem.checkTypes" :key="subIndex">
+          {{mapCheckType.get(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%"
-             @click = onclick(bedItem)
+            style="width: 100%"
+            alt="鏈夊尰鐢�"
         />
-        <div>{{bedItem.bedNo}}</div>
+        <div>{{bedItem.bedNo}} {{bedItem.docName}} {{bedItem.status === 30?"-鏆傚仠":""}}</div>
+        <el-button v-if="bedItem.docId === null" @click = onHaveSeatclick(bedItem)>
+           鍏ュ骇
+        </el-button>
+        <el-button v-if="bedItem.docId === curUser.id" @click = onLeaveSeatclick(bedItem)>
+           绂诲骇
+        </el-button>
+        <el-divider/>
       </div>
     </div>
   </el-card>
@@ -76,6 +115,7 @@
   display: flex;
   flex-direction: column;
   align-items: center;
+  /*height: 260px;*/
 }
 
 </style>

--
Gitblit v1.9.3