eight
2024-08-23 f6d5dc98286c7eb1e80092084b96be54ecd56dfe
update
已修改5个文件
73 ■■■■■ 文件已修改
src/api/ecg/doctor/index.ts 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/queue/index.ts 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/QueuePanel.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/queue/index.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/doctor/index.ts
@@ -5,6 +5,13 @@
  bedNo: string // 诊疗床编号
}
export interface PatientVO {
  roomId: number // 诊室编号
  bedNo: string // 诊疗床编号
  patId: string // 患者编号
  jumpFlag: number // 插队标记
}
export interface PatientStatisticVO {
  finishedNum: number
  readyNum: number
@@ -33,6 +40,16 @@
  // 取患者统计
  getPatientStatistic: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-patient-statistic`, params })
  },
  // 召回过号患者
  recallPatient: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/recall-patient`, params })
  },
  // 召回过号患者
  patientJump: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/patient-jump`, params })
  }
}
src/api/ecg/queue/index.ts
@@ -10,8 +10,9 @@
  bookCheckType: number // 预约检查类型
  seqNum: number // 排队序号
  status: number // 10:排队中 20:候诊准备 30:就诊中 40:就诊完成 50:过号 60:过期
  passed: boolean // 过号标记
  expired: boolean // 预约过期标记
  passed: number // 过号标记
  expired: number // 预约过期标记
  jumpFlag: number //插队标记
  roomId: number // 诊室编号
  roomName: string // 诊室名称
  bedNo: string // 诊疗床编号
@@ -44,6 +45,11 @@
    return await request.delete({ url: `/ecg/queue/delete?id=` + id })
  },
  // 插队排队
  jumpQueue: async (params: queueVO) => {
    return await request.get({ url: `/ecg/queue/patient-jump`, params })
  },
  // 导出排队 Excel
  exportqueue: async (params) => {
    return await request.download({ url: `/ecg/queue/export-excel`, params })
src/views/ecg/doctor/components/QueuePanel.vue
@@ -1,11 +1,14 @@
<script setup lang="ts">
import {defineComponent, PropType} from "vue";
import { queueApi, queueVO } from '@/api/ecg/queue'
import { queueVO } from '@/api/ecg/queue'
import {DICT_TYPE} from "@/utils/dict";
import {PatientVO, DoctorApi} from "@/api/ecg/doctor";
defineComponent({
  name: 'QueuePanel'
})
const message = useMessage() // 消息弹窗
const  props = defineProps({
  queue: {
@@ -20,6 +23,18 @@
*/
})
const recall = async (item) => {
  const patientVO: PatientVO = {
    roomId: item.roomId,
    bedNo: item.bedNo,
    patId: item.patId,
    jumpFlag: 0
  }
  const data = await DoctorApi.recallPatient(patientVO);
  message.info(data)
}
</script>
<template>
@@ -30,6 +45,7 @@
  {{item.bedNo}}
  <dict-tag :type="DICT_TYPE.ECG_CHECK_TYPE" :value="item.bookCheckType" />
  <dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="item.status" />
  <el-button v-if="item.status === 50" @click="recall(item)"> 召回 </el-button>
</div>
</template>
src/views/ecg/doctor/index.vue
@@ -66,8 +66,8 @@
      </el-aside>
    </el-container>
    <el-container style="justify-content: center;">
      <el-button type="primary" @click="finishNextPatient">完成下一位</el-button>
      <el-button type="primary" @click="passNextPatient">过号下一位</el-button>
      <el-button type="primary" @click="finishNextPatient">叫号</el-button>
      <el-button type="primary" @click="passNextPatient">过号</el-button>
    </el-container>
  </el-container>
</template>
src/views/ecg/queue/index.vue
@@ -186,6 +186,15 @@
          >
            删除
          </el-button>
          <el-button
            link
            type="danger"
            @click="handleJump(scope.row)"
            v-if="scope.row.status === 10"
            v-hasPermi="['ecg:queue:jump']"
          >
            {{scope.row.jumpFlag === 0? "插队" : "取消插队"}}
          </el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -280,6 +289,21 @@
  } catch {}
}
/** 插队按钮操作 */
const handleJump = async (item: queueVO ) => {
  try {
    if (item.jumpFlag === 0)
      item.jumpFlag = 1
    else
      item.jumpFlag = 0
    const data = await queueApi.jumpQueue(item)
    message.success(data)
    // 刷新列表
    await getList()
  } catch {}
}
/** 导出按钮操作 */
const handleExport = async () => {
  try {