针灸质控中心平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

211 lines
4.4 KiB

<template>
<div class="app-container home" v-resize="resize">
<div></div>
<div>
<el-card shadow="always">
<search
@picker-change="pickerChage"
title="患者信息统计"
type="1"
></search>
</el-card>
<patient ref="patient"></patient>
</div>
<div>
<el-card shadow="always">
<search
@picker-change="pickerChage"
title="诊疗信息统计"
type="2"
></search>
</el-card>
<JM ref="JM"></JM>
</div>
<div>
<el-card shadow="always">
<search
@picker-change="pickerChage"
title="治疗类型统计"
type="3"
></search>
</el-card>
<XGZL ref="XGZL"></XGZL>
</div>
<div>
<el-card shadow="always">
<search @picker-change="pickerChage" title="随访统计" type="4"></search>
</el-card>
<follow ref="follow"></follow>
</div>
</div>
</template>
<script>
import { getCodeImg, firstAidTest } from "@/api/login";
import search from "@/views/indexCom/query";
import patient from "@/views/indexCom/patient";
import JM from "@/views/indexCom/JM";
import XGZL from "@/views/indexCom/XGZL";
import follow from "@/views/indexCom/follow";
export default {
name: "Index",
components: {
search,
patient,
JM,
XGZL,
follow,
},
data() {
return {};
},
async created() {
// firstAidTest().then((res) => {
// console.log(res);
// });
const start = new Date();
const end = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
await setTimeout(async () => {
await this.$refs.patient.statistics([start, end], 4);
await this.$refs.JM.statistics([start, end], 4);
await this.$refs.XGZL.statistics([start, end], 4);
});
},
methods: {
resize() {
console.log(111);
this.$refs.patient.getRenew();
this.$refs.JM.getRenew();
this.$refs.XGZL.getRenew();
this.$refs.follow.getRenew();
},
// 周 月 季 年
radioChange(_data, _type, _timeType) {
this.initial(_data, _type, _timeType);
},
// 时间
pickerChage(_data, _type, _timeType) {
this.initial(_data, _type, _timeType);
},
// 数据处理 查询类型判断参数
initial(_data, _type, param) {
if (_type == 1) {
this.$refs.patient.statistics(_data, param);
}
if (_type == 2) {
this.$refs.JM.statistics(_data, param);
}
if (_type == 3) {
this.$refs.XGZL.statistics(_data, param);
}
if (_type == 4) {
this.$refs.follow.statistics(_data, param);
}
},
},
directives: {
// 使用局部注册指令的方式
resize: {
// 指令的名称
bind(el, binding) {
// el为绑定的元素,binding为绑定给指令的对象
let width = "",
height = "";
function isReize() {
const style = document.defaultView.getComputedStyle(el);
if (width !== style.width) {
binding.value(); // 关键
}
width = style.width;
}
el.__vueSetInterval__ = setInterval(isReize, 200);
},
unbind(el) {
clearInterval(el.__vueSetInterval__);
},
},
},
};
</script>
<style scoped lang="scss">
.home {
background: #f3f5f9;
min-height: 100vh;
}
.home {
blockquote {
padding: 10px 20px;
margin: 0 0 20px;
font-size: 17.5px;
border-left: 5px solid #eee;
}
hr {
margin-top: 20px;
margin-bottom: 20px;
border: 0;
border-top: 1px solid #eee;
}
.col-item {
margin-bottom: 20px;
}
ul {
padding: 0;
margin: 0;
}
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
color: #676a6c;
overflow-x: hidden;
ul {
list-style-type: none;
}
h4 {
margin-top: 0px;
}
h2 {
margin-top: 10px;
font-size: 26px;
font-weight: 100;
}
p {
margin-top: 10px;
b {
font-weight: 700;
}
}
.update-log {
ol {
display: block;
list-style-type: decimal;
margin-block-start: 1em;
margin-block-end: 1em;
margin-inline-start: 0;
margin-inline-end: 0;
padding-inline-start: 40px;
}
}
}
</style>
<style scoped>
>>> .el-card {
margin-bottom: 16px;
}
>>> .el-card__body {
padding: 10px 20px;
}
</style>