From 5d4c9d08c5fad19ce05af1c0137545e0683b5535 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 27 八月 2024 10:09:32 +0800 Subject: [PATCH] update --- src/views/ecg/room/RoomLoginSelect.vue | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 8 deletions(-) diff --git a/src/views/ecg/room/RoomLoginSelect.vue b/src/views/ecg/room/RoomLoginSelect.vue index 4b1c033..93d6817 100644 --- a/src/views/ecg/room/RoomLoginSelect.vue +++ b/src/views/ecg/room/RoomLoginSelect.vue @@ -13,35 +13,92 @@ <script setup lang="ts"> import {RoomBedSelect} from "@/components/RoomBedSelect" import { RoomApi, RoomVO } from '@/api/ecg/room' +import { queueApi, queueVO } from '@/api/ecg/queue' import {useUserStore} from "@/store/modules/user"; import {CACHE_KEY, useCache} from "@/hooks/web/useCache"; -const { currentRoute, push } = useRouter() +import {ElMessage} from "element-plus"; +import {isStringEmpty} from "@/utils/stringUtil" + +const { push } = useRouter() const { wsCache } = useCache() defineOptions({ name: 'RoomLoginSelect' }) -const userStore = useUserStore() +const route = useRoute(); -const bedMap = ref<Map<String, RoomVO[]>>() // 鍒楄〃鐨勬暟鎹� +const userStore = useUserStore() +const curUser = userStore.getUser + +const bedMap = ref() // 鍒楄〃鐨勬暟鎹� + +const originalSel = ref<RoomVO>({ + id: 0, + roomId: 0, + roomName: "", + bedNo: "", + status: 0, + docId: 0, + docName: "" +}); const curSel = ref<RoomVO>({ id: 0, roomId: 0, roomName: "", bedNo: "", - onstage: true - }); + status: 0, + docId: 0, + docName: "" +}); /** 鏌ヨ鍒楄〃 */ const getList = async () => { const data = await RoomApi.getOnstageBedMap() - bedMap.value = data as Map<String, RoomVO[]> + bedMap.value = data; + + for (const key in data) { + const roomVOArray = data[key] as RoomVO[]; + roomVOArray.forEach((roomVO) => { + if (roomVO.docId === curUser.id) { + originalSel.value = roomVO + curSel.value = roomVO + return + } + } ) + } } -const roomConfirm = () => { +const roomConfirm = async () => { console.info(curSel.value) + + if (curSel.value.roomId === 0) { + ElMessage({ + message: '璇峰厛閫夋嫨宸ヤ綔鐨勪綅缃�!', + type: 'info', + duration: 3000 // 鑷姩鍏抽棴鏃堕棿锛岄粯璁や负3000ms + }); + return + } + + if (curSel.value !== originalSel.value) { + const data = await queueApi.bedDoctorOn(curSel.value) + if (data !== 0) { + ElMessage({ + message: '鍐呴儴閿欒!' + data, + type: 'info', + duration: 3000 // 鑷姩鍏抽棴鏃堕棿锛岄粯璁や负3000ms + }); + return + } + } + userStore.setRoomInfoAction(curSel.value) - push({ path: "/"}) + if (isStringEmpty(route.redirectedFrom?.fullPath)) + push({ path: "/"}) + else if(route.redirectedFrom?.fullPath === "/login-room-select" ) + push({ path: "/"}) + else + push({ path: route.redirectedFrom?.fullPath}) } const test = () => { -- Gitblit v1.9.3