|
|
@ -100,9 +100,67 @@ |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 身高、体重,BMI --> |
|
|
|
<!-- 睡眠质量评估 --> |
|
|
|
<!-- <div class="card"> |
|
|
|
<div class="card-title">睡眠质量评估</div> |
|
|
|
<el-form-item label="上床睡觉" prop="SCWJ-SCSJ"> |
|
|
|
<el-time-select |
|
|
|
@change="calculateSleepTime" |
|
|
|
placeholder="请选择时间" |
|
|
|
v-model="form['SCWJ-SCSJ']" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:30', |
|
|
|
step: '00:15', |
|
|
|
end: '23:59', |
|
|
|
}" |
|
|
|
></el-time-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="入睡时间" prop="SCWJ-RSSJ"> |
|
|
|
<el-time-select |
|
|
|
@change="calculateSleepTime" |
|
|
|
placeholder="请选择时间" |
|
|
|
v-model="form['SCWJ-RSSJ']" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:30', |
|
|
|
step: '00:15', |
|
|
|
end: '23:59', |
|
|
|
minTime: form['SCWJ-SCSJ'], |
|
|
|
}" |
|
|
|
></el-time-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="睡醒时间" prop="SCWJ-SXSJ"> |
|
|
|
<el-time-select |
|
|
|
@change="calculateSleepTime" |
|
|
|
placeholder="请选择时间" |
|
|
|
v-model="form['SCWJ-SXSJ']" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:30', |
|
|
|
step: '00:15', |
|
|
|
end: '23:59', |
|
|
|
minTime: form['SCWJ-RSSJ'], |
|
|
|
}" |
|
|
|
></el-time-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="睡眠效率" prop="SCWJ-SMXL"> |
|
|
|
<span :class="`BIMTips${BMIVerdict[form['SCWJ-SMXL']]}`"> |
|
|
|
{{ form["SCWJ-SMXL"] || "- - -" }} |
|
|
|
</span> |
|
|
|
</el-form-item> |
|
|
|
</div> --> |
|
|
|
<!-- 疾病风险选择(现病史) --> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">体重自评</div> |
|
|
|
<div class="card-title">疾病风险选择</div> |
|
|
|
<el-form-item prop="SCWJ-XBS" class="form-item-xbs"> |
|
|
|
<el-checkbox-group v-model="form['SCWJ-XBS']"> |
|
|
|
<el-checkbox |
|
|
|
v-for="(item, index) in medicalHistory" |
|
|
|
:label="item" |
|
|
|
:key="index" |
|
|
|
> |
|
|
|
</el-checkbox> |
|
|
|
</el-checkbox-group> |
|
|
|
<el-input v-model="form['SCWJ-XBS-QT']" placeholder="其他" /> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
|
<div v-if="stepNum == 2"> |
|
|
@ -187,7 +245,29 @@ export default { |
|
|
|
stepNum: 1, // 步骤数 |
|
|
|
uploadFileUrl: process.env.VUE_APP_BASE_URL + "/baidu/ocr/idcardInfo", // 上传的图片服务器地址 |
|
|
|
fileList: [], |
|
|
|
|
|
|
|
// 现病史 |
|
|
|
medicalHistory: [ |
|
|
|
"高脂血症", |
|
|
|
"肝脏疾病(脂肪肝、乙型肝炎、肝硬化等)", |
|
|
|
"胰岛素抵抗", |
|
|
|
"高尿酸", |
|
|
|
"多囊卵巢综合症", |
|
|
|
"高血压", |
|
|
|
"脑血管病", |
|
|
|
"恶性肿瘤", |
|
|
|
"冠心病", |
|
|
|
"精神疾病", |
|
|
|
"胃和十二指肠溃疡", |
|
|
|
"肥胖症", |
|
|
|
"骨质疏松症", |
|
|
|
"遗传性、先天性疾病", |
|
|
|
"糖尿病", |
|
|
|
"慢性肺系疾病", |
|
|
|
"过敏性疾病", |
|
|
|
"关节炎", |
|
|
|
"痛风", |
|
|
|
"肾炎、肾病", |
|
|
|
], |
|
|
|
BMITips: [ |
|
|
|
{ |
|
|
|
label: "体重过轻", |
|
|
@ -346,6 +426,12 @@ export default { |
|
|
|
"SCWJ-BMI": "", |
|
|
|
"SCWJ-JL": "", |
|
|
|
"SCWJ-ZLFS": [], |
|
|
|
"SCWJ-SCSJ": "", |
|
|
|
"SCWJ-RSSJ": "", |
|
|
|
"SCWJ-SXSJ": "", |
|
|
|
"SCWJ-SMXL": "", |
|
|
|
"SCWJ-XBS": [], |
|
|
|
"SCWJ-XBS-QT": "", |
|
|
|
// "SCWJ-NAME": "测试患者2", |
|
|
|
// "SCWJ-SEX": "男", |
|
|
|
// "SCWJ-BIRTH": "1945-01-01", |
|
|
@ -420,6 +506,27 @@ export default { |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-SCSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "上床睡觉不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-RSSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "入睡时间不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-SXSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "睡醒时间不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|
loading: false, |
|
|
|
}; |
|
|
@ -431,6 +538,40 @@ export default { |
|
|
|
this.getQueryHospitalNoToken(); // 组织id获取组织名称 |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 计算睡眠效率 |
|
|
|
// 上床睡觉时间、入睡时间、睡醒时间、起床时间,自动计算睡眠效率(睡眠时间/在床上时间) |
|
|
|
// 睡眠时间 = 入睡时间 - 起床时间 |
|
|
|
// 在床上时间 = 上床睡觉时间 - 入睡时间 |
|
|
|
// 睡眠效率 = 睡眠时间 / 在床上时间 |
|
|
|
|
|
|
|
calculateSleepTime() { |
|
|
|
// 获取时间值 |
|
|
|
const bedTime = this.form["SCWJ-SCSJ"]; // 上床睡觉时间 |
|
|
|
const sleepTime = this.form["SCWJ-RSSJ"]; // 入睡时间 |
|
|
|
const wakeTime = this.form["SCWJ-SXSJ"]; // 睡醒时间 |
|
|
|
|
|
|
|
// 如果缺少任一时间,直接返回 |
|
|
|
if (!bedTime || !sleepTime || !wakeTime) return; |
|
|
|
|
|
|
|
// 将时间字符串转换为分钟数 |
|
|
|
const toMinutes = (timeStr) => { |
|
|
|
const [hour, minute] = timeStr.split(":"); |
|
|
|
return parseInt(hour) * 60 + parseInt(minute); |
|
|
|
}; |
|
|
|
|
|
|
|
// 计算在床上时间(入睡时间 - 上床睡觉时间) |
|
|
|
const inBedMinutes = toMinutes(sleepTime) - toMinutes(bedTime); |
|
|
|
|
|
|
|
// 计算睡眠时间(睡醒时间 - 入睡时间) |
|
|
|
const sleepMinutes = toMinutes(wakeTime) - toMinutes(sleepTime); |
|
|
|
|
|
|
|
// 计算睡眠效率(睡眠时间 / 在床上时间) |
|
|
|
const sleepEfficiency = (sleepMinutes / inBedMinutes) * 100; |
|
|
|
|
|
|
|
// 更新睡眠效率字段,保留两位小数 |
|
|
|
this.form["SCWJ-SMXL"] = sleepEfficiency.toFixed(2) + "%"; |
|
|
|
}, |
|
|
|
|
|
|
|
// 通过出生日期计算年龄 |
|
|
|
calculateAge() { |
|
|
|
const birthDate = new Date(this.form["SCWJ-BIRTH"]); |
|
|
@ -633,6 +774,10 @@ export default { |
|
|
|
</script> |
|
|
|
<style scoped src="@/assets/styles/common.css"></style> |
|
|
|
<style scoped> |
|
|
|
.form-item-xbs >>> .el-form-item__content { |
|
|
|
margin-left: 0 !important; |
|
|
|
} |
|
|
|
|
|
|
|
.idcardupd { |
|
|
|
height: 44px; |
|
|
|
margin-bottom: 14px; |
|
|
|