From 8dfce4d85ea0f2445a65b35e50830460a9e07c9e Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期一, 18 十一月 2024 17:57:46 +0800
Subject: [PATCH] 医生允许坐多个工位
---
src/views/ecg/doctor/DevInstall.vue | 15 ++--
src/views/ecg/room/RoomLoginSelect.vue | 94 ++++++++++++++++++++++++------
src/components/RoomBedSelect/src/RoomBedSelect.vue | 36 ++++++++----
src/store/modules/user.ts | 4
4 files changed, 108 insertions(+), 41 deletions(-)
diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue
index 79092cc..3a08a56 100644
--- a/src/components/RoomBedSelect/src/RoomBedSelect.vue
+++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -1,17 +1,17 @@
<script lang="ts" setup>
import { RoomVO } from '@/api/ecg/room'
import {PropType} from "vue";
-import {useUserStore} from "@/store/modules/user";
-import {DICT_TYPE, getIntDictOptions} from "@/utils/dict";
import {useCheckTypeStore} from "@/store/modules/checkType";
-const emit = defineEmits(['event-haveseat', 'event-leaveseat'])
+import {UserVO} from "@/store/modules/user";
+
+const emit = defineEmits(['event-haveseat', 'event-leaveseat', 'event-setcurseat'])
defineComponent({
name: 'RoomBedSelect'
})
-//const props = defineProps({
-defineProps({
+const props = defineProps({
+// defineProps({
title: {
type: String,
required: true
@@ -23,12 +23,14 @@
curBed: {
type: Object as PropType<RoomVO>,
required: true
+ },
+ curUser: {
+ type: Object as PropType<UserVO>,
+ required: true
}
})
const checkTypeStore = useCheckTypeStore();
-const userStore = useUserStore()
-const curUser = userStore.getUser
const onHaveSeatclick = (newItem: RoomVO) => {
emit('event-haveseat', newItem)
@@ -36,11 +38,13 @@
const onLeaveSeatclick = (curItem: RoomVO) => {
emit('event-leaveseat', curItem)
}
-
+const onSetCurSeatclick = (curItem: RoomVO) => {
+ emit('event-setcurseat', curItem)
+}
/** 鍒濆鍖� **/
onMounted(() => {
- //console.info(props.bedList)
+ console.info(props.bedList)
})
</script>
@@ -75,9 +79,17 @@
<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>
+ <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>
diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index 77443e7..379eb10 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -6,7 +6,7 @@
const { wsCache } = useCache()
-interface UserVO {
+export interface UserVO {
id: number
avatar: string
nickname: string
@@ -30,7 +30,7 @@
id: 0,
avatar: '',
nickname: '',
- deptId: 0
+ deptId: 0,
},
}),
getters: {
diff --git a/src/views/ecg/doctor/DevInstall.vue b/src/views/ecg/doctor/DevInstall.vue
index b75e50f..06bbebc 100644
--- a/src/views/ecg/doctor/DevInstall.vue
+++ b/src/views/ecg/doctor/DevInstall.vue
@@ -6,8 +6,9 @@
import {useUserStore} from "@/store/modules/user";
import {QueueVO} from "@/api/ecg/queue";
import {ElNotification} from "element-plus";
+import {useRoomStore} from "@/store/modules/room";
-const userStore = useUserStore();
+const roomStore = useRoomStore();
const roomBedVO = ref<RoomBedVO>({
roomId: null,
@@ -128,12 +129,12 @@
finishFlag.value = true
passFlag.value = true
- if (userStore.isSetRoom) {
- roomBedVO.value.roomId = userStore.room!.roomId
- roomBedVO.value.roomName = userStore.room!.roomName
- roomBedVO.value.bedNo = userStore.room!.bedNo
- roomBedVO.value.checkTypes = userStore.room!.checkTypes
- roomBedVO.value.opType = userStore.room!.opType
+ if (roomStore.isSetRoom) {
+ roomBedVO.value.roomId = roomStore.room!.roomId
+ roomBedVO.value.roomName = roomStore.room!.roomName
+ roomBedVO.value.bedNo = roomStore.room!.bedNo
+ roomBedVO.value.checkTypes = roomStore.room!.checkTypes
+ roomBedVO.value.opType = roomStore.room!.opType
timerRunFlag = true
doctorTimer()
diff --git a/src/views/ecg/room/RoomLoginSelect.vue b/src/views/ecg/room/RoomLoginSelect.vue
index b76d0d9..f29fa56 100644
--- a/src/views/ecg/room/RoomLoginSelect.vue
+++ b/src/views/ecg/room/RoomLoginSelect.vue
@@ -2,7 +2,7 @@
<div style="display: flex; flex-direction: column; align-items: center;">
<div style="display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 20px">
<div class=roomwrap v-for="(value, key) in bedMap" :key="key">
- <RoomBedSelect :title="key" :bedList="value" :curBed="curSel" @event-haveseat="haveSeat" @event-leaveseat="leaveSeat"/>
+ <RoomBedSelect :title="key" :bedList="value" :curBed="curSel" :curUser='curUser' @event-haveseat="haveSeat" @event-leaveseat="leaveSeat" @event-setcurseat="setCurSeat"/>
</div>
<el-empty v-if="isEmptyOpeningBed" description="宸ヤ綅娌℃湁寮�鏀�"/>
</div>
@@ -66,21 +66,21 @@
const getList = async () => {
resetCurSel()
- console.info( "getList before" )
+ console.info("getList before")
const data = await RoomApi.getOpeningBedMap()
bedMap.value = data;
- console.info( "getList after " + data )
+ console.info("getList after " + data)
isEmptyOpeningBed.value = true
for (const key in data) {
- isEmptyOpeningBed.value = false
- const roomVOArray = data[key] as RoomVO[];
- roomVOArray.forEach((roomVO) => {
- if (roomVO.docId === curUser.id) {
- curSel.value = roomVO
- roomStore.setRoomInfoAction(curSel.value)
- }
- })
+ isEmptyOpeningBed.value = false
+ const roomVOArray = data[key] as RoomVO[];
+ roomVOArray.forEach((roomVO) => {
+ if (roomVO.docId === curUser.id) {
+ curSel.value = roomVO
+ roomStore.setRoomInfoAction(curSel.value)
+ }
+ })
}
}
@@ -94,19 +94,36 @@
return
}
+ // curSel.value.opType 0 1 2
+ if (curSel.value.opType === 0) {
+ push({path: "/ecg/doc/routine"})
+ }
+ else if (curSel.value.opType === 1) {
+ push({path: "/ecg/doc/dev-ready"})
+ }
+ else if (curSel.value.opType === 2) {
+ push({path: "/ecg/doc/dev-install"})
+ }
+ else {
+ push({path: route.redirectedFrom?.fullPath})
+ }
+
+/*
if (isStringEmpty(route.redirectedFrom?.fullPath))
- push({ path: "/ecg/doctor"})
+ push({ path: "/ecg/doc/dev-ready"})
else if(route.redirectedFrom?.fullPath === "/roomselect" )
- push({ path: "/ecg/doctor"})
+ push({ path: "/ecg/doc/dev-ready"})
else if(route.redirectedFrom?.fullPath === "/ecg/roomselect" )
- push({ path: "/ecg/doctor"})
+ push({ path: "/ecg/doc/dev-ready"})
else
push({ path: route.redirectedFrom?.fullPath})
+*/
}
const haveSeatConfirm = async (newRoomVO: RoomVO) => {
if (newRoomVO !== curSel.value) {
let data;
+/* 淇濈暀杩欏潡閫昏緫
if (curSel.value.docId !== null) {
data = await DoctorApi.bedDoctorOff(curSel.value)
if (data !== 0) {
@@ -118,6 +135,7 @@
return
}
}
+*/
resetCurSel()
await roomStore.clearRoomInfoAction()
@@ -142,18 +160,34 @@
}
// curSel.value.opType 0 1 2
- if (isStringEmpty(route.redirectedFrom?.fullPath)) {
- push({path: "/ecg/doctor"})
+ if (newRoomVO.opType === 0) {
+ push({path: "/ecg/doc/routine"})
}
- else if(route.redirectedFrom?.fullPath === "/roomselect" ) {
- push({path: "/ecg/doctor"})
+ else if (newRoomVO.opType === 1) {
+ push({path: "/ecg/doc/dev-ready"})
}
- else if(route.redirectedFrom?.fullPath === "/ecg/roomselect" ) {
- push({path: "/ecg/doctor"})
+ else if (newRoomVO.opType === 2) {
+ push({path: "/ecg/doc/dev-install"})
}
else {
push({path: route.redirectedFrom?.fullPath})
}
+
+/*
+ // curSel.value.opType 0 1 2
+ if (isStringEmpty(route.redirectedFrom?.fullPath)) {
+ push({path: "/ecg/doc/dev-ready"})
+ }
+ else if(route.redirectedFrom?.fullPath === "/roomselect" ) {
+ push({path: "/ecg/doc/dev-ready"})
+ }
+ else if(route.redirectedFrom?.fullPath === "/ecg/roomselect" ) {
+ push({path: "/ecg/doc/dev-ready"})
+ }
+ else {
+ push({path: route.redirectedFrom?.fullPath})
+ }
+*/
}
const leaveSeatConfirm = async () => {
@@ -204,6 +238,26 @@
});
}
+// 鍚屾椂鍧愪簡澶氫釜宸ヤ綅鏃讹紝璁惧畾褰撳墠浼氳瘽鐨勫伐浣�
+const setCurSeat = (roomVO: RoomVO) => {
+ roomStore.setRoomInfoAction( roomVO )
+ curSel.value = roomVO
+
+ // curSel.value.opType 0 1 2
+ if (roomVO.opType === 0) {
+ push({path: "/ecg/doc/routine"})
+ }
+ else if (roomVO.opType === 1) {
+ push({path: "/ecg/doc/dev-ready"})
+ }
+ else if (roomVO.opType === 2) {
+ push({path: "/ecg/doc/dev-install"})
+ }
+ else {
+ push({path: route.redirectedFrom?.fullPath})
+ }
+}
+
const resetCurSel = () => {
curSel.value.id = null
curSel.value.roomId = null
--
Gitblit v1.9.3