eight
2024-08-14 bd21ed2505710facd814ef0e020eb36230a09313
update
已删除1个文件
已修改3个文件
67 ■■■■■ 文件已修改
src/api/ecg/room/index.ts 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RoomStatus/src/RoomStatus.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/room/RoomStatusSetting.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/room/index.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/room/index.ts
@@ -6,6 +6,7 @@
  roomId: number // è¯Šå®¤ç¼–号
  roomName: string // è¯Šå®¤åç§°
  bedNo: string // è¯Šç–—床编号
  onstage: boolean //开诊状态
}
// è¯Šå®¤å’Œè¯Šç–—床 API
@@ -40,8 +41,19 @@
    return await request.download({ url: `/clinic/room/export-excel`, params })
  },
  // å¯¼å‡ºè¯Šå®¤å’Œè¯Šç–—床 Excel
  // èŽ·å–éƒ¨é—¨ç²¾ç®€ä¿¡æ¯åˆ—è¡¨ ECG å­éƒ¨é—¨
  getSimpleRoomList: async () => {
    return await request.get({ url: `/clinic/room/simple-list` })
  },
  // èŽ·å–è¯Šå®¤ç²¾ç®€ä¿¡æ¯åˆ—è¡¨ï¼Œç”¨äºŽåŒ»ç”Ÿé€‰æ‹©ç™»å½•çš„è¯Šå®¤
  getSimpleRoomList2: async () => {
    return await request.get({ url: `/clinic/room/list-simple-room` })
  },
  // èŽ·å–è¯ŠåºŠMap
  getAllBedMap: async () => {
    return await request.get({ url: `/clinic/room/list-all-bed` })
  }
}
src/components/RoomStatus/src/RoomStatus.vue
@@ -1,6 +1,7 @@
<script lang="ts" setup>
import {BedStatusVO} from "@/views/ecg/room/index";
import { RoomApi, RoomVO } from '@/api/ecg/room'
import {PropType} from "vue";
defineComponent({
  name: 'RoomStatus'
@@ -8,22 +9,18 @@
const  props = defineProps({
  title: {
    type: String,
    required: true
  },
  doctorNum: {
    type: Number,
    required: true
  },
  modelValue: {
    type: Array as PropType<BedStatusVO[]>,
  bedList: {
    type: Array as PropType<RoomVO[]>,
    required: true
  }
})
const onclick = (item) => {
  console.error(item);
  item.opStatus = !item.opStatus;
  item.onstage = !item.onstage;
}
</script>
@@ -31,13 +28,13 @@
<template>
  <el-card style="width: 180px" shadow="hover" >
    <template #header>{{title}}</template>
    <div v-for="(bedItem, index) in modelValue" :key="index">
    <img v-if="bedItem.opStatus"
    <div v-for="(bedItem, index) in bedList" :key="index">
    <img v-if="bedItem.onstage"
        src="@/assets/room/doctor.png"
        style="width: 100%"
         @click = onclick(bedItem)
    />
    <img v-if="!bedItem.opStatus"
    <img v-if="!bedItem.onstage"
        src="@/assets/room/doctor-off.jpeg"
        style="width: 100%"
         @click = onclick(bedItem)
src/views/ecg/room/RoomStatusSetting.vue
@@ -1,20 +1,27 @@
<template>
  <RoomStatus title="诊室206" :doctorNum="3" v-model="bedStatusVo"/>
  <div style="display: flex; flex-wrap: wrap;">
    <div v-for="(value2, key) in bedMap" :key="key">
    <RoomStatus :title="key" :bedList="value2"/>
    </div>
  </div>
</template>
<script setup lang="ts">
import {RoomStatus} from "@/components/RoomStatus"
import {BedStatusVO} from "@/views/ecg/room/index";
import { RoomApi, RoomVO } from '@/api/ecg/room'
const bedStatusVo: BedStatusVO[] = reactive([{
  bedNo: "a9",
  opStatus: true
},
  {
    bedNo: "a18",
    opStatus: false
  }
])
const bedMap = ref<Map<number, RoomVO[]>>() // åˆ—表的数据
/** æŸ¥è¯¢åˆ—表 */
const getList = async () => {
    const data = await RoomApi.getAllBedMap()
    bedMap.value = data as Map<number, RoomVO[]>
}
/** åˆå§‹åŒ– **/
onMounted(() => {
    getList()
})
</script>
src/views/ecg/room/index.ts
ÎļþÒÑɾ³ý