eight
2024-08-28 3b8457c9c63f0996d8dae63ac988f976da956d38
src/views/ecg/doctor/index.vue
@@ -1,7 +1,7 @@
<script setup lang="ts">
import TitlePanel from "@/views/ecg/doctor/components/TitlePanel.vue";
import QueuePanel from "@/views/ecg/doctor/components/QueuePanel.vue";
import { DoctorApi, RoomBedVO } from '@/api/ecg/doctor';
import {DoctorApi, PatientStatisticVO, RoomBedVO} from '@/api/ecg/doctor';
import {useUserStore} from "@/store/modules/user";
import {queueVO} from "@/api/ecg/queue";
@@ -12,21 +12,52 @@
    bedNo: userStore.room.bedNo
}
const patientStat = ref<PatientStatisticVO>({
    finishedNum: 0,
    readyNum: 0,
    passedNum: 0,
    queuingNum: 0
})
let state: 'normal' | 'paused' = "normal";
const list = ref<queueVO[]>([])
const nextPatient = async () => {
  const data = await DoctorApi.nextPatient(roomBedVO)
const finishNextPatient = async () => {
  const data = await DoctorApi.finishNextPatient(roomBedVO)
  list.value = data
  const data2 = await DoctorApi.getPatientStatistic(roomBedVO)
  patientStat.value = data2
}
const finishPatient = async () => {
    const data = await DoctorApi.finishPatient(roomBedVO)
const passNextPatient = async () => {
    const data = await DoctorApi.passNextPatient(roomBedVO)
    list.value = data
    const data2 = await DoctorApi.getPatientStatistic(roomBedVO)
    patientStat.value = data2
}
const getPatientList = async () => {
    const data = await DoctorApi.getPatientList(roomBedVO)
    list.value = data
    const data2 = await DoctorApi.getPatientStatistic(roomBedVO)
    patientStat.value = data2
}
const pause = async () => {
  state = 'paused'
}
const resume = async () => {
  state = 'normal'
}
/** 初始化 **/
onMounted(() => {
  nextPatient()
    getPatientList()
})
</script>
@@ -34,7 +65,7 @@
<template>
  <el-container>
    <el-header style="background-color: var(--el-color-primary-light-7); font-size: 24px">
      <TitlePanel room="A208"/>
      <TitlePanel :patientStatistic="patientStat" />
    </el-header>
    <el-container>
      <el-main>
@@ -45,8 +76,10 @@
      </el-aside>
    </el-container>
    <el-container style="justify-content: center;">
      <el-button type="primary" @click="finishPatient">完成</el-button>
      <el-button type="primary" @click="nextPatient">下一位</el-button>
      <el-button type="primary" @click="finishNextPatient">叫号</el-button>
      <el-button type="primary" @click="passNextPatient">过号</el-button>
      <el-button v-if="state==='normal'" type="primary" @click="pause">暂停</el-button>
      <el-button v-else type="primary" @click="resume">恢复</el-button>
    </el-container>
  </el-container>
</template>