| | |
| | | export interface AppointmentVO { |
| | | id: number, |
| | | applyNo: string // 预约申请编号 |
| | | episodeId: number //就诊流水号 |
| | | episodeId: string //就诊流水号 |
| | | patSrc: number |
| | | patId: string // 患者编号 |
| | | patName: string // 患者姓名 |
| | |
| | | bedNo: string // 诊疗床编号 |
| | | patId: string // 患者编号 |
| | | checkType: number // 检查类型 |
| | | jumpFlag: number // 插队标记 |
| | | roomId_operator: number |
| | | bedNo_operator: string |
| | | jumpFlag?: number // 插队标记 |
| | | roomId_operator: number | null |
| | | bedNo_operator: string | null |
| | | } |
| | | |
| | | export interface PatientStatisticVO { |
| | |
| | | export const getCheckTypeSeqPrefix = (checkType) => checkTypeStore.getCheckTypeSeqPrefix(checkType) |
| | | |
| | | |
| | | export const needAutoFeeConfirm = (checkType: number | null | undefined) => { |
| | | if (checkType == null) |
| | | return false |
| | | |
| | | return checkTypeStore.getExpenseRecognition(checkType) |
| | | } |
| | | |
| | |
| | | <script setup lang="ts"> |
| | | import {DICT_TYPE, getIntDictOptions} from '@/utils/dict' |
| | | import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import CheckItemPanel from "@/views/ecg/appointment/CheckItemPanel.vue"; |
| | | import {getCheckTypeName} from "@/utils/checkTypeFormatter"; |
| | | |
| | | /** 预约确认 表单 */ |
| | | defineOptions({ name: 'AppointmentConfirm' }) |
| | | |
| | | const checkTypeStore = useCheckTypeStore(); |
| | | |
| | | const queryParams = reactive({ |
| | | patId: '' |
| | |
| | | const formData = ref<AppointmentVO>({ |
| | | id: 0, |
| | | applyNo: "", |
| | | episodeId: "", |
| | | patSrc: 0, |
| | | patId: "", |
| | | patName: "", |
| | |
| | | patWardCode: "", |
| | | patWardDesc: "", |
| | | patBedNo: "", |
| | | bookId: "", |
| | | bookTime: new Date(), |
| | | bookDate: new Date(), |
| | | bookTimeslot: 9301030, |
| | | bookCheckType: getCheckTypeName(100), |
| | | paid: 0, |
| | | bookSeqNum: 0, |
| | | }) |
| | | const formRef = ref() // 表单 Ref |
| | | |
| | |
| | | formData.value = { |
| | | id: 0, |
| | | applyNo: "", |
| | | episodeId: "", |
| | | patSrc: 0, |
| | | patId: "", |
| | | patName: "", |
| | |
| | | patWardCode: "", |
| | | patWardDesc: "", |
| | | patBedNo: "", |
| | | bookId: "", |
| | | bookTime: new Date(), |
| | | bookDate: new Date(), |
| | | bookTimeslot: 9301030, |
| | | bookCheckType: getCheckTypeName(100), |
| | | paid: 0, |
| | | bookSeqNum: 0 |
| | | bookSeqNum: 0, |
| | | } |
| | | formRef.value?.resetFields() |
| | | } |
| | |
| | | import {DICT_TYPE, getIntDictOptions} from '@/utils/dict' |
| | | import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "@/utils/checkTypeFormatter"; |
| | | |
| | | /** 预约 表单 */ |
| | | defineOptions({ name: 'AppointmentForm' }) |
| | |
| | | |
| | | const searchBookInfo = async () => { |
| | | const tmpPatId = formData.value.patId |
| | | if (null === tmpPatId || "" === tmpPatId) |
| | | if (null == tmpPatId || "" === tmpPatId) |
| | | return |
| | | |
| | | const data = await AppointmentApi.queryAppointmentFromHis( tmpPatId ) // 对应数据库中 pat_id |
| | |
| | | import { cloneDeep } from 'lodash-es' |
| | | import {hiprint} from "vue-plugin-hiprint"; |
| | | import {calGender, getBookBeginTime} from "@/utils"; |
| | | import {getCheckTypeName} from "@/utils/checkTypeFormatter"; |
| | | |
| | | defineComponent({ |
| | | name: 'CheckItemPanel' |
| | |
| | | import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment' |
| | | import AppointmentForm from './AppointmentForm.vue' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 预约 列表 */ |
| | | defineOptions({ name: 'Appointment' }) |
| | |
| | | <script setup lang="ts"> |
| | | |
| | | import {RoomBedVO, RoomProfileVO} from "@/api/ecg/doctor"; |
| | | import {RoomProfileVO} from "@/api/ecg/doctor"; |
| | | import {RoomApi} from "@/api/ecg/room"; |
| | | import {ScreenQueueVO, ScreenApi} from "@/api/ecg/screen"; |
| | | import {CallApi, CallVO} from "@/api/ecg/call"; |
| | | import {queueStatusConvert} from "../../../utils/statusFormatter"; |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeSeqPrefix} from "../../../utils/checkTypeFormatter"; |
| | | import {getCheckTypeName, getCheckTypeSeqPrefix} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | defineOptions({ name: 'roomscreen' }) |
| | | let roomId = ref<number>(0) |
| | | |
| | | const checkTypeStore = useCheckTypeStore() |
| | | |
| | | const checkRelatedPatientList = ref<ScreenQueueVO[]>([]) |
| | | const installRelatedPatientList = ref<ScreenQueueVO[]>([]) |
| | |
| | | return; |
| | | |
| | | curSpeakPat = await CallApi.getNextInstallCall() |
| | | if (curSpeakPat !== null) { |
| | | if (curSpeakPat == null) |
| | | return; |
| | | |
| | | speak("请、" + curSpeakPat.patName + "到" + curSpeakPat.roomName + "装机"); |
| | | } |
| | | } |
| | | |
| | | const speak = (msg) => { |
| | |
| | | import { CheckTypeApi, CheckTypeVO } from '@/api/ecg/checktype' |
| | | import CheckTypeForm from './CheckTypeForm.vue' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 检查类型 列表 */ |
| | | defineOptions({ name: 'CheckType' }) |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import {getStrDictOptions, DICT_TYPE, DictDataType} from '@/utils/dict' |
| | | import {dateFormatter, dateFormatter2} from '@/utils/formatTime' |
| | | import download from '@/utils/download' |
| | | import {DeviceApi, DeviceStatisticVO, DeviceVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage' |
| | | import DeviceForm from './DeviceForm.vue' |
| | | import {DeviceApi, DeviceStatisticVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage' |
| | | |
| | | /** 设备 列表 */ |
| | | defineOptions({ name: 'DeviceStatistic' }) |
| | | |
| | | const message = useMessage() // 消息弹窗 |
| | | const { t } = useI18n() // 国际化 |
| | | |
| | | const loading = ref(true) // 列表的加载中 |
| | | const list = ref<DeviceStatisticVO[]>([]) // 列表的数据 |
| | |
| | | pageSize: 10, |
| | | purchaseDate: [], |
| | | createTime: [], |
| | | devId: undefined, |
| | | category: undefined, |
| | | brand: undefined, |
| | | model: undefined |
| | | devId: '', |
| | | category: '', |
| | | brand: '', |
| | | model: '' |
| | | }) |
| | | const queryFormRef = ref() // 搜索的表单 |
| | | const exportLoading = ref(false) // 导出的加载中 |
| | |
| | | |
| | | /** 添加/修改操作 */ |
| | | const formRef = ref() |
| | | const openForm = (type: string, id?: number) => { |
| | | formRef.value.open(type, id) |
| | | } |
| | | |
| | | /** 删除按钮操作 */ |
| | | const handleDelete = async (id: number) => { |
| | | try { |
| | | // 删除的二次确认 |
| | | await message.delConfirm() |
| | | // 发起删除 |
| | | await DeviceApi.deleteDevice(id) |
| | | message.success(t('common.delSuccess')) |
| | | // 刷新列表 |
| | | await getList() |
| | | } catch {} |
| | | } |
| | | |
| | | /** 导出按钮操作 */ |
| | | const handleExport = async () => { |
| | |
| | | devCodeHosp: undefined, |
| | | devCodeDept: undefined, |
| | | state: [], |
| | | category: undefined, |
| | | brand: undefined, |
| | | model: undefined |
| | | category: '', |
| | | brand: '', |
| | | model: '', |
| | | }) |
| | | const queryFormRef = ref() // 搜索的表单 |
| | | const exportLoading = ref(false) // 导出的加载中 |
| | |
| | | <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> |
| | | <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="openForm('create')" |
| | | v-hasPermi="['ecg:dev-rent:create']" |
| | | > |
| | | <Icon icon="ep:plus" class="mr-5px" /> 新增 |
| | | </el-button> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | @click="handleExport" |
| | |
| | | width="180px" |
| | | /> |
| | | --> |
| | | <!-- |
| | | <el-table-column label="操作" align="center" min-width="120px"> |
| | | <template #default="scope"> |
| | | <el-button |
| | |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | --> |
| | | </el-table> |
| | | <!-- 分页 --> |
| | | <Pagination |
| | |
| | | import { DevRentApi, DevRentVO } from '@/api/ecg/devrent' |
| | | import DevRentForm from './DevRentForm.vue' |
| | | import {tranlateCheckState} from "../../../utils/statusFormatter"; |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 装机拆机 列表 */ |
| | | defineOptions({ name: 'DevRent' }) |
| | | |
| | | const message = useMessage() // 消息弹窗 |
| | | const { t } = useI18n() // 国际化 |
| | | |
| | | const checkTypeStore = useCheckTypeStore() |
| | | |
| | | const loading = ref(true) // 列表的加载中 |
| | | const list = ref<DevRentVO[]>([]) // 列表的数据 |
| | |
| | | <el-input v-model="formData.patName" placeholder="请输入患者名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="患者描述" prop="patDeptDesc"> |
| | | 科室: {{formData.patDetails?.deptDesc}} 病区: {{formData.patDetails?.wardDesc}} 床位: {{formData.patDetails?.bedNo}} |
| | | 科室: {{formData?.patDetails?.deptDesc}} 病区: {{formData?.patDetails?.wardDesc}} 床位: {{formData?.patDetails?.bedNo}} |
| | | </el-form-item> |
| | | <el-form-item label="录入时间" prop="entryTime"> |
| | | <el-date-picker |
| | |
| | | <el-input v-model="formData.devId" placeholder="请输入设备编号" @input="getRentInfoByDevId" /> |
| | | </el-form-item> |
| | | <el-form-item label="设备描述" prop=""> |
| | | {{formData.brand + " " + formData.model}} |
| | | {{formData?.brand + " " + formData?.model}} |
| | | </el-form-item> |
| | | <el-form-item label="装拆机时间" prop="returnTime"> |
| | | <el-date-picker |
| | |
| | | <el-input v-model="formData.patName" placeholder="请输入患者名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="患者描述" prop="patDeptDesc"> |
| | | 科室: {{formData.patDetails?.deptDesc}} 病区: {{formData.patDetails?.wardDesc}} 床位: {{formData.patDetails?.bedNo}} |
| | | 科室: {{formData?.patDetails?.deptDesc}} 病区: {{formData?.patDetails?.wardDesc}} 床位: {{formData?.patDetails?.bedNo}} |
| | | </el-form-item> |
| | | <el-form-item label="装机时间" prop="rentTime"> |
| | | <el-date-picker |
| | |
| | | <el-input v-model="formData.devId" placeholder="请输入设备编号" @input="getRentInfoByDevId" /> |
| | | </el-form-item> |
| | | <el-form-item label="设备描述" prop=""> |
| | | {{formData.brand + " " + formData.model + " " + tranlateDevState(formData.devState)}} |
| | | {{formData?.brand + " " + formData?.model + " " + tranlateDevState(formData?.devState)}} |
| | | </el-form-item> |
| | | <el-form-item label="拆机时间" prop="returnTime"> |
| | | <el-date-picker |
| | |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | import {tranlateDevState} from "../../../../utils/statusFormatter"; |
| | | import {getCheckTypeName} from "../../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 设备装机 表单 */ |
| | | defineComponent({ name: 'DevInstallPanel' }) |
| | |
| | | import {calGender, getBookBeginTime} from "@/utils"; |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | import {tranlateDevState} from "@/utils/statusFormatter"; |
| | | import {getCheckTypeName} from "../../../../utils/checkTypeFormatter"; |
| | | import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 设备领用 表单 */ |
| | | defineComponent({ name: 'DevReadyPanel' }) |
| | |
| | | }) |
| | | |
| | | const displayBarCode = ref<string> () |
| | | |
| | | const needAutoFeeConfirm = (checkType: number | null | undefined) => { |
| | | if (checkType == null) |
| | | return false |
| | | |
| | | return checkTypeStore.getExpenseRecognition(checkType) |
| | | } |
| | | |
| | | const getRentInfoByPatId = () => { |
| | | const tempPatId = formData.value.patId; |
| | |
| | | } |
| | | |
| | | const getDisplayBarcode = (): string => { |
| | | if (!formData.value.checkType) |
| | | if (formData.value.checkType == null) |
| | | return "" |
| | | |
| | | const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!) |
| | |
| | | } |
| | | |
| | | const getBarcode = (): string => { |
| | | if (!formData.value.checkType) |
| | | if (formData.value.checkType == null) |
| | | return "" |
| | | |
| | | const patSource = formData.value.patDetails?.source |
| | |
| | | import { QueueVO } from '@/api/ecg/queue' |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | import {PatientVO, DoctorApi, RoomBedVO} from "@/api/ecg/doctor"; |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName, getCheckTypeSeqPrefix} from "../../../../utils/checkTypeFormatter"; |
| | | |
| | | defineComponent({ |
| | |
| | | }) |
| | | |
| | | const emit = defineEmits(['event_RecallFinish']) // 定义 success 事件,用于操作成功后的回调 |
| | | |
| | | const checkTypeStore = useCheckTypeStore(); |
| | | |
| | | const message = useMessage() // 消息弹窗 |
| | | |
| | |
| | | <el-input v-model="formData.patName" placeholder="请输入患者名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="患者描述" prop="patDetails"> |
| | | <dict-tag v-if="formData.patSrc" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" /> |
| | | {{formData.patDetails?.deptDesc}} {{formData.patDetails?.wardDesc}} {{formData.patDetails?.bedNo}} |
| | | <dict-tag v-if="formData.patDetails?.source" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patDetails?.source" /> |
| | | {{formData?.patDetails?.deptDesc}} {{formData?.patDetails?.wardDesc}} {{formData?.patDetails?.bedNo}} |
| | | </el-form-item> |
| | | <el-form-item label="检查时间" prop="rentTime"> |
| | | <el-date-picker |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检查项目" prop=""> |
| | | {{formData.checkType && getCheckTypeName(formData.checkType)}} |
| | | {{formData?.checkType && getCheckTypeName(formData?.checkType)}} |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="formData.remark" placeholder="请输入备注" /> |
| | |
| | | <el-button @click="submitForm" type="primary" :disabled="formLoading">检查完成</el-button> |
| | | <el-button @click="cancelInstall" :disabled="formLoading">放弃检查</el-button> |
| | | <el-button @click="resetForm()">重 置</el-button> |
| | | <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeConfirm" :disabled="formLoading">确费</el-button> |
| | | <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeCancel" :disabled="formLoading">取消确费</el-button> |
| | | <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm" :disabled="formLoading">确费</el-button> |
| | | <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeCancel" :disabled="formLoading">取消确费</el-button> |
| | | |
| | | <!-- 医生装机列表 --> |
| | | <ContentWrap> |
| | |
| | | :formatter="dateFormatter" |
| | | width="180px" |
| | | /> |
| | | <!-- |
| | | <el-table-column label="操作" align="center" min-width="120px"> |
| | | <template #default="scope"> |
| | | <el-button |
| | |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | --> |
| | | </el-table> |
| | | <!-- 分页 --> |
| | | <Pagination |
| | |
| | | import {Barcode} from "@/components/Barcode"; |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {DICT_TYPE} from "@/utils/dict"; |
| | | import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 设备装机 表单 */ |
| | | defineComponent({ name: 'RoutinePanel' }) |
| | |
| | | formData.value.patId = queueVO?.patId |
| | | formData.value.patName = queueVO?.patName |
| | | formData.value.checkType = queueVO?.bookCheckType |
| | | formData.value.patSrc = queueVO?.patDetails.source |
| | | getFreeRentInfo(formData.value) |
| | | copyBarcode() |
| | | } |
| | |
| | | |
| | | const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
| | | |
| | | const formData = ref({ |
| | | const formData = ref<Partial<DevRentVO>>({ |
| | | id: undefined, |
| | | devId: undefined, |
| | | patId: undefined, |
| | |
| | | checkType: undefined, |
| | | rentTime: new Date().getTime(), |
| | | returnTime: undefined, |
| | | interference: undefined, |
| | | baseline: undefined, |
| | | detachment: undefined, |
| | | remark: undefined, |
| | | paid: undefined, |
| | | roomId: props.room.roomId, |
| | | bedNo: props.room.bedNo |
| | | }) |
| | | |
| | | const formRules = reactive({ |
| | |
| | | formData.value.bedNo = props.room.bedNo |
| | | const data = formData.value as unknown as DevRentVO |
| | | await DevRentApi.routineFinish(data) |
| | | |
| | | // 自动确费 |
| | | if (needAutoFeeConfirm(formData.value.checkType)) { |
| | | feeConfirm() |
| | | } |
| | | |
| | | message.success(t('操作成功')) |
| | | dialogVisible.value = false |
| | | // 发送操作成功的事件 |
| | |
| | | } |
| | | |
| | | const feeConfirm = async () => { |
| | | if (formData.value.id == null) { |
| | | message.error(t('请先检查')) |
| | | return |
| | | } |
| | | |
| | | const result = await DevRentApi.feeConfirm(formData.value.id) |
| | | if (0 == result) |
| | | message.success(t('操作成功')) |
| | | } |
| | | |
| | | const feeCancel = async () => { |
| | | if (formData.value.id == null) { |
| | | message.error(t('请先检查')) |
| | | return |
| | | } |
| | | |
| | | const result = await DevRentApi.feeCancel(formData.value.id) |
| | | if (0 == result) |
| | | message.success(t('操作成功')) |
| | | } |
| | | |
| | | const getDisplayBarcode = (): string => { |
| | | if (!formData.value.checkType) |
| | | if (formData.value.checkType == null) |
| | | return "" |
| | | |
| | | const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!) |
| | | if (!displayBarcode.includes( formData.value.patSrc )) |
| | | if (formData.value.patDetails == null || formData.value.patDetails.source == null || |
| | | !displayBarcode.includes( formData.value.patDetails.source )) |
| | | return "" |
| | | |
| | | return getBarcode() |
| | | } |
| | | |
| | | const getBarcode = (): string => { |
| | | if (!formData.value.checkType) |
| | | if (formData.value.checkType == null) |
| | | return "" |
| | | |
| | | if (1 === formData.value.patSrc || 2 === formData.value.patSrc) |
| | | const patSource = formData.value.patDetails?.source |
| | | if (patSource == null) |
| | | return "" |
| | | |
| | | if (1 === patSource || 2 === patSource) |
| | | return formData.value.applyNo??"" |
| | | else if (3 === formData.value.patSrc || 4 === formData.value.patSrc) |
| | | else if (3 === patSource || 4 === patSource) |
| | | return formData.value.episodeId??"" |
| | | |
| | | return "" |
| | |
| | | import {defineComponent, PropType} from "vue"; |
| | | import {PatientStatisticVO, RoomBedVO} from "@/api/ecg/doctor"; |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../../utils/checkTypeFormatter"; |
| | | |
| | | defineComponent({ |
| | | name: 'TitlePanel' |
| | |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import AppointmentForm from "@/views/ecg/appointment/AppointmentForm.vue"; |
| | | import {genderFormat} from "@/utils/stringUtil"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 排队 列表 */ |
| | | defineOptions({ name: 'queue' }) |
| | |
| | | </div> |
| | | </el-main> |
| | | <el-aside width="250px"> |
| | | <div>开诊时间:{{ openingPeriod }} {{ monitorInfo.openingFlag }} </div> |
| | | <div>工位概况: {{monitorInfo.openingBedNum}} {{monitorInfo.docBedNum}} {{monitorInfo.routingBedNum}} </div> |
| | | <div>开诊时间:{{ openingPeriod }} {{ monitorInfo?.openingFlag }} </div> |
| | | <div>工位概况: {{monitorInfo?.openingBedNum}} {{monitorInfo?.docBedNum}} {{monitorInfo?.routingBedNum}} </div> |
| | | <div v-for="(value, key) in monitorInfo.checkTypeBedInfo" :key="key"> |
| | | {{ getCheckTypeName(Number(key)) }} {{ value }} |
| | | </div> |
| | |
| | | import { QueueApi } from '@/api/ecg/queue' |
| | | import { getConfigKey } from '@/api/infra/config' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | defineOptions({ name: 'RoomSetting' }) |
| | | |
| | |
| | | import { RoomApi, RoomVO } from '@/api/ecg/room' |
| | | import RoomForm from './RoomForm.vue' |
| | | import {useCheckTypeStore} from "@/store/modules/checkType"; |
| | | import {getCheckTypeName} from "../../../utils/checkTypeFormatter"; |
| | | |
| | | /** 诊室和诊疗床 列表 */ |
| | | defineOptions({ name: 'Room' }) |