Browse Source

首页样式完善

newMaster
1747191978@qq.com 4 months ago
parent
commit
8b21672990
  1. 739
      acupuncture-前台/src/views/indexCom/JM.vue
  2. 15
      acupuncture-前台/src/views/indexCom/index.js

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

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

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

@ -749,7 +749,7 @@ export const effectEcharts = {
}, },
], ],
}; };
// 诊疗费 // 诊疗费
export const costEcharts = { export const costEcharts = {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -801,12 +801,13 @@ export const costEcharts = {
data: [], data: [],
type: "bar", type: "bar",
barMaxWidth: 24, //柱图宽度 barMaxWidth: 24, //柱图宽度
itemStyle: { color: "#C6A268",
normal: { // itemStyle: {
//这里设置柱形图圆角 [左上角,右上角,右下角,左下角] // normal: {
barBorderRadius: [50, 50, 0, 0], // //这里设置柱形图圆角 [左上角,右上角,右下角,左下角]
}, // barBorderRadius: [50, 50, 0, 0],
}, // },
// },
}, },
], ],
}; };

Loading…
Cancel
Save