|
|
@ -1,910 +1,113 @@ |
|
|
|
<template> |
|
|
|
<div class="app-container" v-loading="loading"> |
|
|
|
<div class="hospital">{{ tenantName || "- - - -" }}</div> |
|
|
|
<el-form |
|
|
|
v-if="stepNum == 1" |
|
|
|
:rules="rules" |
|
|
|
ref="form" |
|
|
|
:model="form" |
|
|
|
label-width="100px" |
|
|
|
> |
|
|
|
<!-- 姓名、性别(单选)、出生日期、年龄、联系方式 --> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">基本信息</div> |
|
|
|
<div> |
|
|
|
<!-- <el-upload |
|
|
|
name="file" |
|
|
|
accept=".img,.png,.jpg" |
|
|
|
:action="uploadFileUrl" |
|
|
|
list-type="picture-card" |
|
|
|
class="idcardupd" |
|
|
|
:show-file-list="false" |
|
|
|
:on-success="changeFile" |
|
|
|
:on-change="uploader" |
|
|
|
:on-progress="handleProgress" |
|
|
|
> |
|
|
|
<div slot="trigger" class="idcardupd-but"> |
|
|
|
<img |
|
|
|
src="@/assets/images/idcard.png" |
|
|
|
class="img-icon" |
|
|
|
style="margin-right: 5px" |
|
|
|
/> |
|
|
|
<span>扫描身份证</span> |
|
|
|
</div> |
|
|
|
</el-upload> --> |
|
|
|
<el-form-item label="单位" prop="SCWJ-DW"> |
|
|
|
<el-input |
|
|
|
v-model="form['SCWJ-DW']" |
|
|
|
placeholder="请输入单位" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="姓名" prop="SCWJ-NAME"> |
|
|
|
<el-input |
|
|
|
v-model="form['SCWJ-NAME']" |
|
|
|
placeholder="请输入姓名" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="性别" prop="SCWJ-SEX"> |
|
|
|
<el-radio-group v-model="form['SCWJ-SEX']"> |
|
|
|
<el-radio label="男">男</el-radio> |
|
|
|
<el-radio label="女">女</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="出生日期" prop="SCWJ-BIRTH"> |
|
|
|
<el-date-picker |
|
|
|
v-model="form['SCWJ-BIRTH']" |
|
|
|
value-format=" yyyy-MM-dd" |
|
|
|
format="yyyy-MM-dd" |
|
|
|
type="date" |
|
|
|
placeholder="选择日期" |
|
|
|
@change="calculateAge" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="年龄" prop="SCWJ-AGE"> |
|
|
|
<el-input |
|
|
|
v-model="form['SCWJ-AGE']" |
|
|
|
type="number" |
|
|
|
placeholder="请输入年龄" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系方式" prop="SCWJ-PHONE"> |
|
|
|
<el-input |
|
|
|
v-model="form['SCWJ-PHONE']" |
|
|
|
type="number" |
|
|
|
placeholder="请输入联系方式" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="身高cm" prop="SCWJ-HEIGHT"> |
|
|
|
<el-input |
|
|
|
@blur="calculateBMI" |
|
|
|
v-model="form['SCWJ-HEIGHT']" |
|
|
|
type="number" |
|
|
|
placeholder="请输入身高" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="体重kg" prop="SCWJ-WEIGHT"> |
|
|
|
<el-input |
|
|
|
@blur="calculateBMI" |
|
|
|
v-model="form['SCWJ-WEIGHT']" |
|
|
|
type="number" |
|
|
|
placeholder="请输入体重" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="BMI" prop="SCWJ-BMI"> |
|
|
|
<el-input |
|
|
|
:disabled="true" |
|
|
|
v-model="form['SCWJ-BMI']" |
|
|
|
type="number" |
|
|
|
placeholder="BMI" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="结论" prop="SCWJ-JL"> |
|
|
|
<span :class="`BIMTips${BMIVerdict[form['SCWJ-JL']]}`"> |
|
|
|
{{ form["SCWJ-JL"] || "- - -" }} |
|
|
|
</span> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<div class="app-container"> |
|
|
|
<div class="hospital">南宁市健康体重管理活动知情同意书</div> |
|
|
|
<div class="zqty"> |
|
|
|
<div class="text-bt">尊敬的先生/女士:</div> |
|
|
|
<div class="text-dl"> |
|
|
|
您好!非常感谢您参与南宁市“享瘦美好邕抱健康”健康体重管理活动。本次活动是由南宁市卫生健康委组织的南宁市“体重管理年”系列活动之一,旨在通过建立“筛查-干预-追踪”全流程的体重管理服务体系,全面提升南宁市民的健康水平。 |
|
|
|
</div> |
|
|
|
<!-- 睡眠质量评估 --> |
|
|
|
<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', |
|
|
|
}" |
|
|
|
></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', |
|
|
|
}" |
|
|
|
></el-time-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="起床时间" prop="SCWJ-QCSJ"> |
|
|
|
<el-time-select |
|
|
|
@change="calculateSleepTime" |
|
|
|
placeholder="请选择时间" |
|
|
|
v-model="form['SCWJ-QCSJ']" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:30', |
|
|
|
step: '00:15', |
|
|
|
end: '23:59', |
|
|
|
}" |
|
|
|
></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 class="text-dl"> |
|
|
|
在您参与此次意义非凡的活动前,请您仔细阅读以下内容,这将帮助您充分了解本次活动并保障您的权益: |
|
|
|
</div> |
|
|
|
<!-- 疾病风险选择(现病史) --> |
|
|
|
<div class="card"> |
|
|
|
<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 class="text-dl"> |
|
|
|
1.减重方法安全性:本次采用的减重方法已通过严格的医学验证与实践检验,安全可靠,不会对您的身体造成任何伤害。 |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
|
<!-- <div v-if="stepNum == 2"> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">失眠自评(SRSS)</div> |
|
|
|
<div |
|
|
|
class="item-container" |
|
|
|
v-for="(item, index) in scaleList" |
|
|
|
:key="index" |
|
|
|
> |
|
|
|
<div class="item-title">{{ index + 1 }}. {{ item.question }}</div> |
|
|
|
<div class="item-radio-box"> |
|
|
|
<el-radio-group v-model="form[`topic${index + 1}`]"> |
|
|
|
<el-radio |
|
|
|
class="item-radio" |
|
|
|
v-for="(criteria, index) in item.options" |
|
|
|
:key="index" |
|
|
|
:label="criteria.score" |
|
|
|
>{{ criteria.label }} |
|
|
|
</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="card-tips"> |
|
|
|
SRSS共有10个项目,每个项目分5级评分(1~5),总分为每个项目得分之和。评分愈高,说明睡眠问题愈严重。此量表最低分为10分(基本无睡眠问题),最高分为50分(最严重) |
|
|
|
</div> |
|
|
|
<div class="text-dl"> |
|
|
|
2.生活影响说明:参与本次活动仅需您投入少量时间,整个过程不会干扰您的日常生活节奏,不会给您带来任何不利影响。 |
|
|
|
</div> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">可接受的治疗方式</div> |
|
|
|
<el-checkbox-group v-model="form['SCWJ-ZLFS']"> |
|
|
|
<el-checkbox label="饮食治疗" class="item-radio"> |
|
|
|
饮食治疗(中药代饮、减脂餐、营养制剂) |
|
|
|
</el-checkbox> |
|
|
|
<el-checkbox label="运动治疗" class="item-radio"> |
|
|
|
运动治疗(功率踏车,有氧运动,跑步) |
|
|
|
</el-checkbox> |
|
|
|
<el-checkbox label="中医治疗" class="item-radio"> |
|
|
|
中医治疗(针灸、拔罐、埋线) |
|
|
|
</el-checkbox> |
|
|
|
</el-checkbox-group> |
|
|
|
<div class="text-dl"> |
|
|
|
3.个人信息保护:我们高度重视您的隐私,将严格遵循相关法律法规,采用严密的信息安全防护措施,对您提供的所有个人信息和数据进行严格保密,绝不会泄露给未经授权的第三方。 |
|
|
|
</div> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">可接受的治疗周期</div> |
|
|
|
<el-radio-group v-model="form['SCWJ-ZLZQ']"> |
|
|
|
<el-radio class="item-radio" :label="1">1个月</el-radio> |
|
|
|
<el-radio class="item-radio" :label="2">2个月</el-radio> |
|
|
|
<el-radio class="item-radio" :label="3">3个月</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
<div class="text-dl"> |
|
|
|
4.信息填报与回访要求:您所提供的信息是南宁市民健康体重管理数据的重要组成部分,关乎整体数据的准确性与有效性。请您务必如实填写各项信息,并按照活动组织者的要求,按时参与后续的数据填报及回访工作,这对确保活动的完整性至关重要。 |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
<div class="card"> |
|
|
|
<div class="card-title">筛查结论</div> |
|
|
|
<div class="text-dl"> |
|
|
|
5.退出机制:若在活动过程中,您因身体突发状况或其他不可抗力因素需要退出,请及时告知活动组织者,我们将尊重您的决定,并妥善处理后续事宜。 |
|
|
|
</div> |
|
|
|
<div class="text-dl"> |
|
|
|
本人已仔细阅读并充分理解上述内容,同意自愿参与本次活动,愿意积极配合组织者完成后续各项任务。 |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="btn-dl"> |
|
|
|
<div |
|
|
|
style=" |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
margin-bottom: 6px; |
|
|
|
" |
|
|
|
class="btn-dl-ty" |
|
|
|
:class="{ 'btn-dl-gl': flag === 1 }" |
|
|
|
@click="handleFlag(1)" |
|
|
|
> |
|
|
|
<span>您的体重指数(BMI)为:</span> |
|
|
|
<span>{{ form["SCWJ-BMI"] || "- - -" }}</span> |
|
|
|
同意 |
|
|
|
</div> |
|
|
|
<div |
|
|
|
style=" |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
margin-bottom: 6px; |
|
|
|
" |
|
|
|
class="btn-dl-bty" |
|
|
|
:class="{ 'btn-dl-gl': flag === 0 }" |
|
|
|
@click="flag = 0" |
|
|
|
> |
|
|
|
<span>您的睡眠效率为:</span> |
|
|
|
<span>{{ form["SCWJ-SMXL"] || "- - -" }}%</span> |
|
|
|
不同意 |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<span v-if="tips" :style="{ color: tipsError ? 'red' : 'green' }"> |
|
|
|
{{ tips }} |
|
|
|
</span> |
|
|
|
<span v-if="!tips">- - -</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- <div class="submit-box" v-if="stepNum == 1"> |
|
|
|
<el-button type="primary" class="submit-box-but" @click="submitForm"> |
|
|
|
下一步 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
<div class="submit-box" v-if="stepNum == 2 && disabled"> |
|
|
|
<el-button type="primary" class="submit-box-but" @click="scaleSubmitForm"> |
|
|
|
提交 |
|
|
|
</el-button> |
|
|
|
</div> --> |
|
|
|
<div class="submit-box" v-if="disabled"> |
|
|
|
<el-button type="primary" class="submit-box-but" @click="scaleSubmitForm"> |
|
|
|
提交 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
|
<div class="hospital1">{{ tenantName || "- - - -" }}</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { |
|
|
|
create, |
|
|
|
screenSave, |
|
|
|
screenSubmit, |
|
|
|
queryHospitalNoToken, |
|
|
|
} from "@/api/screening.js"; |
|
|
|
|
|
|
|
export default { |
|
|
|
name: "Notice", |
|
|
|
data() { |
|
|
|
return { |
|
|
|
loading: false, |
|
|
|
disabled: true, |
|
|
|
|
|
|
|
tenantId: "", |
|
|
|
tenantName: "", |
|
|
|
stepNum: 1, // 步骤数 |
|
|
|
uploadFileUrl: process.env.VUE_APP_BASE_URL + "/baidu/ocr/idcardInfo", // 上传的图片服务器地址 |
|
|
|
fileList: [], |
|
|
|
// 现病史 |
|
|
|
medicalHistory: [ |
|
|
|
"无", |
|
|
|
"高脂血症", |
|
|
|
"肝脏疾病(脂肪肝、乙型肝炎、肝硬化等)", |
|
|
|
"胰岛素抵抗", |
|
|
|
"高尿酸", |
|
|
|
"多囊卵巢综合症", |
|
|
|
"高血压", |
|
|
|
"脑血管病", |
|
|
|
"恶性肿瘤", |
|
|
|
"冠心病", |
|
|
|
"精神疾病", |
|
|
|
"胃和十二指肠溃疡", |
|
|
|
"肥胖症", |
|
|
|
"骨质疏松症", |
|
|
|
"遗传性、先天性疾病", |
|
|
|
"糖尿病", |
|
|
|
"慢性肺系疾病", |
|
|
|
"过敏性疾病", |
|
|
|
"关节炎", |
|
|
|
"痛风", |
|
|
|
"肾炎、肾病", |
|
|
|
], |
|
|
|
BMITips: [ |
|
|
|
{ |
|
|
|
label: "体重过轻", |
|
|
|
score: 18.5, |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "正常", |
|
|
|
score: 23.9, |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "超重", |
|
|
|
score: 27.9, |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "肥胖", |
|
|
|
score: 28, |
|
|
|
}, |
|
|
|
], |
|
|
|
|
|
|
|
BMIVerdict: { |
|
|
|
体重过轻: "1", |
|
|
|
正常: "2", |
|
|
|
超重: "3", |
|
|
|
肥胖: "4", |
|
|
|
}, |
|
|
|
tips: "", //结果提示 |
|
|
|
tipsError: false, //结果提示 |
|
|
|
// 1.您觉得平时睡眠足够吗 ? |
|
|
|
// ①睡眠过多了 ②睡眠正好 ③睡眠欠一些 ④睡眠不够 ⑤睡眠时间远远不够 |
|
|
|
// 2.您在睡眠后是否已觉得充分休息过了 ? |
|
|
|
// ①觉得充分休息过了 ②觉得休息过了 ③觉得休息了一点 ④不觉得休息过了 ⑤觉得一点儿也没休息 |
|
|
|
// 3.您晚上已睡过觉,白天是否打瞌睡 ? |
|
|
|
// ① 0~5 天 ②很少 (6~12 天) ③有时 (13~18 天)) ④经常(19~24 天) ⑤总是(25~31 天) |
|
|
|
// 4.您平均每个晚上大约能睡几小时 ? |
|
|
|
// ①≥9小时 ② 7~8 小时 ③ 5~6 小时 ④ 3~4 小时 ⑤ 1~2 小时 |
|
|
|
// 5.您是否有入睡困难 ? |
|
|
|
// ①0~5 天 ②很少 (6~12 天) ③有时(13~18 天 ) ④经常(19~24 天) ⑤总是(25~31 天) |
|
|
|
// 6.您入睡后中间是否易醒 ? |
|
|
|
// ①0~5 天 ②很少(6~12 天) ③有时(13~18 天) ④经常 (19~24 天) ⑤总是(25~31 天) |
|
|
|
// 7.您在醒后是否难于再入睡 ? |
|
|
|
// ①0~5天 ②很少(61~2 天) ③有时 (13~18 天) ④经常 (19~24 天) ⑤总是 (25~31 天) |
|
|
|
// 8.您是否多梦或常被恶梦惊醒 ? |
|
|
|
// ①0~5天 ②很少(61~2 天) ③有时 (13~18 天) ④经常 (19~24 天) ⑤总是 (25~31 天) |
|
|
|
// 9.为了睡眠 , 您是否吃安眠药 ? |
|
|
|
// ①0~5天 ②很少(61~2 天) ③有时 (13~18 天) ④经常 (19~24 天) ⑤总是 (25~31 天) |
|
|
|
// 10.您失眠后心情(心境)如何 ? |
|
|
|
// ①无不适 ②无所谓 ③有时心烦、急躁 ④心慌、气短 ⑤乏力、没精神、做事效率低 |
|
|
|
scaleList: [ |
|
|
|
{ |
|
|
|
question: "您觉得平时睡眠足够吗 ?", |
|
|
|
options: [ |
|
|
|
{ label: "睡眠过多了", score: 1 }, |
|
|
|
{ label: "睡眠正好", score: 2 }, |
|
|
|
{ label: "睡眠欠一些", score: 3 }, |
|
|
|
{ label: "睡眠不够", score: 4 }, |
|
|
|
{ label: "睡眠时间远远不够", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您在睡眠后是否已觉得充分休息过了 ?", |
|
|
|
options: [ |
|
|
|
{ label: "觉得充分休息过了", score: 1 }, |
|
|
|
{ label: "觉得休息过了", score: 2 }, |
|
|
|
{ label: "觉得休息了一点", score: 3 }, |
|
|
|
{ label: "不觉得休息过了", score: 4 }, |
|
|
|
{ label: "觉得一点儿也没休息", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您晚上已睡过觉,白天是否打瞌睡 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5 天", score: 1 }, |
|
|
|
{ label: "很少 (6~12 天)", score: 2 }, |
|
|
|
{ label: "有时 (13~18 天)", score: 3 }, |
|
|
|
{ label: "经常(19~24 天)", score: 4 }, |
|
|
|
{ label: "总是(25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您平均每个晚上大约能睡几小时 ?", |
|
|
|
options: [ |
|
|
|
{ label: "≥9小时", score: 1 }, |
|
|
|
{ label: "7~8 小时", score: 2 }, |
|
|
|
{ label: "5~6 小时", score: 3 }, |
|
|
|
{ label: "3~4 小时", score: 4 }, |
|
|
|
{ label: "1~2 小时", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您是否有入睡困难 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5 天", score: 1 }, |
|
|
|
{ label: "很少 (6~12 天)", score: 2 }, |
|
|
|
{ label: "有时(13~18 天 )", score: 3 }, |
|
|
|
{ label: "经常(19~24 天)", score: 4 }, |
|
|
|
{ label: "总是(25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您入睡后中间是否易醒 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5 天", score: 1 }, |
|
|
|
{ label: "很少(6~12 天)", score: 2 }, |
|
|
|
{ label: "有时(13~18 天)", score: 3 }, |
|
|
|
{ label: "经常 (19~24 天)", score: 4 }, |
|
|
|
{ label: "总是(25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您在醒后是否难于再入睡 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5天", score: 1 }, |
|
|
|
{ label: "很少(6~12 天)", score: 2 }, |
|
|
|
{ label: "有时 (13~18 天)", score: 3 }, |
|
|
|
{ label: "经常 (19~24 天)", score: 4 }, |
|
|
|
{ label: "总是 (25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您是否多梦或常被恶梦惊醒 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5天", score: 1 }, |
|
|
|
{ label: "很少(6~12 天)", score: 2 }, |
|
|
|
{ label: "有时 (13~18 天)", score: 3 }, |
|
|
|
{ label: "经常 (19~24 天)", score: 4 }, |
|
|
|
{ label: "总是 (25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "为了睡眠 , 您是否吃安眠药 ?", |
|
|
|
options: [ |
|
|
|
{ label: "0~5天", score: 1 }, |
|
|
|
{ label: "很少(6~12 天)", score: 2 }, |
|
|
|
{ label: "有时 (13~18 天)", score: 3 }, |
|
|
|
{ label: "经常 (19~24 天)", score: 4 }, |
|
|
|
{ label: "总是 (25~31 天)", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
{ |
|
|
|
question: "您失眠后心情(心境)如何 ?", |
|
|
|
options: [ |
|
|
|
{ label: "无不适", score: 1 }, |
|
|
|
{ label: "无所谓", score: 2 }, |
|
|
|
{ label: "有时心烦、急躁", score: 3 }, |
|
|
|
{ label: "心慌、气短", score: 4 }, |
|
|
|
{ label: "乏力、没精神、做事效率低", score: 5 }, |
|
|
|
], |
|
|
|
}, |
|
|
|
], // 表单参数 |
|
|
|
form: { |
|
|
|
"SCWJ-DW": "", |
|
|
|
"SCWJ-NAME": "", |
|
|
|
"SCWJ-SEX": "男", |
|
|
|
"SCWJ-BIRTH": "", |
|
|
|
"SCWJ-AGE": "", |
|
|
|
"SCWJ-PHONE": "", |
|
|
|
"SCWJ-HEIGHT": "", |
|
|
|
"SCWJ-WEIGHT": "", |
|
|
|
"SCWJ-BMI": "", |
|
|
|
"SCWJ-JL": "", |
|
|
|
"SCWJ-ZLFS": [], |
|
|
|
"SCWJ-SCSJ": "22:00", // 上床睡觉 |
|
|
|
"SCWJ-RSSJ": "22:30", // 入睡时间 |
|
|
|
"SCWJ-SXSJ": "06:30", // 睡醒时间 |
|
|
|
"SCWJ-QCSJ": "07:00", // 起床时间 |
|
|
|
"SCWJ-SMXL": "", // 睡眠效率 |
|
|
|
"SCWJ-XBS": [], // 现病史 |
|
|
|
"SCWJ-XBS-QT": "", // 现病史- 其他 |
|
|
|
// "SCWJ-NAME": "测试患者2", |
|
|
|
// "SCWJ-SEX": "男", |
|
|
|
// "SCWJ-BIRTH": "1945-01-01", |
|
|
|
// "SCWJ-AGE": "70", |
|
|
|
// "SCWJ-PHONE": "18534353638", |
|
|
|
// "SCWJ-HEIGHT": "170", |
|
|
|
// "SCWJ-WEIGHT": "80", |
|
|
|
// "SCWJ-BMI": "24.56", |
|
|
|
// "SCWJ-JL": "正常", |
|
|
|
// "SCWJ-ZLFS": [], |
|
|
|
}, |
|
|
|
// 表单校验 |
|
|
|
rules: { |
|
|
|
"SCWJ-DW": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "单位不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-NAME": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "姓名不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-SEX": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "性别不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-BIRTH": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "出生日期不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-AGE": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "年龄不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-PHONE": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "联系方式不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
{ |
|
|
|
pattern: /^1[3456789]\d{9}$/, |
|
|
|
message: "格式不正确", |
|
|
|
trigger: ["blur", "change"], |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-HEIGHT": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "身高不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-WEIGHT": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "体重不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-BMI": [ |
|
|
|
{ |
|
|
|
required: false, |
|
|
|
message: "BMI不能为空", |
|
|
|
trigger: "blur", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-SCSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "上床睡觉不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-RSSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "入睡时间不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-SXSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "睡醒时间不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
"SCWJ-QCSJ": [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: "起床时间不能为空", |
|
|
|
trigger: "change", |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|
loading: false, |
|
|
|
flag: null, |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.tenantId = this.$route.query.tenantId; |
|
|
|
console.log("this.tenantId", this.tenantId); |
|
|
|
localStorage.setItem("tenantId", this.tenantId); |
|
|
|
this.getQueryHospitalNoToken(); // 组织id获取组织名称 |
|
|
|
this.calculateSleepTime(); //计算睡眠效率 |
|
|
|
}, |
|
|
|
// 监听结论和睡眠效率 |
|
|
|
watch: { |
|
|
|
form: { |
|
|
|
handler(newVal, oldVal) { |
|
|
|
this.getTips(); |
|
|
|
}, |
|
|
|
deep: true, |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 获取筛查结论 |
|
|
|
getTips() { |
|
|
|
console.log("获取筛查结论"); |
|
|
|
|
|
|
|
const BMI = this.form["SCWJ-BMI"]; // BMI |
|
|
|
const sleepEfficiency = this.form["SCWJ-SMXL"]; // 睡眠效率 |
|
|
|
if (BMI && sleepEfficiency) { |
|
|
|
// BMI大于25或睡眠效率低于85%,{{ "建议找专业医师进一步评估" }}。 |
|
|
|
if (BMI > 25 || sleepEfficiency < 85) { |
|
|
|
this.tips = "建议找专业医师进一步评估"; |
|
|
|
this.tipsError = true; |
|
|
|
} else { |
|
|
|
this.tips = "均属于正常范围,请继续保持"; |
|
|
|
this.tipsError = false; |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
// 计算睡眠效率 |
|
|
|
// 上床睡觉时间、入睡时间、睡醒时间、起床时间,自动计算睡眠效率(睡眠时间/在床上时间) |
|
|
|
// 睡眠时间 = 睡醒时间 - 入睡时间 |
|
|
|
// 在床上时间 = 起床时间 - 上床时间 |
|
|
|
// 睡眠效率 = 睡眠时间 / 在床上时间 |
|
|
|
// 注: |
|
|
|
// 睡醒时间 小于 入睡时间则表示是第二天的时间 |
|
|
|
// 起床时间 小于 上床则表示是第二天的时间 |
|
|
|
calculateSleepTime() { |
|
|
|
// 获取时间值 |
|
|
|
const bedTime = this.form["SCWJ-SCSJ"]; // 上床睡觉时间 |
|
|
|
const sleepTime = this.form["SCWJ-RSSJ"]; // 入睡时间 |
|
|
|
const wakeTime = this.form["SCWJ-SXSJ"]; // 睡醒时间 |
|
|
|
const wakeBedTime = this.form["SCWJ-QCSJ"]; // 起床时间 |
|
|
|
|
|
|
|
// 如果缺少任一时间,直接返回 |
|
|
|
if (!bedTime || !sleepTime || !wakeTime || !wakeBedTime) return; |
|
|
|
|
|
|
|
// 将时间字符串转换为分钟数 |
|
|
|
const toMinutes = (timeStr) => { |
|
|
|
const [hour, minute] = timeStr.split(":"); |
|
|
|
return parseInt(hour) * 60 + parseInt(minute); |
|
|
|
}; |
|
|
|
|
|
|
|
// 计算在床上时间和睡眠时间 |
|
|
|
// 在床上时间 = 上床睡觉时间 - 入睡时间 |
|
|
|
// 睡眠时间 = 入睡时间 - 起床时间 |
|
|
|
let inBedMinutes = toMinutes(wakeBedTime) - toMinutes(bedTime); // 在床上时间 |
|
|
|
let sleepMinutes = toMinutes(wakeTime) - toMinutes(sleepTime); // 睡眠时间 |
|
|
|
|
|
|
|
// 处理跨天情况 |
|
|
|
// 如果入睡时间小于上床时间,说明跨天,加上24小时 |
|
|
|
if (inBedMinutes < 0) { |
|
|
|
inBedMinutes += 24 * 60; |
|
|
|
} |
|
|
|
|
|
|
|
// 如果睡醒时间小于入睡时间,说明跨天,加上24小时 |
|
|
|
if (sleepMinutes < 0) { |
|
|
|
sleepMinutes += 24 * 60; |
|
|
|
} |
|
|
|
console.log("inBedMinutes", inBedMinutes); |
|
|
|
console.log("sleepMinutes", sleepMinutes); |
|
|
|
// 计算睡眠效率(睡眠时间 / 在床上时间) |
|
|
|
const sleepEfficiency = (sleepMinutes / inBedMinutes) * 100; |
|
|
|
|
|
|
|
// 更新睡眠效率字段,保留两位小数 |
|
|
|
this.form["SCWJ-SMXL"] = sleepEfficiency.toFixed(0); |
|
|
|
}, |
|
|
|
|
|
|
|
// 通过出生日期计算年龄 |
|
|
|
calculateAge() { |
|
|
|
const birthDate = new Date(this.form["SCWJ-BIRTH"]); |
|
|
|
const today = new Date(); |
|
|
|
let age = today.getFullYear() - birthDate.getFullYear(); |
|
|
|
const monthDiff = today.getMonth() - birthDate.getMonth(); |
|
|
|
if ( |
|
|
|
monthDiff < 0 || |
|
|
|
(monthDiff === 0 && today.getDate() < birthDate.getDate()) |
|
|
|
) { |
|
|
|
age--; |
|
|
|
} |
|
|
|
this.form["SCWJ-AGE"] = age; |
|
|
|
}, |
|
|
|
|
|
|
|
// 上传身份信息,获取身份信息字段 |
|
|
|
async changeFile(e) { |
|
|
|
this.loading = false; |
|
|
|
console.log("上传身份信息: ", e); |
|
|
|
const { code, data } = e; |
|
|
|
console.log("data: ", data); |
|
|
|
if (code === 200) { |
|
|
|
this.spinning = false; |
|
|
|
this.codeValue["SCWJ-NAME"] = data.name; |
|
|
|
this.codeValue["SCWJ-SEX"] = data.sex; |
|
|
|
this.codeValue["SCWJ-idCard"] = data.idcard; |
|
|
|
this.codeValue["SCWJ-AGE"] = data.age; |
|
|
|
await this.setValueByIdCard(data.idcard); |
|
|
|
// await this.saveAnswer(data.name, "SCWJ-NAME"); |
|
|
|
// await this.saveAnswer(data.idcard, "SCWJ-idCard"); |
|
|
|
} |
|
|
|
}, |
|
|
|
handleProgress() { |
|
|
|
this.loading = true; |
|
|
|
}, |
|
|
|
uploader(res) { |
|
|
|
this.loading = false; |
|
|
|
}, |
|
|
|
// 组织id获取组织名称 |
|
|
|
getQueryHospitalNoToken() { |
|
|
|
let params = { |
|
|
|
id: this.$route.query.tenantId, |
|
|
|
}; |
|
|
|
queryHospitalNoToken(params).then((response) => { |
|
|
|
this.tenantName = response.data.name || ""; |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 计算BIM |
|
|
|
calculateBMI() { |
|
|
|
if (this.form["SCWJ-WEIGHT"] && this.form["SCWJ-HEIGHT"]) { |
|
|
|
const weight = parseFloat(this.form["SCWJ-WEIGHT"]); |
|
|
|
const height = parseFloat(this.form["SCWJ-HEIGHT"]); |
|
|
|
const bmi = weight / (height / 100) ** 2; |
|
|
|
this.form["SCWJ-BMI"] = bmi.toFixed(2); |
|
|
|
this.getBMITips(bmi); |
|
|
|
} |
|
|
|
}, |
|
|
|
// 通过BIM结果显示对于的结论 |
|
|
|
// <18.5:体重过轻 |
|
|
|
// 18.5~23.9:正常 |
|
|
|
// 24~27.9:超重 |
|
|
|
// ≥28:肥胖 |
|
|
|
getBMITips(bmi) { |
|
|
|
let tips = ""; |
|
|
|
if (bmi < 18.5) { |
|
|
|
tips = "体重过轻"; |
|
|
|
} |
|
|
|
if (bmi >= 18.5 && bmi < 23.9) { |
|
|
|
tips = "正常"; |
|
|
|
} |
|
|
|
if (bmi >= 24 && bmi < 27.9) { |
|
|
|
tips = "超重"; |
|
|
|
} |
|
|
|
if (bmi >= 28) { |
|
|
|
tips = "肥胖"; |
|
|
|
} |
|
|
|
this.form["SCWJ-JL"] = tips; |
|
|
|
}, |
|
|
|
// 上传成功回 - pdg |
|
|
|
handleUploadPdfAdd1(res) { |
|
|
|
if (res.code == 200) { |
|
|
|
this.importOpen = false; |
|
|
|
this.getList(); |
|
|
|
this.$modal.msgSuccess("导入成功"); |
|
|
|
} else { |
|
|
|
this.$message.error(res.msg || "导入失败"); |
|
|
|
this.fileList = []; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 上传前校检格式和大小 - 图片 |
|
|
|
handleBeforeUpload1(file) { |
|
|
|
const isLt2M = file.size / 1024 / 1024 < 100; |
|
|
|
// 校检文件大小 |
|
|
|
if (!isLt2M) { |
|
|
|
this.$message.error("上传文件大小不能超过 100MB!"); |
|
|
|
} |
|
|
|
return isLt2M; |
|
|
|
}, |
|
|
|
// 上传前校检格式和大小 - 文件 |
|
|
|
handleBeforePdfUpload1(file) { |
|
|
|
const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1); |
|
|
|
const whiteList = ["xlsx", "xls"]; |
|
|
|
if (whiteList.indexOf(fileSuffix) === -1) { |
|
|
|
this.$message.error("上传文件只能是.xlsx, .xls"); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}, |
|
|
|
/** 查询公告列表 */ |
|
|
|
getList() { |
|
|
|
this.loading = true; |
|
|
|
queryPatient(this.queryParams).then((res) => { |
|
|
|
this.listDat = res.data.list; |
|
|
|
this.total = res.data.total; |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** 基本信息 */ |
|
|
|
submitForm: function () { |
|
|
|
this.$refs["form"].validate(async (valid) => { |
|
|
|
if (valid) { |
|
|
|
// 滚动条回到顶部 |
|
|
|
window.scrollTo(0, 0); |
|
|
|
this.stepNum++; |
|
|
|
} |
|
|
|
// 同意不同意 |
|
|
|
handleFlag(_flag) { |
|
|
|
this.flag = _flag; |
|
|
|
this.$router.push({ |
|
|
|
path: "/screening/h5eva", |
|
|
|
query: { |
|
|
|
tenantId: this.tenantId, |
|
|
|
}, |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 量表结果 |
|
|
|
async scaleSubmitForm() { |
|
|
|
try { |
|
|
|
this.$refs["form"].validate(async (valid) => { |
|
|
|
if (valid) { |
|
|
|
// ------ 量表分值计算 ------ |
|
|
|
let score = 0; |
|
|
|
// 计算总分, topic${i}属性不一定存在,先校验是否存在 |
|
|
|
for (let i = 1; i <= 24; i++) { |
|
|
|
if (this.form[`topic${i}`] !== undefined) { |
|
|
|
score += this.form[`topic${i}`]; |
|
|
|
} |
|
|
|
} |
|
|
|
// ------ 创建筛查 ------ |
|
|
|
const params = { |
|
|
|
param: { |
|
|
|
type: 33, |
|
|
|
tenantId: this.tenantId, |
|
|
|
centerId: this.tenantId, |
|
|
|
}, |
|
|
|
}; |
|
|
|
create(params).then(async (res) => { |
|
|
|
this.loading = true; |
|
|
|
this.detailId = res.data.detailId; |
|
|
|
this.id = res.data.id; |
|
|
|
// ------ 保存答案 ------ |
|
|
|
// 基本信息 |
|
|
|
await this.saveAnswer(this.form["SCWJ-DW"], "SCWJ-DW"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-NAME"], "SCWJ-NAME"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-SEX"], "SCWJ-SEX"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-BIRTH"], "SCWJ-BIRTH"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-AGE"], "SCWJ-AGE"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-PHONE"], "SCWJ-PHONE"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-HEIGHT"], "SCWJ-HEIGHT"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-WEIGHT"], "SCWJ-WEIGHT"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-BMI"], "SCWJ-BMI"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-JL"], "SCWJ-JL"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-SCSJ"], "SCWJ-SCSJ"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-RSSJ"], "SCWJ-RSSJ"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-SXSJ"], "SCWJ-SXSJ"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-QCSJ"], "SCWJ-QCSJ"); |
|
|
|
await this.saveAnswer(this.form["SCWJ-SMXL"], "SCWJ-SMXL"); |
|
|
|
await this.saveAnswer( |
|
|
|
this.form["SCWJ-XBS"].toString(), |
|
|
|
"SCWJ-XBS" |
|
|
|
); |
|
|
|
await this.saveAnswer(this.form["SCWJ-XBS-QT"], "SCWJ-XBS-QT"); |
|
|
|
await this.saveAnswer(this.tips, "SCREEN-JL"); |
|
|
|
|
|
|
|
// 筛查总分 |
|
|
|
// await this.saveAnswer(score, "SCWJ-RESULT"); |
|
|
|
// await this.saveAnswer( |
|
|
|
// this.form["SCWJ-ZLFS"].toString(), |
|
|
|
// "SCWJ-ZLFS" |
|
|
|
// ); // 治疗方式 |
|
|
|
// await this.saveAnswer(this.form["SCWJ-ZLZQ"], "SCWJ-ZLZQ"); // 治疗周期 |
|
|
|
// ------ 提交筛查 ------ |
|
|
|
const submitParams = { param: { detailId: this.detailId } }; |
|
|
|
await screenSubmit(submitParams).then((response) => { |
|
|
|
this.loading = false; |
|
|
|
this.disabled = false; |
|
|
|
this.$modal.msgSuccess("提交成功"); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (error) { |
|
|
|
this.loading = false; |
|
|
|
this.disabled = false; |
|
|
|
console.log("提交失败:", error); |
|
|
|
this.$message.error("提交失败,请稍后重试!"); |
|
|
|
} |
|
|
|
}, |
|
|
|
// 保存答案 |
|
|
|
async saveAnswer(value, str) { |
|
|
|
try { |
|
|
|
const params = { |
|
|
|
param: { |
|
|
|
answer: value, |
|
|
|
code: str, |
|
|
|
detailId: this.detailId, |
|
|
|
}, |
|
|
|
}; |
|
|
|
await screenSave(params).then((response) => {}); |
|
|
|
} catch (error) { |
|
|
|
this.loading = false; |
|
|
|
this.disabled = false; |
|
|
|
console.log("保存失败:", error); |
|
|
|
this.$message.error("保存失败,请稍后重试!"); |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|
<style scoped src="@/assets/styles/common.css"></style> |
|
|
|
<style scoped> |
|
|
|
.btn-dl { |
|
|
|
display: flex; |
|
|
|
} |
|
|
|
.btn-dl div { |
|
|
|
flex: 1; |
|
|
|
background: #fff; |
|
|
|
border-radius: 4px; |
|
|
|
line-height: 40px; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
.btn-dl-gl { |
|
|
|
color: #c6a268; |
|
|
|
} |
|
|
|
.btn-dl-ty { |
|
|
|
margin-right: 16px; |
|
|
|
} |
|
|
|
.text-dl { |
|
|
|
text-indent: 2em; |
|
|
|
font-size: 16px; |
|
|
|
color: #222; |
|
|
|
line-height: 28px; |
|
|
|
} |
|
|
|
.text-bt { |
|
|
|
font-size: 18px; |
|
|
|
color: #222; |
|
|
|
line-height: 30px; |
|
|
|
margin-bottom: 5px; |
|
|
|
} |
|
|
|
.zqty { |
|
|
|
padding: 16px; |
|
|
|
background: #fff; |
|
|
|
border-radius: 6px; |
|
|
|
margin-bottom: 14px; |
|
|
|
} |
|
|
|
>>> .el-checkbox { |
|
|
|
margin-right: 10px rtant; |
|
|
|
} |
|
|
@ -946,10 +149,10 @@ export default { |
|
|
|
background: #fff; |
|
|
|
font-size: 20px; |
|
|
|
color: #70483e; |
|
|
|
line-height: 50px; |
|
|
|
font-weight: 600; |
|
|
|
margin-bottom: 10px; |
|
|
|
border-radius: 6px; |
|
|
|
padding: 10px 16px; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
.BIMTips1 { |
|
|
|