From 6f1b2cf3dc89059104ca0eedebf5f3ec4d1147f0 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 26 十一月 2025 11:08:17 +0800
Subject: [PATCH] 打印
---
src/views/ecg/appointment/AppointmentConfirm.vue | 330 +++++++++++++++++++++++++++---------------------------
1 files changed, 165 insertions(+), 165 deletions(-)
diff --git a/src/views/ecg/appointment/AppointmentConfirm.vue b/src/views/ecg/appointment/AppointmentConfirm.vue
index c456482..4066432 100644
--- a/src/views/ecg/appointment/AppointmentConfirm.vue
+++ b/src/views/ecg/appointment/AppointmentConfirm.vue
@@ -1,227 +1,223 @@
<template>
- <el-form-item label="鎮h�呯紪鍙�">
- <el-input v-model="queryParams.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable @input="searchBookInfo"/>
- </el-form-item>
+ <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>
- <el-button @click="message.alert('p')"><Icon icon="ep:refresh" class="mr-5px" /> 鎺掗槦 </el-button>
+ <div style="display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 20px">
+ <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"
- v-loading="formLoading"
- 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="璇疯緭鍏ユ偅鑰呭鍚�" />
+ <el-input v-model="formData.patName" placeholder="鎮h�呭鍚�" readonly />
</el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="鎮h�呮�у埆" prop="patGender">
- <el-radio-group v-model="formData.patGender">
- <el-radio
- v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
- :key="dict.value"
- :label="dict.value"
- >
- {{ dict.label }}
- </el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="棰勭害鏃ユ湡" prop="bookDate">
- <el-date-picker
- v-model="formData.bookDate"
- type="date"
- value-format="x"
- placeholder="閫夋嫨棰勭害鏃ユ湡"
- />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="棰勭害鏃堕棿娈�" prop="bookTimeslot">
- <el-select v-model="formData.bookTimeslot" placeholder="璇烽�夋嫨棰勭害鏃堕棿娈�">
- <el-option
- v-for="dict in getIntDictOptions(DICT_TYPE.ECG_BOOK_TIMESLOT)"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="棰勭害妫�鏌ョ被鍨�" prop="bookCheckType">
- <el-select v-model="formData.bookCheckType" placeholder="璇烽�夋嫨棰勭害妫�鏌ョ被鍨�">
- <el-option
- v-for="dict in getIntDictOptions(DICT_TYPE.ECG_CHECK_TYPE)"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- </div>
- <div class="form-row">
+
<el-form-item label="鎮h�呯敓鏃�" prop="patBirthday">
<el-date-picker
v-model="formData.patBirthday"
type="date"
value-format="x"
placeholder="閫夋嫨鎮h�呯敓鏃�"
+ readonly
/>
</el-form-item>
- <el-form-item label="鎮h�呮墜鏈�" prop="patMobile">
- <el-input v-model="formData.patMobile" placeholder="璇疯緭鍏ユ偅鑰呮墜鏈�" />
+ </div>
+ <div class="form-row">
+ <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="patPhone">
+ <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-input v-model="formData.patIdentityId" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" />
+ <el-input v-model="formData.patIdentityId" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" readonly />
</el-form-item>
</div>
<div class="form-row">
- <el-form-item label="鎮h�呭湴鍧�" prop="patAddr">
- <el-input v-model="formData.patAddr" placeholder="璇疯緭鍏ユ偅鑰呭湴鍧�" />
+ <!--
+ <el-form-item label="鐥呭尯浠g爜" prop="patWardCode" readonly>
+ <el-input v-model="formData.patWardCode" placeholder="璇疯緭鍏ョ梾鍖轰唬鐮�" />
</el-form-item>
- <el-form-item label="鎮h�呮墍鍦ㄧ瀹や唬鐮�" prop="patDeptCode">
- <el-input v-model="formData.patDeptCode" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ瀹や唬鐮�" />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="鎮h�呮墍鍦ㄧ瀹ゅ悕绉�" prop="patDeptDesc">
- <el-input v-model="formData.patDeptDesc" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ瀹ゅ悕绉�" />
- </el-form-item>
- <el-form-item label="鎮h�呮墍鍦ㄧ梾鍖轰唬鐮�" prop="patWardCode">
- <el-input v-model="formData.patWardCode" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ梾鍖轰唬鐮�" />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="鎮h�呮墍鍦ㄧ梾鍖哄悕绉�" prop="patWardDesc">
- <el-input v-model="formData.patWardDesc" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ梾鍖哄悕绉�" />
+-->
+ <el-form-item label="鐥呭尯鍚嶇О" prop="patWardDesc">
+ <el-input v-model="formData.patWardDesc" placeholder="璇疯緭鍏ョ梾鍖哄悕绉�" readonly />
</el-form-item>
<el-form-item label="搴婂彿" prop="patBedNo">
- <el-input v-model="formData.patBedNo" placeholder="璇疯緭鍏ュ簥鍙�" />
+ <el-input v-model="formData.patBedNo" placeholder="璇疯緭鍏ュ簥鍙�" readonly />
+ </el-form-item>
+ </div>
+ <div class="form-row">
+ <!--
+ <el-form-item label="绉戝浠g爜" prop="patDeptCode" readonly>
+ <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>
+ <el-form-item label="鎮h�呭湴鍧�" prop="patAddr">
+ <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 CheckItemPanel from '@/views/ecg/appointment/CheckItemPanel.vue'
+import { getCheckTypeName } from '@/utils/checkTypeFormatter'
/** 棰勭害纭 琛ㄥ崟 */
defineOptions({ name: 'AppointmentConfirm' })
-const { t } = useI18n() // 鍥介檯鍖�
-const message = useMessage() // 娑堟伅寮圭獥
-
-const dialogVisible = ref(false) // 寮圭獥鐨勬槸鍚﹀睍绀�
-const dialogTitle = ref('') // 寮圭獥鐨勬爣棰�
-const formLoading = ref(false) // 琛ㄥ崟鐨勫姞杞戒腑锛�1锛変慨鏀规椂鐨勬暟鎹姞杞斤紱2锛夋彁浜ょ殑鎸夐挳绂佺敤
-const formType = ref('') // 琛ㄥ崟鐨勭被鍨嬶細create - 鏂板锛泆pdate - 淇敼
-
-const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑
-const list = ref<AppointmentVO[]>([]) // 鍒楄〃鐨勬暟鎹�
-const total = ref(0) // 鍒楄〃鐨勬�婚〉鏁�
const queryParams = reactive({
- pageNo: 1,
- pageSize: 1,
- patId: undefined
+ patId: ''
})
-const formData = ref({
- patId: undefined,
- patName: undefined,
+const appointmentVOList = ref<AppointmentVO[]>([])
+
+const formData = ref<AppointmentVO>({
+ id: 0,
+ applyNo: '',
+ episodeId: '',
+ patSrc: 0,
+ patId: '',
+ patName: '',
+ tolerance: 0,
patGender: 1, // 1 鐢� 2 濂�
- patBirthday: undefined,
- patMobile: undefined,
- patPhone: undefined,
- patIdentityId: undefined,
- patAddr: undefined,
- patDeptCode: undefined,
- patDeptDesc: undefined,
- patWardCode: undefined,
- patWardDesc: undefined,
- patBedNo: undefined,
- bookId: undefined,
- bookTime: undefined,
- bookDate: new Date().getTime(),
- bookTimeslot: 10001015,
- bookCheckType: 10
+ patBirthday: new Date(),
+ patMobile: '',
+ patPhone: '',
+ patIdentityId: '',
+ patAddr: '',
+ patDeptCode: '',
+ patDeptDesc: '',
+ patWardCode: '',
+ patWardDesc: '',
+ patBedNo: '',
+ bookTime: new Date(),
+ bookDate: new Date(),
+ bookTimeslot: 9301030,
+ bookCheckType: getCheckTypeName(100),
+ paid: 0,
+ bookSeqNum: 0
})
const formRef = ref() // 琛ㄥ崟 Ref
const searchBookInfo = async () => {
resetForm()
- total.value = 0
- list.value = []
- await getList()
- if (total.value === 1) {
- formData.value = list.value[0]
+ if (null === queryParams.patId || '' === queryParams.patId.trim()) return
+
+ 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]
+ appointmentVOList.value = data
+ console.info(formData.value)
return
}
- message.notify("璇峰厛棰勭害!")
-}
-/** 鏌ヨ鍒楄〃 */
-const getList = async () => {
- loading.value = true
- try {
- const data = await AppointmentApi.getAppointmentPage(queryParams)
- list.value = data.list
- total.value = data.total
- } finally {
- loading.value = false
- }
+ ElNotification({
+ title: '娓╅Θ鎻愮ず',
+ message: '璇峰厛棰勭害',
+ type: 'warning'
+ })
}
-
-/** 鎵撳紑寮圭獥 */
-const open = async (type: string, id?: number) => {
- dialogVisible.value = true
- dialogTitle.value = t('action.' + type)
- formType.value = type
- resetForm()
- // 淇敼鏃讹紝璁剧疆鏁版嵁
- if (id) {
- formLoading.value = true
- try {
- formData.value = await AppointmentApi.getAppointment(id)
- } finally {
- formLoading.value = false
- }
- }
-}
-defineExpose({ open }) // 鎻愪緵 open 鏂规硶锛岀敤浜庢墦寮�寮圭獥
/** 閲嶇疆琛ㄥ崟 */
const resetForm = () => {
+ appointmentVOList.value.length = 0
formData.value = {
- patId: undefined,
- patName: undefined,
+ id: 0,
+ applyNo: '',
+ episodeId: '',
+ patSrc: 0,
+ patId: '',
+ patName: '',
+ tolerance: 0,
patGender: 1, // 1 鐢� 2 濂�
- patBirthday: undefined,
- patMobile: undefined,
- patPhone: undefined,
- patIdentityId: undefined,
- patAddr: undefined,
- patDeptCode: undefined,
- patDeptDesc: undefined,
- patWardCode: undefined,
- patWardDesc: undefined,
- patBedNo: undefined,
- bookId: undefined,
- bookTime: undefined,
- bookDate: new Date().getTime(),
- bookTimeslot: 10001015,
- bookCheckType: 10
+ patBirthday: new Date(),
+ patMobile: '',
+ patPhone: '',
+ patIdentityId: '',
+ patAddr: '',
+ patDeptCode: '',
+ patDeptDesc: '',
+ patWardCode: '',
+ patWardDesc: '',
+ patBedNo: '',
+ bookTime: new Date(),
+ bookDate: new Date(),
+ bookTimeslot: 9301030,
+ 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>
@@ -234,4 +230,8 @@
.two-column-form .form-row .el-form-item {
width: 48%;
}
+
+.el-form-item {
+ margin-bottom: 5px;
+}
</style>
--
Gitblit v1.9.3