diff --git a/openhis-server-new/core-generator/src/main/java/com/core/generator/controller/GenController.java b/openhis-server-new/core-generator/src/main/java/com/core/generator/controller/GenController.java index ec82bf3a..5145d3b7 100644 --- a/openhis-server-new/core-generator/src/main/java/com/core/generator/controller/GenController.java +++ b/openhis-server-new/core-generator/src/main/java/com/core/generator/controller/GenController.java @@ -252,12 +252,10 @@ public class GenController extends BaseController { InputStream is = file.getInputStream(); Workbook wb = WorkbookFactory.create(is); StringBuilder sb = new StringBuilder(); - // 遍历每个sheet页(每个表) for (int i = 0; i < wb.getNumberOfSheets(); i++) { sb.append("-- ----------------------------------------------------------------------------------\n"); Sheet st = wb.getSheetAt(i); - // 从第一行读取表名表注释 Row row0 = st.getRow(0);// 表名 String tableName = row0.getCell(4).toString();// 表名 diff --git a/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue b/openhis-ui-vue3/src/views/charge/patientCardRenewal/index.vue index 9270b32c..7b0e855b 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 handleCurrentChange = (newPage) => { 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,9 +346,21 @@ const handleCurrentChange = (newPage) => { patient.patientId = patient.id; } - // 设置为选中状态,但不自动确认 - selectedPatient.value = patient - ElMessage.warning('已自动选中唯一患者,请点击确定') + // 直接构建并设置患者信息,无需用户手动确认 + 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('已自动选中唯一患者') } else { // 如果有多条记录或不是第一页,显示患者列表供选择 // 确保每条患者记录都包含patientId字段,优先使用id字段 @@ -359,7 +371,7 @@ const handleCurrentChange = (newPage) => { showPatientList.value = true } } else { - // 无数据时重置总条数 + // 无数据时重置总条数 total.value = 0 ElMessage.warning('未查询到患者信息') } @@ -368,9 +380,8 @@ const handleCurrentChange = (newPage) => { } } catch (error) { - // 使用公共错误处理函数处理错误信息 - const errorMessage = processErrorMessage(error, '查询失败,请稍后重试'); - ElMessage.error(errorMessage); + // 错误处理 + ElMessage.error('查询失败,请稍后重试'); // 可以在这里添加错误监控或日志记录 console.error('患者查询错误:', error); } finally { @@ -493,15 +504,7 @@ onMounted(() => { document.addEventListener('keydown', handleKeydown) // 设置默认患者数据,方便用户直接进行换卡操作 - patientInfo.value = { - outpatientNo: '20231001001', - patientName: '张三', - idCard: '110101199001011234', - phoneNumber: '13800138000', - gender: '男', - age: '33岁', - patientId: '1001' - } + }) // 组件卸载时移除键盘事件监听 @@ -511,7 +514,7 @@ onUnmounted(() => { // 移除了调试功能 - // 选择患者(仅设置选中状态) +// 选择患者(仅设置选中状态) const selectPatient = (row) => { selectedPatient.value = row ElMessage.warning('已选择患者,请点击确定') @@ -547,7 +550,7 @@ const confirmSelectPatient = () => { } // 重置表单 - const resetForm = () => { +const resetForm = () => { searchForm.patientName = '' searchForm.idCard = '' searchForm.phoneNumber = '' @@ -562,8 +565,8 @@ const confirmSelectPatient = () => { 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/doctorstation/components/prescription/prescriptionlist.vue b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue index 986a43d6..45e52428 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue @@ -1207,7 +1207,7 @@ function getListInfo(addNewRow) { : 0); // 从后端获取数据时,将后端的耗材类型(2)转换为前端显示的耗材类型(4) // 后端接口中:1=药品, 2=耗材, 3=诊疗 - // 前端显示中:1=西药, 2=中成药, 3=诊疗, 4=耗材 + // 前端显示中:1=西药, 2=中成药, 3=诊疗, 4=耗材 let displayAdviceType = parsedContent.adviceType !== undefined ? Number(parsedContent.adviceType) : (item.adviceType !== undefined ? Number(item.adviceType) : undefined); if (displayAdviceType === 2 && (parsedContent.deviceId || parsedContent.deviceName || item.deviceId || item.deviceName)) { // 如果是耗材(adviceType=2 且有deviceId或deviceName),转换为前端显示的4