From b3a5df43f282f5c9cd23131788a234f098c8cbbf Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 12 十二月 2024 10:37:58 +0800
Subject: [PATCH] BugFix: 预约确认有时不弹检查项目,但是患者信息显示正确的现象
---
src/views/ecg/appointment/AppointmentForm.vue | 60 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/src/views/ecg/appointment/AppointmentForm.vue b/src/views/ecg/appointment/AppointmentForm.vue
index 8c68bdf..864f5a3 100644
--- a/src/views/ecg/appointment/AppointmentForm.vue
+++ b/src/views/ecg/appointment/AppointmentForm.vue
@@ -10,7 +10,7 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鎮h�呯紪鍙�" prop="patId">
- <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" />
+ <el-input v-model="formData.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable @input="searchBookInfo"/>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -26,7 +26,7 @@
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
:key="dict.value"
- :label="dict.value"
+ :value="dict.value"
>
{{ dict.label }}
</el-radio>
@@ -65,8 +65,8 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="棰勭害妫�鏌ョ被鍨�" prop="bookCheckType">
- <el-select v-model="formData.bookCheckType" placeholder="璇烽�夋嫨棰勭害妫�鏌ョ被鍨�">
+ <el-form-item label="妫�鏌ョ被鍨�" prop="bookCheckType">
+ <el-select v-model="formData.bookCheckType" placeholder="璇烽�夋嫨妫�鏌ョ被鍨�">
<el-option
v-for="dict in checkTypeStore.getCheckTypeOptions()"
:key="dict.value"
@@ -142,7 +142,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-form-item label="宸蹭粯娆炬爣璁�" prop="paid">
+ <el-form-item label="浠樻鏍囪" prop="paid">
<el-checkbox v-model="formData.paid" :true-label=1 :false-label=0>
宸蹭粯娆�
</el-checkbox>
@@ -219,10 +219,25 @@
}
}
}
-defineExpose({ open }) // 鎻愪緵 open 鏂规硶锛岀敤浜庢墦寮�寮圭獥
+const openByQueue = async (type: string, patId: string, checkType: number) => {
+ dialogVisible.value = true
+ dialogTitle.value = t('action.' + type)
+ formType.value = type
+ resetForm()
+ // 淇敼鏃讹紝璁剧疆鏁版嵁
+ if (patId) {
+ formLoading.value = true
+ try {
+ formData.value = await AppointmentApi.getCurAppointmentByPatIdAndCheckType( patId, checkType )
+ } finally {
+ formLoading.value = false
+ }
+ }
+}
+defineExpose({ open, openByQueue }) // 鎻愪緵 open 鏂规硶锛岀敤浜庢墦寮�寮圭獥
/** 鎻愪氦琛ㄥ崟 */
-const emit = defineEmits(['success']) // 瀹氫箟 success 浜嬩欢锛岀敤浜庢搷浣滄垚鍔熷悗鐨勫洖璋�
+const emit = defineEmits(['event_appointment_success']) // 瀹氫箟 success 浜嬩欢锛岀敤浜庢搷浣滄垚鍔熷悗鐨勫洖璋�
const submitForm = async () => {
// 鏍¢獙琛ㄥ崟
await formRef.value.validate()
@@ -232,14 +247,16 @@
const data = formData.value as unknown as AppointmentVO
if (formType.value === 'create') {
await AppointmentApi.createAppointment(data)
+ // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢
+ emit('event_appointment_success')
message.success(t('common.createSuccess'))
- } else {
+ } else if (formType.value === 'update') {
await AppointmentApi.updateAppointment(data)
+ // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢
+ emit('event_appointment_success')
message.success(t('common.updateSuccess'))
}
dialogVisible.value = false
- // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢
- emit('success')
} finally {
formLoading.value = false
}
@@ -265,8 +282,29 @@
bookTime: undefined,
bookDate: new Date().getTime(),
bookTimeslot: 9000930,
- bookCheckType: checkTypeStore.getCheckTypeName(100)
+ bookCheckType: checkTypeStore.getCheckTypeName(100),
+ paid: 0,
}
formRef.value?.resetFields()
}
+
+const searchBookInfo = async () => {
+ const tmpPatId = formData.value.patId
+ if (null === tmpPatId || "" === tmpPatId)
+ return
+
+ const data = await AppointmentApi.queryAppointmentFromHis( tmpPatId ) // 瀵瑰簲鏁版嵁搴撲腑 pat_id
+ console.info( data )
+ if (null !== data) {
+ formData.value = data
+ return
+ }
+
+ ElNotification({
+ title: '娓╅Θ鎻愮ず',
+ message: "娌℃湁寮�鍗曚俊鎭�",
+ type: 'warning'
+ })
+}
+
</script>
--
Gitblit v1.9.3