From f030d8a9607cef32ee41e01d96817c7e47681602 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 30 五月 2025 15:18:47 +0800
Subject: [PATCH] 11

---
 src/views/ecg/appointment/AppointmentForm.vue |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/src/views/ecg/appointment/AppointmentForm.vue b/src/views/ecg/appointment/AppointmentForm.vue
index 71248fe..64a4759 100644
--- a/src/views/ecg/appointment/AppointmentForm.vue
+++ b/src/views/ecg/appointment/AppointmentForm.vue
@@ -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>
@@ -158,6 +158,7 @@
 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' })
@@ -219,10 +220,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 +248,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,7 +283,7 @@
     bookTime: undefined,
     bookDate: new Date().getTime(),
     bookTimeslot: 9000930,
-    bookCheckType: checkTypeStore.getCheckTypeName(100),
+    bookCheckType: getCheckTypeName(100),
     paid: 0,
   }
   formRef.value?.resetFields()
@@ -273,7 +291,7 @@
 
 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

--
Gitblit v1.9.3