bug 443 522 523

This commit is contained in:
Ranyunqiao
2026-05-18 10:16:57 +08:00
parent 9f615df3f9
commit 58e391bd2c
5 changed files with 97 additions and 33 deletions

View File

@@ -847,26 +847,10 @@ function getPatientList() {
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);
if (res.code === 200 && res.data) {
patientList.value = Array.isArray(res.data) ? res.data : (res.data.data || []);
} else {
console.error('=== 查询失败或无数据 ===');
patientList.value = [];
}
}).catch(err => {
console.error('=== 查询报错 ===', err);
@@ -885,8 +869,22 @@ function getPatientDetial() {
queryParams.value.patientId = props.patientId;
// 默认查询今天的数据
const today = moment().format('YYYY-MM-DD');
const now = moment();
receptionTime.value = [today, today];
formData.value.recordingDate = today;
// 自动填充最近的整点时间点2/6/10/14/18/22点
const hour = now.hour();
const timePoints = [2, 6, 10, 14, 18, 22];
let nearestHour = timePoints[0];
let minDiff = Math.abs(hour - nearestHour);
for (const tp of timePoints) {
const diff = Math.abs(hour - tp);
if (diff < minDiff) {
minDiff = diff;
nearestHour = tp;
}
}
formData.value.timePoint = String(nearestHour).padStart(2, '0') + '00';
// 自动加载数据
getPatientList();
listPatient(queryParams.value).then((res) => {
@@ -967,6 +965,29 @@ function confirmCharge() {
encounterId: props.patientInfo.encounterId,
};
// 自动获取当前日期和时间
const now = moment();
if (!params.recordingDate) {
params.recordingDate = now.format('YYYY-MM-DD');
formData.value.recordingDate = params.recordingDate;
}
if (!params.timePoint) {
// 取最近的整点时间点2/6/10/14/18/22点
const hour = now.hour();
const timePoints = [2, 6, 10, 14, 18, 22];
let nearestHour = timePoints[0];
let minDiff = Math.abs(hour - nearestHour);
for (const tp of timePoints) {
const diff = Math.abs(hour - tp);
if (diff < minDiff) {
minDiff = diff;
nearestHour = tp;
}
}
params.timePoint = String(nearestHour).padStart(2, '0') + '00';
formData.value.timePoint = params.timePoint;
}
// 收集所有录入的体征数据
const vitalSignsCode = [];
const vitalSignsValues = [];
@@ -1052,9 +1073,14 @@ function confirmCharge() {
vitalSignsValues.push(params.stoolVolume);
}
// 校验:没有录入任何体征数据时提示用户
if (vitalSignsCode.length === 0) {
proxy.$modal.msgWarning('请录入患者体征信息');
return;
}
params.vitalSignsCode = vitalSignsCode;
params.vitalSignsValues = vitalSignsValues;
params.recordingDate = formData.value.recordingDate || moment(new Date()).format('YYYY-MM-DD');
addVitalSigns(params).then(res => {
if (res.code === 200) {