diff --git a/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/drawfn.js b/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/drawfn.js index f7908a5c0..67e8bca52 100755 --- a/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/drawfn.js +++ b/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/drawfn.js @@ -166,14 +166,18 @@ export function getData(allData) { const OLD_CODE_MAP = { '004': '014', '005': '002', '006': '001' }; rowsData.forEach(row => { if (row.rowBOS) { - const extraItems = []; + const prependItems = []; row.rowBOS.forEach(item => { const newCode = OLD_CODE_MAP[item.typeCode]; - if (newCode && !row.rowBOS.some(i => i.date === item.date && i.times === item.times && i.typeCode === newCode)) { - extraItems.push({ ...item, typeCode: newCode }); + // 始终添加映射条目,用 unshift 插入数组头部 + // 这样 getType 的 find() 优先匹配映射后的编码(如脉冲、呼吸) + // 即使存在同编码的旧条目(如血压舒张压用 002、收缩压用 001), + // 映射后的脉搏(002)和呼吸(001)条目排在前面,确保图表正确渲染 + if (newCode) { + prependItems.push({ ...item, typeCode: newCode }); } }); - row.rowBOS.push(...extraItems); + row.rowBOS.unshift(...prependItems); } }); const infoData = allData.grParamBOS; diff --git a/openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/addTprDialog.vue b/openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/addTprDialog.vue index aae2bc6ac..a41b46cd6 100755 --- a/openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/addTprDialog.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/addTprDialog.vue @@ -999,22 +999,24 @@ function confirmCharge() { vitalSignsCode.push('003'); vitalSignsValues.push(params.temperature); } - if (params.systolicPressure && params.diastolicPressure) { - vitalSignsCode.push('001', '002'); - vitalSignsValues.push(params.systolicPressure, params.diastolicPressure); - } if (params.heartRate) { vitalSignsCode.push('014'); vitalSignsValues.push(params.heartRate); } + // 脉搏(002)排血压舒张压(002)之前,确保图表getType('002')优先匹配脉搏 if (params.pulseRate) { vitalSignsCode.push('002'); vitalSignsValues.push(params.pulseRate); } + // 呼吸(001)排血压收缩压(001)之前,确保图表getType('001')优先匹配呼吸 if (params.respirationRate) { vitalSignsCode.push('001'); vitalSignsValues.push(params.respirationRate); } + if (params.systolicPressure && params.diastolicPressure) { + vitalSignsCode.push('001', '002'); + vitalSignsValues.push(params.systolicPressure, params.diastolicPressure); + } if (params.bloodOxygen) { vitalSignsCode.push('021'); vitalSignsValues.push(params.bloodOxygen);