From e23d42404d4156aa6c1651b6565cd0dd16382f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=97=E5=8C=97?= <2958847195@qq.com> Date: Thu, 27 Nov 2025 08:56:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=82=A3=E8=80=85=E6=A1=A3=E6=A1=88=E5=92=8C?= =?UTF-8?q?=E8=BF=9B=E8=B4=A7=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/charge/patientCardRenewal/index.vue | 47 +- .../views/maintainSystem/Inspection/index.vue | 808 ++++++++++++++++++ .../stockInOrder/components/orderTable.vue | 22 +- 3 files changed, 849 insertions(+), 28 deletions(-) create mode 100644 openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue diff --git a/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue b/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue index 7b0e855b..9270b32c 100644 --- a/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue +++ b/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue @@ -310,7 +310,7 @@ const handleCurrentChange = (newPage) => { } // 查询患者信息 -const handlePatientSearch = async () => { + const handlePatientSearch = async () => { // 检查是否至少填写了一个查询条件 if (!searchForm.patientName && !searchForm.idCard && !searchForm.phoneNumber) { ElMessage.warning('请至少输入一个查询条件') @@ -338,7 +338,7 @@ const handlePatientSearch = async () => { total.value = response.data.total || 0 selectedPatient.value = null // 查询时重置选中状态 - // 如果只有一条记录且是第一页,自动显示患者信息 + // 如果只有一条记录且是第一页,自动选中 if (response.data.records.length === 1 && currentPage.value === 1) { const patient = response.data.records[0] // 确保patient对象中同时包含id和patientId字段 @@ -346,21 +346,9 @@ const handlePatientSearch = async () => { patient.patientId = patient.id; } - // 直接构建并设置患者信息,无需用户手动确认 - const outpatientNo = patient.identifierNo || patient.cardNo || patient.card_number || patient.就诊卡号 || patient.outpatientNumber || patient.outpatientNo || patient.门诊号码 || patient.卡号 || patient.card || patient.patientNo || patient.patient_id; - const gender = patient.genderEnum_enumText || patient.gender || patient.sex || patient.性别 || patient.xb || patient.sexCode || patient.GENDER || patient.SEX; - - patientInfo.value = { - outpatientNo: outpatientNo, - patientName: patient.patientName || patient.name, - idCard: patient.idCard || patient.id_card || patient.idNo, - phoneNumber: patient.phoneNumber || patient.phone || patient.mobile || patient.mobilePhone, - gender: gender, - age: patient.age, - patientId: patient.patientId || patient.id || outpatientNo - } - - ElMessage.success('已自动选中唯一患者') + // 设置为选中状态,但不自动确认 + selectedPatient.value = patient + ElMessage.warning('已自动选中唯一患者,请点击确定') } else { // 如果有多条记录或不是第一页,显示患者列表供选择 // 确保每条患者记录都包含patientId字段,优先使用id字段 @@ -371,7 +359,7 @@ const handlePatientSearch = async () => { showPatientList.value = true } } else { - // 无数据时重置总条数 + // 无数据时重置总条数 total.value = 0 ElMessage.warning('未查询到患者信息') } @@ -380,8 +368,9 @@ const handlePatientSearch = async () => { } } catch (error) { - // 错误处理 - ElMessage.error('查询失败,请稍后重试'); + // 使用公共错误处理函数处理错误信息 + const errorMessage = processErrorMessage(error, '查询失败,请稍后重试'); + ElMessage.error(errorMessage); // 可以在这里添加错误监控或日志记录 console.error('患者查询错误:', error); } finally { @@ -504,7 +493,15 @@ onMounted(() => { document.addEventListener('keydown', handleKeydown) // 设置默认患者数据,方便用户直接进行换卡操作 - + patientInfo.value = { + outpatientNo: '20231001001', + patientName: '张三', + idCard: '110101199001011234', + phoneNumber: '13800138000', + gender: '男', + age: '33岁', + patientId: '1001' + } }) // 组件卸载时移除键盘事件监听 @@ -514,7 +511,7 @@ onUnmounted(() => { // 移除了调试功能 -// 选择患者(仅设置选中状态) + // 选择患者(仅设置选中状态) const selectPatient = (row) => { selectedPatient.value = row ElMessage.warning('已选择患者,请点击确定') @@ -550,7 +547,7 @@ const confirmSelectPatient = () => { } // 重置表单 -const resetForm = () => { + const resetForm = () => { searchForm.patientName = '' searchForm.idCard = '' searchForm.phoneNumber = '' @@ -565,8 +562,8 @@ const resetForm = () => { total.value = 0 } -// 格式化日期为YYYY-MM-DD格式 -const formatDate = (date) => { + // 格式化日期为YYYY-MM-DD格式 + const formatDate = (date) => { if (!date) return '' // 如果已经是YYYY-MM-DD格式,直接返回 if (typeof date === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(date)) { diff --git a/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue new file mode 100644 index 00000000..303307fd --- /dev/null +++ b/openhis-ui-vue3/src/views/maintainSystem/Inspection/index.vue @@ -0,0 +1,808 @@ + + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/medicineStorage/stockInOrder/components/orderTable.vue b/openhis-ui-vue3/src/views/medicineStorage/stockInOrder/components/orderTable.vue index 011118da..fd7180fd 100644 --- a/openhis-ui-vue3/src/views/medicineStorage/stockInOrder/components/orderTable.vue +++ b/openhis-ui-vue3/src/views/medicineStorage/stockInOrder/components/orderTable.vue @@ -386,7 +386,15 @@ :prop="`localTableData.${scope.$index}.startTime`" :rules="rules.startTime" > - + + {{ parseTime(localTableData[scope.$index].startTime, '{y}-{m}-{d}') || '' }} @@ -396,7 +404,15 @@