360 住院护士站-》三测单:体征录入保存失败
This commit is contained in:
@@ -36,7 +36,7 @@ public interface IVitalSignsAppService {
|
|||||||
*
|
*
|
||||||
* @return 体温单检索结果
|
* @return 体温单检索结果
|
||||||
*/
|
*/
|
||||||
R<?> searchVitalSigns(String startTime, String endTime);
|
R<?> searchVitalSigns(String startTime, String endTime, String patientId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 体温单记录删除
|
* 体温单记录删除
|
||||||
|
|||||||
@@ -266,13 +266,14 @@ public class VitalSignsAppServiceImpl implements IVitalSignsAppService {
|
|||||||
*
|
*
|
||||||
* @param startTime 开始时间
|
* @param startTime 开始时间
|
||||||
* @param endTime 结束时间
|
* @param endTime 结束时间
|
||||||
|
* @param patientId 患者ID
|
||||||
* @return 检索结果
|
* @return 检索结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public R<?> searchVitalSigns(String startTime, String endTime) {
|
public R<?> searchVitalSigns(String startTime, String endTime, String patientId) {
|
||||||
|
|
||||||
// 基本信息查询
|
// 基本信息查询
|
||||||
List<VitalSigns> vitalSignsList = vitalSignsAppMapper.searchVitalSigns(startTime, endTime);
|
List<VitalSigns> vitalSignsList = vitalSignsAppMapper.searchVitalSigns(startTime, endTime, patientId);
|
||||||
// 判断查询结果是否为空
|
// 判断查询结果是否为空
|
||||||
if (vitalSignsList.isEmpty()) {
|
if (vitalSignsList.isEmpty()) {
|
||||||
return R.ok(Collections.emptyList());
|
return R.ok(Collections.emptyList());
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ public class VitalSignsController {
|
|||||||
* @return 体温单检索结果
|
* @return 体温单检索结果
|
||||||
*/
|
*/
|
||||||
@GetMapping("/record-search")
|
@GetMapping("/record-search")
|
||||||
public R<?> searchVitalSigns(String startTime, String endTime) {
|
public R<?> searchVitalSigns(String startTime, String endTime, String patientId) {
|
||||||
return R.ok(vitalSignsAppService.searchVitalSigns(startTime, endTime));
|
return R.ok(vitalSignsAppService.searchVitalSigns(startTime, endTime, patientId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.openhis.web.inpatientmanage.dto;
|
package com.openhis.web.inpatientmanage.dto;
|
||||||
|
|
||||||
import com.core.common.core.domain.HisBaseEntity;
|
import com.core.common.core.domain.HisBaseEntity;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -35,6 +36,7 @@ public class VitalSignsSaveDto extends HisBaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 记录日期
|
* 记录日期
|
||||||
*/
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date recordingDate;
|
private Date recordingDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ public interface VitalSignsAppMapper {
|
|||||||
*
|
*
|
||||||
* @param startTime 开始时间
|
* @param startTime 开始时间
|
||||||
* @param endTime 结束时间
|
* @param endTime 结束时间
|
||||||
|
* @param patientId 患者ID
|
||||||
* @return 查询记录结果
|
* @return 查询记录结果
|
||||||
*/
|
*/
|
||||||
List<VitalSigns> searchVitalSigns(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
List<VitalSigns> searchVitalSigns(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("patientId") String patientId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除记录
|
* 删除记录
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
T2.organization_id AS org_id, --科室ID(从就诊表取)
|
T2.organization_id AS org_id, --科室ID(从就诊表取)
|
||||||
T2.id AS encounter_id, --就诊ID
|
T2.id AS encounter_id, --就诊ID
|
||||||
T2.start_time AS admissionDate, --入院日期
|
T2.start_time AS admissionDate, --入院日期
|
||||||
|
T3.ward_admission_date AS wardAdmissionDate, --入科日期
|
||||||
T3.location_id AS ward_location_id, --病区
|
T3.location_id AS ward_location_id, --病区
|
||||||
T4.location_id AS bed_location_id --床号
|
T4.location_id AS bed_location_id --床号
|
||||||
FROM adm_patient AS T1
|
FROM adm_patient AS T1
|
||||||
|
|||||||
@@ -81,6 +81,9 @@
|
|||||||
-- 记录日期
|
-- 记录日期
|
||||||
T1.recording_date >= #{startTime}::date
|
T1.recording_date >= #{startTime}::date
|
||||||
AND T1.recording_date <= #{endTime}::date
|
AND T1.recording_date <= #{endTime}::date
|
||||||
|
<if test="patientId != null and patientId != ''">
|
||||||
|
AND T1.patient_id = #{patientId}::bigint
|
||||||
|
</if>
|
||||||
AND T1.delete_flag = '0'
|
AND T1.delete_flag = '0'
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="患者详情"
|
title="患者详情"
|
||||||
v-model="props.open"
|
v-model="dialogVisible"
|
||||||
width="1700px"
|
width="1700px"
|
||||||
append-to-body
|
append-to-body
|
||||||
destroy-on-close
|
:destroy-on-close="false"
|
||||||
@close="close"
|
@close="closeDialog"
|
||||||
>
|
>
|
||||||
<div style="display: flex; justify-content: space-between" class="app-container">
|
<div style="display: flex; justify-content: space-between" class="app-container">
|
||||||
<div style="width: 50%">
|
<div style="width: 50%">
|
||||||
@@ -67,45 +67,33 @@
|
|||||||
ref="patientListRef"
|
ref="patientListRef"
|
||||||
max-height="650"
|
max-height="650"
|
||||||
:data="patientList"
|
:data="patientList"
|
||||||
row-key="encounterId"
|
row-key="id"
|
||||||
@cell-click="clickRow"
|
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
|
@row-click="handleRowClick"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" :selectable="checkSelectable" width="55" />
|
<el-table-column prop="recordingDate" label="日期" width="80" />
|
||||||
<el-table-column prop="busNo" label="体温" width="80" />
|
<el-table-column prop="timePoint" label="时间" width="60" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="收缩压" min-width="120" />
|
<el-table-column prop="temperature" label="体温" width="70" />
|
||||||
<el-table-column prop="busNo" label="舒张压" width="80" />
|
<el-table-column prop="systolicPressure" label="收缩压" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="心率" min-width="120" />
|
<el-table-column prop="diastolicPressure" label="舒张压" width="70" />
|
||||||
<el-table-column prop="busNo" label="脉搏" width="80" />
|
<el-table-column prop="heartRate" label="心率" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="呼吸" min-width="120" />
|
<el-table-column prop="pulseRate" label="脉搏" width="70" />
|
||||||
<el-table-column prop="busNo" label="血氧" width="80" />
|
<el-table-column prop="respirationRate" label="呼吸" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="动脉压" min-width="120" />
|
<el-table-column prop="bloodOxygen" label="血氧" width="70" />
|
||||||
<el-table-column prop="busNo" label="血糖" width="80" />
|
<el-table-column prop="bloodGlucose" label="血糖" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="物理降温" min-width="120" />
|
<el-table-column prop="physicalCooling" label="物理降温" width="80" />
|
||||||
<el-table-column prop="busNo" label="左瞳孔(光)" width="80" />
|
<el-table-column prop="ccuHeartRate" label="CCU心率" width="80" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="右瞳孔(光)" min-width="120" />
|
<el-table-column prop="newbornsIncubator" label="新生儿箱温" width="90" />
|
||||||
<el-table-column prop="busNo" label="CCU心率" width="280" />
|
<el-table-column prop="bloodKetone" label="血酮" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="左瞳孔(大小)" min-width="120" />
|
<el-table-column prop="height" label="身高" width="70" />
|
||||||
<el-table-column prop="busNo" label="右瞳孔(大小)" width="280" />
|
<el-table-column prop="waistCircumference" label="腹围" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="意识" min-width="120" />
|
<el-table-column prop="stoolFrequency" label="大便次数" width="80" />
|
||||||
<el-table-column prop="busNo" label="新生儿箱温" width="280" />
|
<el-table-column prop="enemaFrequency" label="灌肠次数" width="80" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="血酮" min-width="120" />
|
<el-table-column prop="sfAfterEnema" label="灌肠后大便" width="90" />
|
||||||
<el-table-column prop="busNo" label="体重" width="280" />
|
<el-table-column prop="output" label="出量" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="身高" min-width="120" />
|
<el-table-column prop="input" label="入量" width="70" />
|
||||||
<el-table-column prop="busNo" label="腹围" width="280" />
|
<el-table-column prop="urineVolume" label="尿量" width="70" />
|
||||||
<el-table-column prop="statusEnum_enumText" label="大便次数" min-width="120" />
|
<el-table-column prop="stoolVolume" label="大便量" width="70" />
|
||||||
<el-table-column prop="busNo" label="灌肠次数" width="280" />
|
|
||||||
<el-table-column prop="statusEnum_enumText" label="灌肠后大便次数" min-width="120" />
|
|
||||||
<el-table-column prop="busNo" label="出量" width="280" />
|
|
||||||
<el-table-column prop="statusEnum_enumText" label="入量" min-width="120" />
|
|
||||||
<el-table-column prop="statusEnum_enumText" label="尿量" min-width="120" />
|
|
||||||
<el-table-column prop="busNo" label="大便量" width="280" />
|
|
||||||
<el-table-column label="操作" min-width="150" fixed="right">
|
|
||||||
<!-- <template #default="scope"> -->
|
|
||||||
<template>
|
|
||||||
<el-button link type="primary" size="small">保存</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -204,7 +192,7 @@
|
|||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<el-input
|
<el-input
|
||||||
prop="lowBloodPressure"
|
prop="lowBloodPressure"
|
||||||
v-model="formData.date"
|
v-model="formData.systolicPressure"
|
||||||
style="width: 90px"
|
style="width: 90px"
|
||||||
size="small"
|
size="small"
|
||||||
@keydown="onKeyDown('1', '1', $event)"
|
@keydown="onKeyDown('1', '1', $event)"
|
||||||
@@ -213,7 +201,7 @@
|
|||||||
<label>/</label>
|
<label>/</label>
|
||||||
<el-input
|
<el-input
|
||||||
prop="HighBloodPressure"
|
prop="HighBloodPressure"
|
||||||
v-model="formData.times"
|
v-model="formData.diastolicPressure"
|
||||||
style="width: 90px"
|
style="width: 90px"
|
||||||
size="small"
|
size="small"
|
||||||
@keydown="onKeyDown('1', '2', $event)"
|
@keydown="onKeyDown('1', '2', $event)"
|
||||||
@@ -655,20 +643,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button @click="close">取 消</el-button>
|
<el-button @click="closeDialog">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {ref} from 'vue';
|
import {ref, watch} from 'vue';
|
||||||
|
import request from '@/utils/request';
|
||||||
import {addVitalSigns, listPatient} from './api';
|
import {addVitalSigns, listPatient} from './api';
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
open: {
|
modelValue: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
@@ -678,9 +667,21 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
patientInfo: {
|
patientInfo: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const emit = defineEmits(['close', 'update:modelValue']);
|
||||||
|
|
||||||
|
// 直接使用computed双向绑定,更可靠
|
||||||
|
const dialogVisible = computed({
|
||||||
|
get() {
|
||||||
|
return props.modelValue;
|
||||||
|
},
|
||||||
|
set(val) {
|
||||||
|
emit('update:modelValue', val);
|
||||||
|
}
|
||||||
|
});
|
||||||
const { method_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
|
const { method_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
|
||||||
'method_code',
|
'method_code',
|
||||||
'unit_code',
|
'unit_code',
|
||||||
@@ -688,12 +689,14 @@ const { method_code, unit_code, rate_code, distribution_category_code } = proxy.
|
|||||||
'distribution_category_code'
|
'distribution_category_code'
|
||||||
);
|
);
|
||||||
|
|
||||||
const emit = defineEmits(['close']);
|
|
||||||
const queryParams = ref({
|
const queryParams = ref({
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
patientId: undefined, // 患者id
|
patientId: undefined, // 患者id
|
||||||
|
startTime: undefined,
|
||||||
|
endTime: undefined,
|
||||||
});
|
});
|
||||||
|
const patientList = ref([]);
|
||||||
// const patientInfo = ref({
|
// const patientInfo = ref({
|
||||||
// patientName: '张三',
|
// patientName: '张三',
|
||||||
// });
|
// });
|
||||||
@@ -758,10 +761,33 @@ const InputOptions = ref([
|
|||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
// 表单数据
|
// 日期范围 - 体征信息搜索时间
|
||||||
|
const receptionTime = ref(null);
|
||||||
|
|
||||||
|
// 表单数据 - 体征录入
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
username: '',
|
timePoint: '',
|
||||||
gender: '',
|
temperature: '',
|
||||||
|
systolicPressure: '',
|
||||||
|
diastolicPressure: '',
|
||||||
|
heartRate: '',
|
||||||
|
pulseRate: '',
|
||||||
|
respirationRate: '',
|
||||||
|
bloodOxygen: '',
|
||||||
|
bloodGlucose: '',
|
||||||
|
physicalCooling: '',
|
||||||
|
ccuHeartRate: '',
|
||||||
|
newbornsIncubator: '',
|
||||||
|
bloodKetone: '',
|
||||||
|
height: '',
|
||||||
|
waistCircumference: '',
|
||||||
|
stoolFrequency: '',
|
||||||
|
enemaFrequency: '',
|
||||||
|
sfAfterEnema: '',
|
||||||
|
output: '',
|
||||||
|
input: '',
|
||||||
|
urineVolume: '',
|
||||||
|
stoolVolume: '',
|
||||||
});
|
});
|
||||||
// 表格列配置数据
|
// 表格列配置数据
|
||||||
const tableColumns = ref([
|
const tableColumns = ref([
|
||||||
@@ -790,19 +816,64 @@ const tableColumns = ref([
|
|||||||
// 更多列配置...
|
// 更多列配置...
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function getPatientList() {}
|
function getPatientList() {
|
||||||
|
let startTime = null;
|
||||||
|
let endTime = null;
|
||||||
|
if (receptionTime.value && receptionTime.value.length === 2) {
|
||||||
|
startTime = receptionTime.value[0];
|
||||||
|
endTime = receptionTime.value[1];
|
||||||
|
}
|
||||||
|
// 查询体征数据 - 使用正确的API接口
|
||||||
|
request({
|
||||||
|
url: '/vital-signs/record-search',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
startTime,
|
||||||
|
endTime,
|
||||||
|
patientId: props.patientId
|
||||||
|
}
|
||||||
|
}).then((res) => {
|
||||||
|
|
||||||
|
// 判断返回的数据结构
|
||||||
|
let data = res.data;
|
||||||
|
if (res.data && res.data.data && typeof res.data.data === 'object') {
|
||||||
|
// 如果是嵌套结构 {data: {data: Array(3)}}
|
||||||
|
data = res.data.data;
|
||||||
|
} else if (res.data && typeof res.data === 'object' && res.data.data !== undefined) {
|
||||||
|
// 如果是 {code: 200, msg: '操作成功', data: Array(3)}
|
||||||
|
data = res.data.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('=== data 长度 ===', data?.length);
|
||||||
|
|
||||||
|
if (res.code === 200 && data) {
|
||||||
|
console.log('=== 准备赋值 patientList.value ===');
|
||||||
|
patientList.value = data;
|
||||||
|
console.log('=== patientList.value 赋值后 ===', patientList.value);
|
||||||
|
console.log('=== patientList.value 长度 ===', patientList.value?.length);
|
||||||
|
} else {
|
||||||
|
console.error('=== 查询失败或无数据 ===');
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.error('=== 查询报错 ===', err);
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 取得患者信息详细
|
* 取得患者信息详细
|
||||||
*/
|
*/
|
||||||
function getPatientDetial() {
|
function getPatientDetial() {
|
||||||
|
console.log('=== getPatientDetial 开始 ===', props.patientInfo);
|
||||||
patientInfo.value = props.patientInfo;
|
patientInfo.value = props.patientInfo;
|
||||||
console.log(props, 'props', props.patientInfo);
|
console.log(props, 'props', props.patientInfo);
|
||||||
reset();
|
reset();
|
||||||
title.value = '';
|
title.value = '';
|
||||||
title.value = props.title;
|
|
||||||
console.log(props, 'props', title.value);
|
|
||||||
console.log(queryParams.value, 'queryParams.value', props.patientId);
|
console.log(queryParams.value, 'queryParams.value', props.patientId);
|
||||||
queryParams.value.patientId = props.patientId;
|
queryParams.value.patientId = props.patientId;
|
||||||
|
// 默认查询今天的数据
|
||||||
|
const today = moment().format('YYYY-MM-DD');
|
||||||
|
receptionTime.value = [today, today];
|
||||||
|
// 自动加载数据
|
||||||
|
getPatientList();
|
||||||
listPatient(queryParams.value).then((res) => {
|
listPatient(queryParams.value).then((res) => {
|
||||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||||
form.value = res.data.records[0];
|
form.value = res.data.records[0];
|
||||||
@@ -823,22 +894,186 @@ function getPatientDetial() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function close() {
|
function closeDialog() {
|
||||||
reset();
|
reset();
|
||||||
|
dialogVisible.value = false;
|
||||||
emit('close');
|
emit('close');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 转换时间格式 HH:MM:SS -> HHMM
|
||||||
|
function convertTimePoint(timeStr) {
|
||||||
|
if (!timeStr) return '';
|
||||||
|
// 如果已经是 HHMM 格式(4位数字),直接返回
|
||||||
|
if (/^\d{4}$/.test(timeStr)) {
|
||||||
|
return timeStr;
|
||||||
|
}
|
||||||
|
// 转换 HH:MM:SS -> HHMM
|
||||||
|
const parts = timeStr.split(':');
|
||||||
|
if (parts.length >= 2) {
|
||||||
|
return (parts[0].padStart(2, '0') + parts[1].padStart(2, '0'));
|
||||||
|
}
|
||||||
|
return timeStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 表格行点击 - 填充表单
|
||||||
|
function handleRowClick(row) {
|
||||||
|
formData.value = {
|
||||||
|
...formData.value,
|
||||||
|
id: row.id,
|
||||||
|
timePoint: convertTimePoint(row.timePoint) || '',
|
||||||
|
temperature: row.temperature || '',
|
||||||
|
systolicPressure: row.systolicPressure || '',
|
||||||
|
diastolicPressure: row.diastolicPressure || '',
|
||||||
|
heartRate: row.heartRate || '',
|
||||||
|
pulseRate: row.pulseRate || '',
|
||||||
|
respirationRate: row.respirationRate || '',
|
||||||
|
bloodOxygen: row.bloodOxygen || '',
|
||||||
|
bloodGlucose: row.bloodGlucose || '',
|
||||||
|
physicalCooling: row.physicalCooling || '',
|
||||||
|
ccuHeartRate: row.ccuHeartRate || '',
|
||||||
|
newbornsIncubator: row.newbornsIncubator || '',
|
||||||
|
bloodKetone: row.bloodKetone || '',
|
||||||
|
height: row.height || '',
|
||||||
|
waistCircumference: row.waistCircumference || '',
|
||||||
|
stoolFrequency: row.stoolFrequency || '',
|
||||||
|
enemaFrequency: row.enemaFrequency || '',
|
||||||
|
sfAfterEnema: row.sfAfterEnema || '',
|
||||||
|
output: row.output || '',
|
||||||
|
input: row.input || '',
|
||||||
|
urineVolume: row.urineVolume || '',
|
||||||
|
stoolVolume: row.stoolVolume || '',
|
||||||
|
};
|
||||||
|
}
|
||||||
function confirmCharge() {
|
function confirmCharge() {
|
||||||
let params = {}
|
const params = {
|
||||||
params = formData.value
|
...formData.value,
|
||||||
params.patientId = props.patientInfo.patientId
|
patientId: props.patientInfo.patientId,
|
||||||
params.encounterId = props.patientInfo.encounterId
|
encounterId: props.patientInfo.encounterId,
|
||||||
|
};
|
||||||
|
|
||||||
|
// 收集所有录入的体征数据
|
||||||
|
const vitalSignsCode = [];
|
||||||
|
const vitalSignsValues = [];
|
||||||
|
|
||||||
|
if (params.temperature) {
|
||||||
|
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('004');
|
||||||
|
vitalSignsValues.push(params.heartRate);
|
||||||
|
}
|
||||||
|
if (params.pulseRate) {
|
||||||
|
vitalSignsCode.push('005');
|
||||||
|
vitalSignsValues.push(params.pulseRate);
|
||||||
|
}
|
||||||
|
if (params.respirationRate) {
|
||||||
|
vitalSignsCode.push('006');
|
||||||
|
vitalSignsValues.push(params.respirationRate);
|
||||||
|
}
|
||||||
|
if (params.bloodOxygen) {
|
||||||
|
vitalSignsCode.push('014');
|
||||||
|
vitalSignsValues.push(params.bloodOxygen);
|
||||||
|
}
|
||||||
|
if (params.bloodGlucose) {
|
||||||
|
vitalSignsCode.push('016');
|
||||||
|
vitalSignsValues.push(params.bloodGlucose);
|
||||||
|
}
|
||||||
|
if (params.physicalCooling) {
|
||||||
|
vitalSignsCode.push('017');
|
||||||
|
vitalSignsValues.push(params.physicalCooling);
|
||||||
|
}
|
||||||
|
if (params.ccuHeartRate) {
|
||||||
|
vitalSignsCode.push('041');
|
||||||
|
vitalSignsValues.push(params.ccuHeartRate);
|
||||||
|
}
|
||||||
|
if (params.newbornsIncubator) {
|
||||||
|
vitalSignsCode.push('061');
|
||||||
|
vitalSignsValues.push(params.newbornsIncubator);
|
||||||
|
}
|
||||||
|
if (params.bloodKetone) {
|
||||||
|
vitalSignsCode.push('140');
|
||||||
|
vitalSignsValues.push(params.bloodKetone);
|
||||||
|
}
|
||||||
|
if (params.height) {
|
||||||
|
vitalSignsCode.push('009');
|
||||||
|
vitalSignsValues.push(params.height);
|
||||||
|
}
|
||||||
|
if (params.waistCircumference) {
|
||||||
|
vitalSignsCode.push('052');
|
||||||
|
vitalSignsValues.push(params.waistCircumference);
|
||||||
|
}
|
||||||
|
if (params.stoolFrequency) {
|
||||||
|
vitalSignsCode.push('131');
|
||||||
|
vitalSignsValues.push(params.stoolFrequency);
|
||||||
|
}
|
||||||
|
if (params.enemaFrequency) {
|
||||||
|
vitalSignsCode.push('132');
|
||||||
|
vitalSignsValues.push(params.enemaFrequency);
|
||||||
|
}
|
||||||
|
if (params.sfAfterEnema) {
|
||||||
|
vitalSignsCode.push('133');
|
||||||
|
vitalSignsValues.push(params.sfAfterEnema);
|
||||||
|
}
|
||||||
|
if (params.output) {
|
||||||
|
vitalSignsCode.push('112');
|
||||||
|
vitalSignsValues.push(params.output);
|
||||||
|
}
|
||||||
|
if (params.input) {
|
||||||
|
vitalSignsCode.push('111');
|
||||||
|
vitalSignsValues.push(params.input);
|
||||||
|
}
|
||||||
|
if (params.urineVolume) {
|
||||||
|
vitalSignsCode.push('115');
|
||||||
|
vitalSignsValues.push(params.urineVolume);
|
||||||
|
}
|
||||||
|
if (params.stoolVolume) {
|
||||||
|
vitalSignsCode.push('134');
|
||||||
|
vitalSignsValues.push(params.stoolVolume);
|
||||||
|
}
|
||||||
|
|
||||||
|
params.vitalSignsCode = vitalSignsCode;
|
||||||
|
params.vitalSignsValues = vitalSignsValues;
|
||||||
params.recordingDate = moment(new Date()).format('YYYY-MM-DD');
|
params.recordingDate = moment(new Date()).format('YYYY-MM-DD');
|
||||||
params.timePoint = formData.value.timePoint
|
|
||||||
params.vitalSignsCode = ['003']
|
addVitalSigns(params).then(res => {
|
||||||
params.vitalSignsValues = ['38']
|
console.log('保存成功:', res);
|
||||||
addVitalSigns(formData.value).then(res => {
|
if (res.code === 200) {
|
||||||
console.log(res)
|
// 保存成功后刷新列表
|
||||||
})
|
getPatientList();
|
||||||
|
// 清空表单
|
||||||
|
formData.value = {
|
||||||
|
timePoint: '',
|
||||||
|
temperature: '',
|
||||||
|
systolicPressure: '',
|
||||||
|
diastolicPressure: '',
|
||||||
|
heartRate: '',
|
||||||
|
pulseRate: '',
|
||||||
|
respirationRate: '',
|
||||||
|
bloodOxygen: '',
|
||||||
|
bloodGlucose: '',
|
||||||
|
physicalCooling: '',
|
||||||
|
ccuHeartRate: '',
|
||||||
|
newbornsIncubator: '',
|
||||||
|
bloodKetone: '',
|
||||||
|
height: '',
|
||||||
|
waistCircumference: '',
|
||||||
|
stoolFrequency: '',
|
||||||
|
enemaFrequency: '',
|
||||||
|
sfAfterEnema: '',
|
||||||
|
output: '',
|
||||||
|
input: '',
|
||||||
|
urineVolume: '',
|
||||||
|
stoolVolume: '',
|
||||||
|
};
|
||||||
|
// 保存成功后关闭弹窗
|
||||||
|
closeDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/** 重置操作表单 */
|
/** 重置操作表单 */
|
||||||
function reset() {
|
function reset() {
|
||||||
@@ -935,6 +1170,10 @@ defineExpose({
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.input-time-inline .el-select {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
.flex-container {
|
.flex-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center; /* 垂直居中对齐 */
|
align-items: center; /* 垂直居中对齐 */
|
||||||
|
|||||||
@@ -125,7 +125,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<add-tpr-dialog
|
<add-tpr-dialog
|
||||||
ref="addTprDialogRef"
|
ref="addTprDialogRef"
|
||||||
:open="openAddTpr"
|
v-model="openAddTpr"
|
||||||
:patientId="patientId"
|
:patientId="patientId"
|
||||||
:patientInfo="patientData"
|
:patientInfo="patientData"
|
||||||
@close="closePatientDetialDialog"
|
@close="closePatientDetialDialog"
|
||||||
|
|||||||
Reference in New Issue
Block a user