src/components/RoomBedSelect/src/RoomBedSelect.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/store/modules/user.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/ecg/doctor/DevInstall.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/ecg/room/RoomLoginSelect.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> 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: { 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() 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