Browse Source

诊疗档案(失眠评估)

newMaster
liuzhipeng 4 months ago
parent
commit
967bf02348
  1. 209
      acupuncture-前台/src/views/indexCom/JM.vue
  2. 64
      acupuncture-前台/src/views/indexCom/index.js

209
acupuncture-前台/src/views/indexCom/JM.vue

@ -17,8 +17,7 @@
<el-card shadow="always">
<div class="dis title-box">
<span class="header-title">体系分布</span>
<div class="dis">
</div>
<div class="dis"></div>
</div>
<div style="height: 300px" v-loading="loading">
<div id="system" style="width: 100%"></div>
@ -44,8 +43,7 @@
<el-card shadow="always">
<div class="dis title-box">
<span class="header-title">体态评估TAPS</span>
<div class="dis">
</div>
<div class="dis"></div>
</div>
<div style="height: 300px" v-loading="loading">
<div id="posture" style="width: 100%"></div>
@ -71,8 +69,7 @@
<el-card shadow="always">
<div class="dis title-box">
<span class="header-title">焦虑HAMD-24</span>
<div class="dis">
</div>
<div class="dis"></div>
</div>
<div style="height: 300px" v-loading="loading">
<div id="anxiety" style="width: 100%"></div>
@ -85,19 +82,18 @@
</template>
<script>
import * as echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "@/views/dashboard/mixins/resize";
import {
zlInfo
} from "@/api/indexCom.js";
import {
import * as echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "@/views/dashboard/mixins/resize";
import { zlInfo } from "@/api/indexCom.js";
import {
diagnoseEcharts,
systemEcharts,
physiqueEcharts,
postureEcharts
} from "./index";
export default {
postureEcharts,
agrypniaEcharts,
} from "./index";
export default {
name: "Post",
props: ["title"],
mixins: [resize],
@ -109,35 +105,37 @@
endTime: "",
},
},
loading: false,
diagnoseValue: null, //
systemValue: null, //
physiqueValue: null, //
postureValue:null, //
postureValue: null, //
agrypniaValue: null, //
//
systemObj: {
"yxfpz": "隐形肥胖型", //
"zfgdx": "脂肪过多型", //
"fpx": "肥胖型", //
"jrbzx": "肌肉不足型", //
"jkjcx": "健康匀称型", //
"czjrx": "超重肌肉型", //
"xsx": "消瘦型", //
"dzfx": "低脂肪型", //
"ydyx": "运动员型", //
yxfpz: "隐形肥胖型", //
zfgdx: "脂肪过多型", //
fpx: "肥胖型", //
jrbzx: "肌肉不足型", //
jkjcx: "健康匀称型", //
czjrx: "超重肌肉型", //
xsx: "消瘦型", //
dzfx: "低脂肪型", //
ydyx: "运动员型", //
},
//
physiqueObj: {
"phz": "平和质", //
"qxz": "气虚质", //
"yangxz": "阳虚质", //
"yinxz": "阴虚质", //
"tsz": "痰湿质", //湿
"srz": "湿热质", //湿
"xyz": "血瘀质", //
"qyz": "气郁质", //
"tlz": "特禀质", //
phz: "平和质", //
qxz: "气虚质", //
yangxz: "阳虚质", //
yinxz: "阴虚质", //
tsz: "痰湿质", //湿
srz: "湿热质", //湿
xyz: "血瘀质", //
qyz: "气郁质", //
tlz: "特禀质", //
},
};
},
@ -155,57 +153,62 @@
async getData() {
try {
await zlInfo(this.queryParams).then((res) => {
const {
jlfb,
smfb,
sort,
ttfb,
txfb,
zytz
} = res.data
const { jlfb, smfb, sort, ttfb, txfb, zytz } = res.data;
//
this.diagnoseValue = sort.sort((a, b) => a.total - b.total)
this.handleDiagnose()
this.diagnoseValue = sort.sort((a, b) => a.total - b.total);
this.handleDiagnose();
//
this.systemValue = []
delete txfb.total
this.systemValue = [];
delete txfb.total;
for (let key in txfb) {
let data = {
name: this.systemObj[key],
value: txfb[key]
}
this.systemValue.push(data)
value: txfb[key],
};
this.systemValue.push(data);
}
this.handleSystem()
this.handleSystem();
//
this.physiqueValue = []
delete zytz.total
this.physiqueValue = [];
delete zytz.total;
for (let key in zytz) {
let data = {
name: this.physiqueObj[key],
value: zytz[key],
};
this.physiqueValue.push(data);
}
this.physiqueValue.push(data)
}
this.handlePhysique()
this.handlePhysique();
//
this.postureValue = [{
this.postureValue = [
{
value: ttfb.score1,
name: "1分"
},{
name: "1分",
},
{
value: ttfb.score2,
name: "2分"
},{
name: "2分",
},
{
value: ttfb.score3,
name: "3分"
},{
name: "3分",
},
{
value: ttfb.score4,
name: "4分"
},{
name: "4分",
},
{
value: ttfb.score5,
name: "5分"
}]
this.handlePosture()
name: "5分",
},
];
this.handlePosture();
// PHQ-9
this.agrypniaValue = [];
for (let key in smfb) {
this.agrypniaValue.push(smfb[key]);
}
this.handleAgrypnia();
});
this.loading = false;
} catch (e) {}
@ -263,7 +266,7 @@
},
//
handlePosture() {
postureEcharts.series[0].data = this.postureValue
postureEcharts.series[0].data = this.postureValue;
this.$nextTick(() => {
var myChart = echarts.init(document.getElementById("posture"), null, {
height: 300,
@ -282,81 +285,95 @@
endTime: _data[1] + " " + "23:59:59",
};
},
//
handleAgrypnia() {
console.log("this.agrypniaValue", this.agrypniaValue);
agrypniaEcharts.series[0].data = this.agrypniaValue;
this.$nextTick(() => {
var myChart = echarts.init(document.getElementById("agrypnia"), null, {
height: 300,
});
myChart.setOption(agrypniaEcharts, true);
myChart.resize();
window.onresize = myChart.resize;
});
},
//
getRenew() {
this.Linepatient();
this.columnar();
},
},
};
};
</script>
<style scoped src="@/assets/styles/common.css"></style>
<style scoped>
>>>.el-card__body {
>>> .el-card__body {
padding: 10px 0 !important;
}
}
.dis {
.dis {
display: flex;
}
}
.header-title {
.header-title {
font-size: 18px;
}
}
.title-box {
.title-box {
padding: 10px 20px;
border-bottom: 1px solid #dfe6ec;
}
}
.dian-box {
.dian-box {
align-items: center;
}
}
.dian {
.dian {
display: inline-block;
width: 16px;
height: 16px;
border-radius: 50%;
margin: 0 10px;
}
}
.title-box {
.title-box {
justify-content: space-between;
}
}
.>>>.el-radio--small.is-bordered {
. >>> .el-radio--small.is-bordered {
margin-right: 20px !important;
margin-left: 0 !important;
}
}
>>>.el-radio__input {
>>> .el-radio__input {
display: none;
}
}
>>>.el-radio__label {
>>> .el-radio__label {
padding-left: 5px;
}
}
.app-container {
.app-container {
padding: 0;
display: flex;
justify-content: space-between;
}
}
.title {
.title {
display: flex;
align-items: center;
font-size: 20px;
font-weight: 600;
}
}
.title-bor {
.title-bor {
display: inline-block;
height: 20px;
width: 6px;
background: #4f8bff;
margin-right: 10px;
border-radius: 8px;
}
}
</style>

64
acupuncture-前台/src/views/indexCom/index.js

@ -445,6 +445,70 @@ export const postureEcharts = {
},
],
};
// 失眠
export const agrypniaEcharts = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "cross",
label: {
backgroundColor: "#6a7985",
},
},
formatter: function (params) {
let res1 = params[0].name;
for (var i = 0, l = params.length; i < l; i++) {
res1 +=
"<br/>" +
`<span style="background:${params[i].color};width:12px;display:inline-block;height:12px;border-radius:50%;margin-right:5px;"></span>` +
params[i].seriesName +
" : " +
params[i].value +
"个";
}
return res1;
},
},
xAxis: {
type: "category",
data: ['0~4分', '5~9分', '10~14分','15~19分','20~27分'],
},
grid: {
top: "12%",
left: "5%",
right: "2%",
bottom: "0%",
containLabel: true,
},
yAxis: {
name: "数量( 个 )",
type: "value",
minInterval: 1,
splitLine: {
show: true,
lineStyle: {
type: "dashed",
},
},
},
series: [
{
name: "数量:",
data: [],
type: "bar",
barMaxWidth: 24, //柱图宽度
color: "#4f8bff",
itemStyle: {
normal: {
//这里设置柱形图圆角 [左上角,右上角,右下角,左下角]
barBorderRadius: [50, 50, 0, 0],
},
},
},
],
};
// 患者信息 - 数据分析
export const HZXXSJFX = {
tooltip: {

Loading…
Cancel
Save