| | |
| | | bedNo: string // 诊疗床编号 |
| | | } |
| | | |
| | | export interface PatientVO { |
| | | roomId: number // 诊室编号 |
| | | bedNo: string // 诊疗床编号 |
| | | patId: string // 患者编号 |
| | | jumpFlag: number // 插队标记 |
| | | } |
| | | |
| | | export interface PatientStatisticVO { |
| | | finishedNum: number |
| | | readyNum: number |
| | |
| | | // 取患者统计 |
| | | 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 }) |
| | | } |
| | | |
| | | } |
| | |
| | | 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 // 诊疗床编号 |
| | |
| | | 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 }) |
| | |
| | | <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: { |
| | |
| | | */ |
| | | }) |
| | | |
| | | 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> |
| | |
| | | {{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> |
| | | |
| | |
| | | </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> |
| | |
| | | > |
| | | 删除 |
| | | </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> |
| | |
| | | } 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 { |