eight
2024-08-27 5d4c9d08c5fad19ce05af1c0137545e0683b5535
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 = () => {