From ebee36ca9a39b59d98da3613804791faa8dd2da6 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期六, 22 十一月 2025 16:20:52 +0800
Subject: [PATCH] 打印完善
---
src/views/ecg/appointment/AppointmentConfirm.vue | 193 ++++++++++++++++++++++++++++--------------------
1 files changed, 112 insertions(+), 81 deletions(-)
diff --git a/src/views/ecg/appointment/AppointmentConfirm.vue b/src/views/ecg/appointment/AppointmentConfirm.vue
index 791bda5..4066432 100644
--- a/src/views/ecg/appointment/AppointmentConfirm.vue
+++ b/src/views/ecg/appointment/AppointmentConfirm.vue
@@ -1,71 +1,93 @@
<template>
- <div style="display: flex; justify-content: center; ">
- <el-form-item label="鎮h�呯紪鍙�" >
- <el-input v-model="queryParams.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable @input="searchBookInfo" />
+ <div style="display: flex; justify-content: center">
+ <el-form-item label="鎮h�呯紪鍙�">
+ <el-input
+ v-model="queryParams.patId"
+ placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�"
+ clearable
+ @input="searchBookInfo"
+ />
</el-form-item>
+ </div>
+ <div style="color: #ff0000; text-align: center; font-size: 12px; margin-top: 4px">
+ <i class="el-icon-warning" style="margin-right: 4px"></i>
+ 鏀寔韬唤璇佸彿锛岀敵璇峰崟鍙凤紝灏辫瘖娴佹按鍙凤紝浣忛櫌鍙�
</div>
<div style="display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 20px">
- <div v-for="_appointment in appointmentVOList" :key="_appointment.applyNo">
- <CheckItemPanel :appointment="_appointment" />
+ <div v-for="(_appointment, index) in appointmentVOList" :key="index">
+ <CheckItemPanel :appointment="_appointment" @event_appoint_confirm="onEventAppointConfirm" />
</div>
</div>
- <el-divider/>
+ <el-divider />
- <el-form
- ref="formRef"
- :model="formData"
- label-width="100px"
- class="two-column-form"
- >
+ <el-form ref="formRef" :model="formData" label-width="100px" class="two-column-form">
<div class="form-row">
<el-form-item label="鎮h�呭鍚�" prop="patName">
<el-input v-model="formData.patName" placeholder="鎮h�呭鍚�" readonly />
</el-form-item>
- <el-form-item label="鎮h�呮�у埆" prop="patGender">
- <el-radio-group v-model="formData.patGender" readonly>
- <el-radio
- v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
- :key="dict.value"
- :value="dict.value">
- {{ dict.label }}
- </el-radio>
- </el-radio-group>
- </el-form-item>
+
<el-form-item label="鎮h�呯敓鏃�" prop="patBirthday">
<el-date-picker
- v-model="formData.patBirthday"
- type="date"
- value-format="x"
- placeholder="閫夋嫨鎮h�呯敓鏃�"
- readonly
+ v-model="formData.patBirthday"
+ type="date"
+ value-format="x"
+ placeholder="閫夋嫨鎮h�呯敓鏃�"
+ readonly
/>
</el-form-item>
</div>
<div class="form-row">
- <el-form-item label="鎮h�呮墜鏈�" prop="patMobile" >
+ <el-form-item label="鎮h�呮�у埆" prop="patGender">
+ <el-radio-group v-model="formData.patGender" readonly>
+ <el-radio
+ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
+ :key="dict.value"
+ :value="dict.value"
+ >
+ {{ dict.label }}
+ </el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item label="鏄惁澶氳��" prop="tolerance">
+ <el-tag type="info" v-if="formData.tolerance == 0">鍚�</el-tag>
+ <el-tag type="danger" v-else>鏄�</el-tag>
+ <!-- <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>
+ </div>
+ <div class="form-row">
+ <el-form-item label="鎮h�呮墜鏈�" prop="patMobile">
<el-input v-model="formData.patMobile" placeholder="璇疯緭鍏ユ偅鑰呮墜鏈�" readonly />
</el-form-item>
-<!--
+ <!--
<el-form-item label="鎮h�呯數璇�" prop="patPhone" readonly>
<el-input v-model="formData.patPhone" placeholder="璇疯緭鍏ユ偅鑰呯數璇�" />
</el-form-item>
-->
- <el-form-item label="韬唤璇佸彿" prop="patIdentityId" >
+ <el-form-item label="韬唤璇佸彿" prop="patIdentityId">
<el-input v-model="formData.patIdentityId" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" readonly />
</el-form-item>
</div>
<div class="form-row">
-<!--
+ <!--
<el-form-item label="鐥呭尯浠g爜" prop="patWardCode" readonly>
<el-input v-model="formData.patWardCode" placeholder="璇疯緭鍏ョ梾鍖轰唬鐮�" />
</el-form-item>
-->
- <el-form-item label="鐥呭尯鍚嶇О" prop="patWardDesc" >
+ <el-form-item label="鐥呭尯鍚嶇О" prop="patWardDesc">
<el-input v-model="formData.patWardDesc" placeholder="璇疯緭鍏ョ梾鍖哄悕绉�" readonly />
</el-form-item>
- <el-form-item label="搴婂彿" prop="patBedNo" >
+ <el-form-item label="搴婂彿" prop="patBedNo">
<el-input v-model="formData.patBedNo" placeholder="璇疯緭鍏ュ簥鍙�" readonly />
</el-form-item>
</div>
@@ -75,117 +97,127 @@
<el-input v-model="formData.patDeptCode" placeholder="璇疯緭鍏ョ瀹や唬鐮�" />
</el-form-item>
-->
- <el-form-item label="绉戝鍚嶇О" prop="patDeptDesc" >
- <el-input v-model="formData.patDeptDesc" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" readonly/>
+ <el-form-item label="绉戝鍚嶇О" prop="patDeptDesc">
+ <el-input v-model="formData.patDeptDesc" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" readonly />
</el-form-item>
<el-form-item label="鎮h�呭湴鍧�" prop="patAddr">
- <el-input v-model="formData.patAddr" placeholder="璇疯緭鍏ユ偅鑰呭湴鍧�" readonly/>
+ <el-input v-model="formData.patAddr" placeholder="璇疯緭鍏ユ偅鑰呭湴鍧�" readonly />
</el-form-item>
</div>
</el-form>
</template>
<script setup lang="ts">
-import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
+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 CheckItemPanel from '@/views/ecg/appointment/CheckItemPanel.vue'
+import { getCheckTypeName } from '@/utils/checkTypeFormatter'
/** 棰勭害纭 琛ㄥ崟 */
defineOptions({ name: 'AppointmentConfirm' })
-const checkTypeStore = useCheckTypeStore();
-
const queryParams = reactive({
- patId: ''
+ patId: ''
})
const appointmentVOList = ref<AppointmentVO[]>([])
const formData = ref<AppointmentVO>({
id: 0,
- applyNo: "",
+ applyNo: '',
+ episodeId: '',
patSrc: 0,
- patId: "",
- patName: "",
+ patId: '',
+ patName: '',
+ tolerance: 0,
patGender: 1, // 1 鐢� 2 濂�
patBirthday: new Date(),
- patMobile: "",
- patPhone: "",
- patIdentityId: "",
- patAddr: "",
- patDeptCode: "",
- patDeptDesc: "",
- patWardCode: "",
- patWardDesc: "",
- patBedNo: "",
- bookId: "",
+ patMobile: '',
+ patPhone: '',
+ patIdentityId: '',
+ patAddr: '',
+ patDeptCode: '',
+ patDeptDesc: '',
+ patWardCode: '',
+ patWardDesc: '',
+ patBedNo: '',
bookTime: new Date(),
bookDate: new Date(),
bookTimeslot: 9301030,
- bookCheckType: checkTypeStore.getCheckTypeName(100),
+ bookCheckType: getCheckTypeName(100),
paid: 0,
+ bookSeqNum: 0
})
const formRef = ref() // 琛ㄥ崟 Ref
const searchBookInfo = async () => {
resetForm()
- if (null === queryParams.patId || "" === queryParams.patId)
- return
+ if (null === queryParams.patId || '' === queryParams.patId.trim()) return
- const data = await AppointmentApi.queryAndCreateAppointmentByPatId(queryParams.patId) // 瀵瑰簲鏁版嵁搴撲腑 pat_id
- console.info( data )
- appointmentVOList.value = data
+ const _patId = queryParams.patId.trim()
+ console.warn('===' + _patId + '===')
+
+ const data = await AppointmentApi.queryAndCreateAppointmentByPatId(_patId) // 瀵瑰簲鏁版嵁搴撲腑 pat_id
+ console.info(data)
if (null !== data && data.length > 0) {
formData.value = data[0]
- console.info( formData.value )
+ appointmentVOList.value = data
+ console.info(formData.value)
return
}
ElNotification({
title: '娓╅Θ鎻愮ず',
- message: "璇峰厛棰勭害",
+ message: '璇峰厛棰勭害',
type: 'warning'
})
}
/** 閲嶇疆琛ㄥ崟 */
const resetForm = () => {
- appointmentVOList.value.length=0;
+ appointmentVOList.value.length = 0
formData.value = {
id: 0,
- applyNo: "",
+ applyNo: '',
+ episodeId: '',
patSrc: 0,
- patId: "",
- patName: "",
+ patId: '',
+ patName: '',
+ tolerance: 0,
patGender: 1, // 1 鐢� 2 濂�
patBirthday: new Date(),
- patMobile: "",
- patPhone: "",
- patIdentityId: "",
- patAddr: "",
- patDeptCode: "",
- patDeptDesc: "",
- patWardCode: "",
- patWardDesc: "",
- patBedNo: "",
- bookId: "",
+ patMobile: '',
+ patPhone: '',
+ patIdentityId: '',
+ patAddr: '',
+ patDeptCode: '',
+ patDeptDesc: '',
+ patWardCode: '',
+ patWardDesc: '',
+ patBedNo: '',
bookTime: new Date(),
bookDate: new Date(),
bookTimeslot: 9301030,
- bookCheckType: checkTypeStore.getCheckTypeName(100),
+ bookCheckType: getCheckTypeName(100),
paid: 0,
bookSeqNum: 0
}
formRef.value?.resetFields()
}
+const onEventAppointConfirm = () => {
+ /*
+ if (null !== appointmentVOList.value && appointmentVOList.value.length === 1) {
+ queryParams.patId = ""
+ }
+*/
+ queryParams.patId = ''
+}
+
/** 鍒濆鍖� **/
onMounted(() => {
resetForm()
})
-
-
</script>
<style lang="scss" scoped>
@@ -202,5 +234,4 @@
.el-form-item {
margin-bottom: 5px;
}
-
</style>
--
Gitblit v1.9.3