From d79ce11fcd47db138764557d214f4ea2169fb90a Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 20 六月 2025 18:05:38 +0800 Subject: [PATCH] 维护 --- src/views/ecg/doctor/components/RoutinePanel.vue | 261 +++++++++++++++++++++++++++++----------------------- 1 files changed, 146 insertions(+), 115 deletions(-) diff --git a/src/views/ecg/doctor/components/RoutinePanel.vue b/src/views/ecg/doctor/components/RoutinePanel.vue index 2ce316f..908f54e 100644 --- a/src/views/ecg/doctor/components/RoutinePanel.vue +++ b/src/views/ecg/doctor/components/RoutinePanel.vue @@ -1,85 +1,122 @@ <!-- 甯歌妫�鏌� 鍖荤敓鐣岄潰--> <template> - <el-form - ref="formRef" - :model="formData" - :rules="formRules" - label-width="100px" - v-loading="formLoading" - > - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="鎮h�呯紪鍙�" prop="patId"> - <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" @input="getRentInfoByPatId" /> -<!-- <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />--> - <Barcode v-if="displayBarCode" :value="displayBarCode" :width=100 /> - <el-button @click="copyBarcode()">澶嶅埗</el-button> - </el-form-item> - <el-form-item label="鎮h�呭悕绉�" prop="patName"> - <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" /> - </el-form-item> - <el-form-item label="鎮h�呮弿杩�" prop="patDetails"> - <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 - v-model="formData.rentTime" - type="date" - value-format="x" - placeholder="閫夋嫨瑁呮満鏃堕棿" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="妫�鏌ラ」鐩�" prop=""> - {{formData?.checkType && getCheckTypeName(formData?.checkType)}} - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" /> - </el-form-item> - </el-col> - </el-row> - </el-form> - <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="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm" :disabled="formLoading">纭垂</el-button> - <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeCancel" :disabled="formLoading">鍙栨秷纭垂</el-button> + <el-form + ref="formRef" + :model="formData" + :rules="formRules" + label-width="100px" + v-loading="formLoading" + > + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="鎮h�呯紪鍙�" prop="patId"> + <el-input + v-model="formData.patId" + placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" + @input="getRentInfoByPatId" + /> + <!-- <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />--> + <Barcode v-if="displayBarCode" :value="displayBarCode" :width="100" /> + <el-button @click="copyBarcode()">澶嶅埗</el-button> + </el-form-item> + <el-form-item label="鎮h�呭悕绉�" prop="patName"> + <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" /> + </el-form-item> + <el-form-item label="鎮h�呮弿杩�" prop="patDetails"> + <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 + v-model="formData.rentTime" + type="date" + value-format="x" + placeholder="閫夋嫨瑁呮満鏃堕棿" + /> + </el-form-item> + + </el-col> + <el-col :span="12"> + <el-form-item label="妫�鏌ラ」鐩�" prop=""> + {{ formData?.checkType && getCheckTypeName(formData?.checkType) }} + </el-form-item> + <el-form-item label="澶囨敞" prop="remark"> + <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" /> + </el-form-item> + <el-form-item label="鏄惁澶氳��" prop="tolerance"> + <el-radio-group v-model="formData.tolerance" readonly> + <el-radio + v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)" + :key="dict.value" + :value="dict.value" + > + {{ dict.label }} + </el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </el-form> + <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="needAutoFeeConfirm(formData.checkType)" + @click="feeConfirm" + :disabled="formLoading" + >纭垂</el-button + > + <el-button + v-if="needAutoFeeConfirm(formData.checkType)" + @click="feeCancel" + :disabled="formLoading" + >鍙栨秷纭垂</el-button + > <!-- 鍖荤敓瑁呮満鍒楄〃 --> <ContentWrap> - <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @row-click="onRowClick" > -<!-- <el-table-column label="id" align="center" prop="id" />--> - <el-table-column label="妫�鏌ョ姸鎬�" align="center" prop="lost" > + <el-table + v-loading="loading" + :data="list" + :stripe="true" + :show-overflow-tooltip="true" + @row-click="onRowClick" + > + <!-- <el-table-column label="id" align="center" prop="id" />--> + <el-table-column label="妫�鏌ョ姸鎬�" align="center" prop="lost"> <template #default="scope"> <span v-if="scope.row.jobType === 60">宸叉鏌�</span> <span v-if="scope.row.jobType === 50">宸叉斁寮�</span> </template> </el-table-column> -<!-- <el-table-column label="浣滀笟绫诲瀷" align="center" prop="jobType" />--> -<!-- <el-table-column label="鍖荤敓缂栧彿" align="center" prop="docId" />--> + <!-- <el-table-column label="浣滀笟绫诲瀷" align="center" prop="jobType" />--> + <!-- <el-table-column label="鍖荤敓缂栧彿" align="center" prop="docId" />--> <el-table-column label="鍖荤敓鍚嶇О" align="center" prop="docName" /> -<!-- <el-table-column label="璁惧缂栧彿" align="center" prop="devId" />--> + <!-- <el-table-column label="璁惧缂栧彿" align="center" prop="devId" />--> <el-table-column label="鎮h�呯紪鍙�" align="center" prop="patId" /> <el-table-column label="鎮h�呭悕绉�" align="center" prop="patName" /> <el-table-column - label="浣滀笟鏃堕棿" - align="center" - prop="jobTime" - :formatter="dateFormatter" - width="180px" + label="浣滀笟鏃堕棿" + align="center" + prop="jobTime" + :formatter="dateFormatter" + width="180px" /> -<!-- <el-table-column label="浣滀笟姒傝" align="center" prop="summary" />--> + <!-- <el-table-column label="浣滀笟姒傝" align="center" prop="summary" />--> <el-table-column label="澶囨敞" align="center" prop="remark" /> <el-table-column - label="鍒涘缓鏃堕棿" - align="center" - prop="createTime" - :formatter="dateFormatter" - width="180px" + label="鍒涘缓鏃堕棿" + align="center" + prop="createTime" + :formatter="dateFormatter" + width="180px" /> -<!-- + <!-- <el-table-column label="鎿嶄綔" align="center" min-width="120px"> <template #default="scope"> <el-button @@ -104,32 +141,32 @@ </el-table> <!-- 鍒嗛〉 --> <Pagination - :total="total" - v-model:page="queryParams.pageNo" - v-model:limit="queryParams.pageSize" - @pagination="getList" + :total="total" + v-model:page="queryParams.pageNo" + v-model:limit="queryParams.pageSize" + @pagination="getList" /> </ContentWrap> - </template> <script setup lang="ts"> +import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' + import { DevRentApi, DevRentVO } from '@/api/ecg/devrent' -import {dateFormatter} from "@/utils/formatTime"; -import {JobRecordApi, JobRecordVO} from "@/api/ecg/jobrecord"; -import {isStringEmpty} from "@/utils/stringUtil"; -import {curDayEnd, curDayStart} from "@/utils/dateUtil"; -import {QueueVO} from "@/api/ecg/queue"; -import {RoomBedVO} from "@/api/ecg/doctor"; -import {Barcode} from "@/components/Barcode"; -import {useCheckTypeStore} from "@/store/modules/checkType"; -import {DICT_TYPE} from "@/utils/dict"; -import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter"; +import { dateFormatter } from '@/utils/formatTime' +import { JobRecordApi, JobRecordVO } from '@/api/ecg/jobrecord' +import { isStringEmpty } from '@/utils/stringUtil' +import { curDayEnd, curDayStart } from '@/utils/dateUtil' +import { QueueVO } from '@/api/ecg/queue' +import { RoomBedVO } from '@/api/ecg/doctor' +import { Barcode } from '@/components/Barcode' +import { useCheckTypeStore } from '@/store/modules/checkType' +import { getCheckTypeName, needAutoFeeConfirm } from '../../../../utils/checkTypeFormatter' /** 璁惧瑁呮満 琛ㄥ崟 */ defineComponent({ name: 'RoutinePanel' }) -const props = defineProps({ +const props = defineProps({ room: { type: Object as PropType<RoomBedVO>, required: true @@ -169,16 +206,16 @@ rentTime: new Date().getTime(), returnTime: undefined, remark: undefined, - paid: undefined, + paid: undefined }) const formRules = reactive({ // devId: [{ required: true, message: '璁惧缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }], - rentTime: [{ required: true, message: '璇烽�夋嫨瑁呮満鏃ユ湡', trigger: 'blur' }], + rentTime: [{ required: true, message: '璇烽�夋嫨瑁呮満鏃ユ湡', trigger: 'blur' }] }) const formRef = ref() // 琛ㄥ崟 Ref -const displayBarCode = ref<string> () +const displayBarCode = ref<string>() /** 鎻愪氦琛ㄥ崟 */ const submitForm = async () => { @@ -202,7 +239,7 @@ // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢 emit('event_routine') resetForm() - getList() // 鍖荤敓浣滀笟鍘嗗彶 + getList() // 鍖荤敓浣滀笟鍘嗗彶 } finally { formLoading.value = false } @@ -231,32 +268,32 @@ } const getRentInfoByPatId = () => { - const tempPatId = formData.value.patId; + const tempPatId = formData.value.patId resetForm() - if (isStringEmpty(tempPatId)) - return + if (isStringEmpty(tempPatId)) return - formData.value.patId = tempPatId; + formData.value.patId = tempPatId getFreeRentInfo(formData.value) copyBarcode() } const getFreeRentInfo = async (devRentVO) => { - if ((devRentVO.devId == null || devRentVO.devId === '') && (devRentVO.patId == null || devRentVO.patId === '') ) + if ( + (devRentVO.devId == null || devRentVO.devId === '') && + (devRentVO.patId == null || devRentVO.patId === '') + ) return const data = await DevRentApi.getFreeRent(devRentVO) - if (null === data) - return + if (null === data) return // formDate 瀵瑰簲 DevRent // formData.value = data //涓嶈兘鏁翠釜璧嬪�硷紝 榛樿棰嗙敤鏃堕棿琚竻绌� - formData.value.id = data.id; //rent id - formData.value.applyNo = data.applyNo; - formData.value.episodeId = data.episodeId; + formData.value.id = data.id //rent id + formData.value.applyNo = data.applyNo + formData.value.episodeId = data.episodeId formData.value.patDetails = data.patDetails } - const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑 const list = ref<JobRecordVO[]>([]) // 鍒楄〃鐨勬暟鎹� @@ -288,8 +325,7 @@ } const onRowClick = (cur) => { - if (cur !== null) - getSelectedRent( cur.rentId ) + if (cur !== null) getSelectedRent(cur.rentId) } const getSelectedRent = async (rentId) => { @@ -324,7 +360,6 @@ } catch (err) { // 妗嗘灦 浼氱粰鍑� 鍚庡彴鐨� 閿欒淇℃伅 } - } const feeCancel = async () => { @@ -341,40 +376,37 @@ } catch (err) { // 妗嗘灦 浼氱粰鍑� 鍚庡彴鐨� 閿欒淇℃伅 } - } const getDisplayBarcode = (): string => { - if (formData.value.checkType == null) - return "" + if (formData.value.checkType == null) return '' const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!) - if (formData.value.patDetails == null || formData.value.patDetails.source == null || - !displayBarcode.includes( formData.value.patDetails.source )) - return "" + 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 == null) - return "" + if (formData.value.checkType == null) return '' const patSource = formData.value.patDetails?.source - if (patSource == null) - return "" + if (patSource == null) return '' - if (1 === patSource || 2 === patSource) - return formData.value.applyNo??"" - else if (3 === patSource || 4 === patSource) - return formData.value.episodeId??"" + if (1 === patSource || 2 === patSource) return formData.value.applyNo ?? '' + else if (3 === patSource || 4 === patSource) return formData.value.episodeId ?? '' - return "" + return '' } const copyBarcode = async () => { displayBarCode.value = getDisplayBarcode() - await navigator.clipboard.writeText( getBarcode() ); + await navigator.clipboard.writeText(getBarcode()) } /** 鍒濆鍖� **/ @@ -382,5 +414,4 @@ resetForm() getList() }) - </script> -- Gitblit v1.9.3