Browse Source

诊疗档案添加患者健康问卷(PHQ-9)

newMaster
1747191978@qq.com 4 months ago
parent
commit
110da652db
  1. 11
      acupuncture-前台/src/views/medicalFile/components/posture/PHQ-9.vue
  2. 182
      acupuncture-前台/src/views/medicalFile/components/posture/epworth.vue
  3. 17
      acupuncture-前台/src/views/medicalFile/details.vue

11
acupuncture-前台/src/views/medicalFile/components/posture/PHQ-9.vue

@ -140,9 +140,12 @@ export default {
created() {
this.treatmentId = this.$route.query.treatmentId; // id
let scaleData = localStorage.getItem("scaleData"); //
this.scaleData = JSON.parse(scaleData) || {};
console.log(" this.scaleData", this.scaleData);
this.form = this.scaleData[this.treatmentId] || {}; // form
this.scaleData = scaleData
? JSON.parse(scaleData)
: {
[this.treatmentId]: {},
};
this.form = this.scaleData[this.treatmentId].PHQ9 || {}; // form
},
methods: {
submitForm() {
@ -154,7 +157,7 @@ export default {
}
}
//
this.scaleData[this.treatmentId] = this.form;
this.scaleData[this.treatmentId].PHQ9 = this.form;
localStorage.setItem("scaleData", JSON.stringify(this.scaleData));
//
this.$emit("getScaleResult", score, "PG_SM_PHQ-9_DF");

182
acupuncture-前台/src/views/medicalFile/components/posture/epworth.vue

@ -0,0 +1,182 @@
<template>
<div>
<!--
分值范围
评分方法每个条目根据症状频率评分0分表示完全没有1分表示有几天2分表示七天以上3分表示接近每天总分范围为0~27
分值意义
0~4无或极轻微的抑郁症状
5~9轻度抑郁
10~14中度抑郁
15~19中重度抑郁
20~27重度抑郁
-->
<div>
<div
class="item-container"
v-for="(item, index) in questions"
:key="index"
>
<div class="item-title">{{ item.index }}. {{ item.question }}</div>
<div class="item-radio-box">
<el-radio-group v-model="form[`topic${item.index}`]">
<el-radio
v-for="(criteria, index) in item.criteria"
:key="index"
:label="criteria.value"
>{{ criteria.label }}
</el-radio>
</el-radio-group>
</div>
</div>
<div class="submit-box">
<el-button type="primary" @click="submitForm">提交</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
name: "phq",
data() {
return {
form: {},
questions: [
{
index: 1,
question: "做任何事都觉得沉闷或者根本不想做任何事",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 2,
question: "情绪低落、忧郁或绝望",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 3,
question: "难于入睡、半夜会醒,或相反,睡觉时间过多",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 4,
question: "觉得疲倦或没有精力",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 5,
question: "胃口不好或饮食过量",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 6,
question: "觉得自己做得不好、对自己失望或有负家人期望",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 7,
question: "难于集中精神做事,例如看报纸或看电视",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 8,
question:
"其它人可能会注意到您在动或说话的时候比平时慢;或者相反,您坐立不安,比起平时有多余的身体动作",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
{
index: 9,
question: "想到自己不如死了算了,或者有自残的念头",
criteria: [
{ label: "完全没有", value: 0 },
{ label: "有几天", value: 1 },
{ label: "七天以上", value: 2 },
{ label: "接近每天", value: 3 },
],
},
],
scaleData: {},
};
},
created() {
this.treatmentId = this.$route.query.treatmentId; // id
let scaleData = localStorage.getItem("scaleData"); //
this.scaleData = JSON.parse(scaleData) || {};
console.log(" this.scaleData", this.scaleData);
this.form = this.scaleData[this.treatmentId] || {}; // form
},
methods: {
submitForm() {
let score = 0;
// , topic${i}
for (let i = 1; i <= 9; i++) {
if (this.form[`topic${i}`] !== undefined) {
score += this.form[`topic${i}`];
}
}
//
this.scaleData[this.treatmentId] = this.form;
localStorage.setItem("scaleData", JSON.stringify(this.scaleData));
//
this.$emit("getScaleResult", score, "PG_SM_PHQ-9_DF");
},
},
};
</script>
<style scoped src="@/assets/styles/common.css"></style>
<style scoped>
.item-title {
font-size: 20px;
font-weight: bold;
color: #3d3d3d;
line-height: 26px;
}
.item-radio-box {
margin: 16px 0px;
}
>>> .el-radio__label {
font-size: 18px;
color: #555555;
line-height: 20px;
}
</style>

17
acupuncture-前台/src/views/medicalFile/details.vue

@ -246,10 +246,16 @@
placeholder="请输入"
/>
</el-form-item>
<el-form-item
label="Epworth嗜睡评估得分(0-24分)"
prop="PG_SM_EPSW_DF"
<el-form-item prop="PG_SM_EPSW_DF">
<template v-slot:label>
Epworth嗜睡评估得分(0-24)
<span
class="foem-item-pg"
@click="handleComponents('epworth', 'Epworth嗜睡评估')"
>
评估
</span>
</template>
<el-input
v-model="detailsForm['PG_SM_EPSW_DF']"
placeholder="请输入"
@ -438,11 +444,13 @@
<script>
import { queryRecord, saveAidRecord } from "@/api/medicalFile";
import PHQ from "./components/posture/PHQ-9";
import PHQ from "./components/posture/PHQ-9"; // PHQ-9
import epworth from "./components/posture/PHQ-9"; // Epworth
export default {
name: "Notice",
components: {
PHQ,
epworth,
},
data() {
return {
@ -451,6 +459,7 @@ export default {
component: {
//
PHQ9: "PHQ", // PHQ-9
epworth: "epworth", // Epworth
}, //
componentsCode: "", // code
stepActive: 0,

Loading…
Cancel
Save