| | |
| | | bookTimeslot: number // 预约时间段 |
| | | bookCheckType: number // 预约检查类型 |
| | | seqNum: number // 排队序号 |
| | | status: number // 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 50:过号 |
| | | status: number // 5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 |
| | | passed: number // 过号标记 |
| | | expired: number // 预约过期标记 |
| | | jumpFlag: number //插队标记 |
| | |
| | | import request from '@/config/axios' |
| | | |
| | | export const statusMap = new Map([ |
| | | [20, "准备中"], |
| | | [30, "就诊中"], |
| | | [50, "过号"] |
| | | ]); |
| | | |
| | | // 叫号 VO |
| | | export interface CallingVO { |
| | | patId: string // 患者编号 |
| | |
| | | bookDate: Date // 预约日期 |
| | | bookCheckType: number // 预约检查类型 |
| | | seqNum: number // 排队序号 |
| | | status: number // 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 50:过号 |
| | | status: number // 5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 |
| | | passed: number // 过号标记 |
| | | expired: number // 预约过期标记 |
| | | called: number |
| | |
| | | <script setup lang="ts"> |
| | | |
| | | import {ScreenApi, statusMap, CallingVO} from "@/api/ecg/screen"; |
| | | import {ScreenApi, CallingVO} from "@/api/ecg/screen"; |
| | | import {CallApi, CallVO} from "@/api/ecg/call"; |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | |
| | | defineOptions({ name: 'bigscreen' }) |
| | | |
| | |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" prop="status" width="80"> |
| | | <template #default="scope"> |
| | | {{ statusMap.get(scope.row.status) }} |
| | | <dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="scope.row.status" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | |
| | | import {RoomBedVO} from "@/api/ecg/doctor"; |
| | | import {RoomApi} from "@/api/ecg/room"; |
| | | import {CallingVO, statusMap, ScreenApi} from "@/api/ecg/screen"; |
| | | import {CallingVO, ScreenApi} from "@/api/ecg/screen"; |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | |
| | | defineOptions({ name: 'roomscreen' }) |
| | | |
| | |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" :prop="status" width="80"> |
| | | <template #default="scope"> |
| | | {{ statusMap.get(scope.row.status) }} |
| | | <dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="scope.row.status" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | {{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> |
| | | <el-button v-if="item.status === 5" @click="recall(item)"> 召回 </el-button> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | <el-form-item label="排队序号" prop="seqNum"> |
| | | <el-input v-model="formData.seqNum" placeholder="请输入排队序号" /> |
| | | </el-form-item> |
| | | <el-form-item label="10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 50:过号" prop="status"> |
| | | <el-form-item label="5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成" prop="status"> |
| | | <el-radio-group v-model="formData.status"> |
| | | <el-radio label="1">请选择字典生成</el-radio> |
| | | </el-radio-group> |
| | |
| | | patName: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }], |
| | | bookTimeslot: [{ required: true, message: '预约时间段不能为空', trigger: 'blur' }], |
| | | seqNum: [{ required: true, message: '排队序号不能为空', trigger: 'blur' }], |
| | | status: [{ required: true, message: '10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 50:过号', trigger: 'blur' }], |
| | | status: [{ required: true, message: '5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成 ', trigger: 'blur' }], |
| | | passed: [{ required: true, message: '过号标记不能为空', trigger: 'blur' }], |
| | | expired: [{ required: true, message: '预约过期标记不能为空', trigger: 'blur' }] |
| | | }) |
| | |
| | | link |
| | | type="danger" |
| | | @click="recall(scope.row)" |
| | | v-if="scope.row.status === 50" |
| | | v-if="scope.row.status === 5" |
| | | v-hasPermi="['ecg:queue:recall']" |
| | | > |
| | | 召回 |