diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/exception/ServiceException.java b/openhis-server-new/core-common/src/main/java/com/core/common/exception/ServiceException.java index fcfa3ecf..cb0a8e8b 100644 --- a/openhis-server-new/core-common/src/main/java/com/core/common/exception/ServiceException.java +++ b/openhis-server-new/core-common/src/main/java/com/core/common/exception/ServiceException.java @@ -21,7 +21,7 @@ public final class ServiceException extends RuntimeException { /** * 错误明细,内部调试错误 * - * 和 {@link CommonResult#getDetailMessage()} 一致的设计 + * 和 */ private String detailMessage; diff --git a/openhis-server-new/openhis-application/pom.xml b/openhis-server-new/openhis-application/pom.xml index e6db15b9..2c60a5c1 100644 --- a/openhis-server-new/openhis-application/pom.xml +++ b/openhis-server-new/openhis-application/pom.xml @@ -69,6 +69,7 @@ org.apache.velocity velocity-engine-core +
- + {{ item.patientName || '-' }}
diff --git a/openhis-ui-vue3/src/components/TableLayout/Filter.vue b/openhis-ui-vue3/src/components/TableLayout/Filter.vue index a9c1711d..c42fed9f 100644 --- a/openhis-ui-vue3/src/components/TableLayout/Filter.vue +++ b/openhis-ui-vue3/src/components/TableLayout/Filter.vue @@ -23,7 +23,7 @@ 搜索 重置 - + {{ isExpanded ? '收起' : '展开' }} diff --git a/openhis-ui-vue3/src/template/inHospitalRecord.vue b/openhis-ui-vue3/src/template/inHospitalRecord.vue index 0da2a4cb..2b33b258 100644 --- a/openhis-ui-vue3/src/template/inHospitalRecord.vue +++ b/openhis-ui-vue3/src/template/inHospitalRecord.vue @@ -565,6 +565,26 @@ const rules = reactive({ chiefComplaint: [{ required: true, message: '请填写主诉', trigger: ['blur', 'submit'] }], }); +// 监听 patientInfo 变化,更新表单数据 +watch( + () => props.patientInfo, + (newPatientInfo) => { + if (newPatientInfo) { + // 更新基础信息 + formData.patientName = newPatientInfo.patientName || newPatientInfo.name || ''; + formData.hospitalNo = newPatientInfo.busNo || newPatientInfo.hospitalNo || ''; + formData.gender = newPatientInfo.genderEnum_enumText || newPatientInfo.gender || ''; + formData.age = newPatientInfo.age || ''; + formData.nation = newPatientInfo.nation || ''; + formData.occupation = newPatientInfo.profession || ''; + formData.marriage = newPatientInfo.maritalStatus || ''; + formData.birthplace = newPatientInfo.birthPlace || ''; + // 可以根据需要更新更多字段 + } + }, + { deep: true, immediate: true } +); + // 生命周期 onMounted(() => { // 初始化记录时间为当前时间 @@ -578,16 +598,16 @@ onMounted(() => { formData.signDate = formatDateTime(new Date()); } if (!formData.patientName) { - formData.patientName = patient?.patientName || ''; + formData.patientName = patient?.patientName || patient?.name || ''; } if (!formData.gender) { - formData.gender = patient?.genderEnum_enumText || ''; + formData.gender = patient?.genderEnum_enumText || patient?.gender || ''; } if (!formData.age) { formData.age = patient?.age || ''; } if (!formData.hospitalNo) { - formData.hospitalNo = patient?.busNo || ''; + formData.hospitalNo = patient?.busNo || patient?.hospitalNo || ''; } }); diff --git a/openhis-ui-vue3/src/utils/his.js b/openhis-ui-vue3/src/utils/his.js index 48b59c36..afef3ce3 100644 --- a/openhis-ui-vue3/src/utils/his.js +++ b/openhis-ui-vue3/src/utils/his.js @@ -334,11 +334,13 @@ export function handleColor(a, b, status) { */ export function getPrinterList() { try { - const printerList = - window.hiprint && window.hiprint.hiwebSocket - ? window.hiprint.hiwebSocket.getPrinterList() - : []; - return printerList || []; + if (window.hiprint && window.hiprint.hiwebSocket && window.hiprint.hiwebSocket.connected) { + const printerList = window.hiprint.hiwebSocket.getPrinterList(); + return printerList || []; + } else { + console.warn('打印服务未连接,返回空打印机列表'); + return []; + } } catch (error) { console.error('获取打印机列表失败:', error); return []; diff --git a/openhis-ui-vue3/src/utils/printUtils.js b/openhis-ui-vue3/src/utils/printUtils.js index 9a760cbf..0deeb324 100644 --- a/openhis-ui-vue3/src/utils/printUtils.js +++ b/openhis-ui-vue3/src/utils/printUtils.js @@ -151,11 +151,13 @@ export const PRINT_TEMPLATE = { */ export function getPrinterList() { try { - const printerList = - window.hiprint && window.hiprint.hiwebSocket - ? window.hiprint.hiwebSocket.getPrinterList() - : []; - return printerList || []; + if (window.hiprint && window.hiprint.hiwebSocket && window.hiprint.hiwebSocket.connected) { + const printerList = window.hiprint.hiwebSocket.getPrinterList(); + return printerList || []; + } else { + console.warn('打印服务未连接,返回空打印机列表'); + return []; + } } catch (error) { console.error('获取打印机列表失败:', error); return []; diff --git a/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue b/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue index aa16cfa1..60881b37 100644 --- a/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/implementDepartment/index.vue @@ -225,7 +225,15 @@ function getList() { loading.value = true; getDiagnosisTreatmentList(queryParams.value).then((res) => { loading.value = false; - catagoryList.value = res.data.records; + catagoryList.value = res.data.records.map(record => { + // 为每一行初始化 filteredOptions,确保显示框能正确显示项目名称 + const filteredOptions = allImplementDepartmentList.value.slice(0, 100); + return { + ...record, + loading: false, + filteredOptions: filteredOptions + }; + }); total.value = res.data.total; }); } diff --git a/openhis-ui-vue3/src/views/basicmanage/ordersCombination/index.vue b/openhis-ui-vue3/src/views/basicmanage/ordersCombination/index.vue index 77bf5fb5..4c70b6a1 100644 --- a/openhis-ui-vue3/src/views/basicmanage/ordersCombination/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/ordersCombination/index.vue @@ -52,8 +52,8 @@ diff --git a/openhis-ui-vue3/src/views/basicservices/registrationfee/index.vue b/openhis-ui-vue3/src/views/basicservices/registrationfee/index.vue index 74067a23..96f5ed3b 100644 --- a/openhis-ui-vue3/src/views/basicservices/registrationfee/index.vue +++ b/openhis-ui-vue3/src/views/basicservices/registrationfee/index.vue @@ -776,7 +776,8 @@ const transformFormData = (form) => { extraDetails, comment, busNo, - }, + practitionerId: form.value.practitionerId, + }, chargeItemDefinitionFormData: { id, chargeName, @@ -833,7 +834,8 @@ const transformFormEditData = (form) => { extraDetails, comment, busNo, - }, + practitionerId: form.value.practitionerId, + }, }; }; getRegistrationfeeTypeList(); diff --git a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/history.vue b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/history.vue index 31c7f375..4608d09f 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/history.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/history.vue @@ -42,7 +42,6 @@ import {defineEmits, ref, unref} from 'vue'; import {deleteRecord, getRecordByEncounterIdList} from '../api'; import {ElMessage} from 'element-plus'; import {patientInfo} from '../../store/patient.js'; -import apiRequestManager from '@/utils/apiRequestManager.js'; const emits = defineEmits(['historyClick']); const props = defineProps({ @@ -68,30 +67,15 @@ const queryParams = ref({ isPage: 0, }); const historyData = ref([]); -// 防止重复加载的标志 -let isLoadingHistory = false; - const queryList = async () => { - // 防止重复加载 - if (isLoadingHistory) { - console.log('History data is already loading, skipping duplicate call'); - return; - } - - isLoadingHistory = true; - try { if (patientInfo.value.encounterId && unref(definitionId) && unref(definitionId) !== '') { - const res = await apiRequestManager.execute( - getRecordByEncounterIdList, - '/document/record/getRecordByEncounterIdList', - { - isPage: 0, // 确保参数一致,便于去重 - encounterId: patientInfo.value.encounterId, - patientId: patientInfo.value.patientId, - definitionId: unref(definitionId), - } - ); + const res = await getRecordByEncounterIdList({ + ...queryParams.value, + encounterId: patientInfo.value.encounterId, + patientId: patientInfo.value.patientId, + definitionId: unref(definitionId), + }); historyData.value = res.data || []; } else { historyData.value = []; @@ -99,8 +83,6 @@ const queryList = async () => { } catch (error) { // ElMessage.error(' 获取模板树失败 '); historyData.value = []; - } finally { - isLoadingHistory = false; // 重置加载标志 } }; const handleNodeClick = (data) => { diff --git a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue index f05eeac2..300b6cf5 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue @@ -103,7 +103,6 @@ import dayjs from 'dayjs'; // 打印工具 import {PRINT_TEMPLATE, simplePrint} from '@/utils/printUtils.js'; import {getEncounterDiagnosis} from '../api'; -import apiRequestManager from '@/utils/apiRequestManager.js'; import History from './components/history'; import Template from './components/template'; import TemplateEdit from './components/templateEdit.vue'; @@ -206,7 +205,7 @@ const handleNodeClick = (data, node) => { // 选择任何病历模板后,都加载该病历类型的最新历史记录 if (node.isLeaf && props.patientInfo && props.patientInfo.patientId) { - debouncedLoadLatestMedicalRecord(); + loadLatestMedicalRecord(); } }, 100); }); @@ -280,7 +279,7 @@ const handleSubmitOk = async (data) => { // 等待历史记录列表更新后,重新加载最新病历并更新选中状态 setTimeout(() => { - debouncedLoadLatestMedicalRecord(); + loadLatestMedicalRecord(); }, 100); } catch (error) { ElMessage.error('提交失败'); @@ -411,7 +410,7 @@ const selectOutpatientMedicalRecordTemplate = async () => { // 等待模板加载完成,然后获取并回显最新病历数据 setTimeout(() => { historyRef.value?.queryList(); - debouncedLoadLatestMedicalRecord(); + loadLatestMedicalRecord(); }, 500); }); } else { @@ -422,36 +421,19 @@ const selectOutpatientMedicalRecordTemplate = async () => { // 当前选中的历史病历ID,用于在History组件中高亮显示 const selectedHistoryRecordId = ref(''); -import { debounce } from 'lodash-es'; - -// 防止重复加载的标志 -let isLoadingLatestRecord = false; - // 加载最新的病历数据并回显 const loadLatestMedicalRecord = async () => { if (!patientInfo.value.encounterId || !currentSelectTemplate.value.id) return; - // 防止重复加载 - if (isLoadingLatestRecord) { - console.log('Latest medical record is already loading, skipping duplicate call'); - return; - } - - isLoadingLatestRecord = true; loading.value = true; - try { // 获取患者的历史病历记录 - const res = await apiRequestManager.execute( - getRecordByEncounterIdList, - '/document/record/getRecordByEncounterIdList', - { - isPage: 0, - encounterId: patientInfo.value.encounterId, - patientId: patientInfo.value.patientId, - definitionId: currentSelectTemplate.value.id, - } - ); + const res = await getRecordByEncounterIdList({ + isPage: 0, + encounterId: patientInfo.value.encounterId, + patientId: patientInfo.value.patientId, + definitionId: currentSelectTemplate.value.id, + }); const historyRecords = res.data || []; if (historyRecords.length > 0) { @@ -537,12 +519,8 @@ const loadLatestMedicalRecord = async () => { }); } finally { loading.value = false; - isLoadingLatestRecord = false; // 重置加载标志 } }; - -// 防抖版本的加载最新病历数据函数 -const debouncedLoadLatestMedicalRecord = debounce(loadLatestMedicalRecord, 300); const templateRef = ref(null); const handleTemplateClick = (data) => { @@ -772,7 +750,7 @@ const selectDefaultTemplate = () => { // 直接加载最新病历数据,不再使用额外的setTimeout延迟 // 因为handleNodeClick中已经有nextTick和setTimeout处理组件渲染 - debouncedLoadLatestMedicalRecord(); + loadLatestMedicalRecord(); }); } else { console.log('未找到门诊病历模板'); diff --git a/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue b/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue index 55cc219c..9d761a01 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue @@ -59,8 +59,8 @@ @@ -379,7 +379,7 @@
已选择 - 清空 + 清空
@@ -393,7 +393,7 @@ {{ item.itemName }} ¥{{ item.itemPrice }} { // 所有数据(用于客户端分页处理) const allData = ref([]) +// 获取医生常用语列表数据 // 获取医生常用语列表数据 const fetchDoctorPhraseList = async () => { try { const response = await getDoctorPhraseList() - // 处理后端返回的数据结构:data.data - if (response.code === 200 && response.data && response.data.data) { + // 【关键修改】去掉 response.data.data,直接取 response.data + if (response.code === 200 && response.data) { // 按照sortNo由小到大排序,保证列表顺序正确 - allData.value = response.data.data.sort((a, b) => a.sortNo - b.sortNo) + allData.value = response.data.sort((a, b) => a.sortNo - b.sortNo) total.value = allData.value.length // 执行客户端分页逻辑 applyPagination() @@ -285,7 +286,7 @@ const fetchDoctorPhraseList = async () => { total.value = 0 } } catch (error) { - console.error('获取列表失败:', error) // 增加控制台日志便于调试 + console.error('获取列表失败:', error) ElMessage.error('获取数据失败: 网络请求错误') allData.value = [] total.value = 0 @@ -322,19 +323,18 @@ const handleCurrentChange = (val) => { applyPagination() } +// 搜索功能核心方法 // 搜索功能核心方法 const handleSearch = async () => { try { - // searchScope可能是null(未选择)、1=个人,2=科室,3=全院 const phraseType = searchScope.value === null ? undefined : searchScope.value - // 调用搜索接口:phraseName, phraseType const response = await searchDoctorPhraseList(searchKeyword.value, phraseType) - if (response.code === 200 && response.data && response.data.data) { - // 按照sortNo由小到大排序 - allData.value = response.data.data.sort((a, b) => a.sortNo - b.sortNo) + // 【关键修改】去掉 response.data.data,直接取 response.data + if (response.code === 200 && response.data) { + allData.value = response.data.sort((a, b) => a.sortNo - b.sortNo) total.value = allData.value.length - currentPage.value = 1 // 搜索后重置到第一页 - applyPagination() // 应用分页 + currentPage.value = 1 + applyPagination() } else { ElMessage.error('搜索失败: ' + (response.msg || '未知错误')) allData.value = [] @@ -349,20 +349,30 @@ const handleSearch = async () => { } // 打开新增模态框方法 +// index.vue + const showAddDialog = () => { - // 重置表单数据 + // 1. 算出当前最大的排序号 + // 如果列表是空的,就从 1 开始;如果不空,取第一条(因为我们排过序了)或遍历找最大值 + let maxSortNo = 0 + if (allData.value && allData.value.length > 0) { + // 既然 allData 已经按 sortNo 排序了,那最后一个就是最大的? + // 或者保险起见,用 Math.max 算一下 + maxSortNo = Math.max(...allData.value.map(item => item.sortNo || 0)) + } + + // 2. 重置表单,并将排序号设为 最大值 + 1 addForm.value = { phraseName: '', phraseContent: '', - sortNo: 1, + sortNo: maxSortNo + 1, // <--- 这样每次打开就是 2, 3, 4... phraseType: 1, phraseCategory: '' } - // 重置表单验证状态 + if (addFormRef.value) { addFormRef.value.clearValidate() } - // 打开模态框 addDialogVisible.value = true } @@ -434,7 +444,6 @@ const handleDelete = async (row) => { // 用户取消删除时不提示错误 if (error !== 'cancel') { console.error('删除失败:', error) - ElMessage.error('删除操作失败: 网络异常或权限不足') } } } @@ -455,39 +464,41 @@ const showEditDialog = (row) => { } // 编辑表单提交保存方法 +// 修改 index.vue 中的 handleEditSave 方法 const handleEditSave = async () => { try { - // 先执行表单验证 + // 1. 表单校验 const validateResult = await editFormRef.value.validate() if (!validateResult) return - // 名称唯一性校验(排除当前编辑的这条记录ID) + // 2. 名称唯一性校验 const nameValidation = validatePhraseName(editForm.value.phraseName, editForm.value.id) if (!nameValidation.valid) { ElMessage.error(nameValidation.message) return } - // 准备更新数据,修复时间格式为ISO字符串,适配后端LocalDateTime + // 3. 准备数据 const updateData = { ...editForm.value, enableFlag: 1, - updateTime: new Date().toISOString() // 前端临时赋值,后端最终以自己的为准 + updateTime: new Date().toISOString() } - // 调用更新接口 + // 4. 调用接口 const response = await updateDoctorPhrase(updateData) + + // 【核心修改】直接判断 code === 200 即可 + // 因为后端现在失败会返回 R.fail (code!=200),所以只要是 200 就是成功 if (response.code === 200) { - ElMessage.success('更新成功') + ElMessage.success(response.msg || '更新成功') // 优先显示后端返回的消息 editDialogVisible.value = false - // 重新拉取数据,保证列表数据最新 fetchDoctorPhraseList() } else { - ElMessage.error('更新失败: ' + (response.msg || '未知错误')) + ElMessage.error(response.msg || '更新失败') } } catch (error) { console.error('更新失败:', error) - ElMessage.error('更新操作失败: 网络请求错误') } } diff --git a/openhis-ui-vue3/src/views/doctorstation/index.vue b/openhis-ui-vue3/src/views/doctorstation/index.vue index 352d55e2..50192ffb 100644 --- a/openhis-ui-vue3/src/views/doctorstation/index.vue +++ b/openhis-ui-vue3/src/views/doctorstation/index.vue @@ -99,6 +99,10 @@ {{ userStore.nickName }} + + 初诊 + 复诊 + 完诊 @@ -209,7 +213,6 @@ import useUserStore from '@/store/modules/user'; import { nextTick } from 'vue'; import { updatePatientInfo } from './components/store/patient.js'; import { ElMessage, ElMessageBox } from 'element-plus'; -import { debounce } from 'lodash-es'; // // 监听路由离开事件 // onBeforeRouteLeave((to, from, next) => { @@ -276,6 +279,7 @@ const loading = ref(false); const { proxy } = getCurrentInstance(); const visitType = ref(''); const firstVisitDate = ref(''); +const firstEnum = ref(1); // 初复诊标识:1=初诊,2=复诊 const disabled = computed(() => { // 只有在有患者信息但某些条件不满足时才启用覆盖层 // 当前逻辑保持不变,但我们将在按钮级别处理禁用状态 @@ -488,8 +492,7 @@ function handleOpen() { patientDrawerRef.value.refreshList(); } -// 原始的handleCardClick函数 -function handleCardClickOriginal(item, index) { +function handleCardClick(item, index) { console.log('handleCardClick 被调用'); console.log('点击的患者项目:', item); console.log('患者项目中的encounterId:', item.encounterId); @@ -506,6 +509,15 @@ function handleCardClickOriginal(item, index) { console.log('patientInfo.value 设置为:', patientInfo.value); console.log('patientInfo.value.encounterId:', patientInfo.value?.encounterId); + // 根据患者信息设置初复诊标识 + const backendValue = item.firstEnum ?? item.first_enum; + + if (backendValue !== undefined && backendValue !== null) { + firstEnum.value = Number(backendValue); // 确保是数字类型 + } else { + firstEnum.value = 1; + } + // 确保患者信息包含必要的字段 if (!patientInfo.value.encounterId) { console.error('患者信息缺少encounterId字段:', patientInfo.value); @@ -546,9 +558,6 @@ function handleCardClickOriginal(item, index) { }); } -// 使用防抖的handleCardClick函数,防止短时间内多次点击 -const handleCardClick = debounce(handleCardClickOriginal, 500); - function handleLeave(encounterId) { leaveEncounter(encounterId).then((res) => { if (res.code == 200) { @@ -566,11 +575,18 @@ function handleFinish(encounterId) { patientInfo.value = {}; visitType.value = ''; // 重置初复诊标识 visitTypeDisabled.value = false; // 重置禁用状态 + firstEnum.value = 1; // 重置为初诊 getPatientList(); } }); } +// 监听初复诊标识变化 +watch(firstEnum, (newValue) => { + // 这里可以添加更新后端的逻辑,如果需要实时同步到后端 + // 例如:updateEncounterFirstEnum(patientInfo.value.encounterId, newValue) +}); + function handleTimeChange(value) { queryParams.value.registerTimeSTime = value + ' 00:00:00'; queryParams.value.registerTimeETime = value + ' 23:59:59'; @@ -594,7 +610,7 @@ function handleHospitalizationClick() { // 接诊回调 function handleReceive(row) { - handleCardClickOriginal(row); + handleCardClick(row); currentEncounterId.value = row.encounterId; drawer.value = false; getPatientList(); @@ -781,7 +797,7 @@ const markSeen = async () => { currentCallPatient.value = {}; }; const callThis = (row) => { - handleCardClickOriginal(row); + handleCardClick(row); currentCallPatient.value = row; dialogVisible.value = false; // 刷新患者列表和候诊列表 diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/admissionRecord.vue b/openhis-ui-vue3/src/views/hospitalRecord/components/admissionRecord.vue index 9c7818fc..75529d46 100644 --- a/openhis-ui-vue3/src/views/hospitalRecord/components/admissionRecord.vue +++ b/openhis-ui-vue3/src/views/hospitalRecord/components/admissionRecord.vue @@ -699,7 +699,12 @@ const getDom = () => { }; const setData = (data) => { console.log('设置数据=========>', JSON.stringify(data)); - Object.assign(formData, data); + // 仅更新传入的数据,保留未传入字段的原有值 + Object.keys(data).forEach(key => { + if (formData.hasOwnProperty(key)) { + formData[key] = data[key]; + } + }); }; defineExpose({ setData, diff --git a/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue b/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue index 635b418a..6a8c8514 100644 --- a/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue +++ b/openhis-ui-vue3/src/views/inHospitalManagement/charge/register/components/registerForm.vue @@ -424,8 +424,8 @@ function handleWardClick(item) { function getInitOptions() { getOrgList().then((res) => { - // organization.value = res.data.records - organization.value = res.data.records[0].children.filter( + // 直接从records中过滤,而不是从records[0].children + organization.value = res.data.records.filter( (record) => record.typeEnum === 2 && checkClassEnumValue(record.classEnum, 2) ); }); diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/adviceBaseList.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/adviceBaseList.vue index 576f9216..2b568c0b 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/adviceBaseList.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/adviceBaseList.vue @@ -106,7 +106,7 @@ watch( getList(); function getList() { loading.value = true; - queryParams.value.organizationId = props.patientInfo.inHospitalOrgId; + queryParams.value.organizationId = props.patientInfo?.inHospitalOrgId || ''; getAdviceBaseInfo(queryParams.value) .then((res) => { console.log(res.data.records); diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue index e888fff1..48fd7566 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue @@ -203,7 +203,8 @@ const form = ref({ const props = defineProps({ patientInfo: { type: Object, - required: true, + required: false, + default: () => ({}), }, }); const emits = defineEmits(['diagnosisSave']); diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue index 38efb596..7b779ec9 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue @@ -10,25 +10,25 @@ 检验 检查 输血 手术 @@ -58,14 +58,19 @@