|
@ -9,15 +9,11 @@
|
|
|
<link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
|
|
|
<link rel="stylesheet" type="text/css" href="../css/new_recover.css" />
|
|
|
<link rel="stylesheet" type="text/css" href="../css/personal-manage.css" />
|
|
|
<style>
|
|
|
.content {height: 100%}
|
|
|
.h380 {height: 380px;}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body class="m0">
|
|
|
<div id="app" class="c-333" v-cloak>
|
|
|
<div class="content ui-grid">
|
|
|
<div class="ui-col-0 c-h100 w350 person_info c-border-r ui-grid ui-grid-vertical plr5">
|
|
|
<div class="ui-col-0 c-h100 w360 person_info c-border-r ui-grid ui-grid-vertical plr5">
|
|
|
<h4 class="m0 pl15 lh40 c-border-b c-position-r"><em class="c-position-a set-blue-span"></em>个人基础信息</h4>
|
|
|
<div class="bgc-f5f5fa mt10 ptb10 plr10">
|
|
|
<div class="clearfix">
|
|
@ -64,22 +60,21 @@
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<h4 class="m0 pl15 lh40 c-border-b c-position-r"><em class="c-position-a set-blue-span"></em>医嘱小结</h4>
|
|
|
<div class="ptb10 ui-col-1" style="overflow: hidden;">
|
|
|
<ul class="m0 p0 c-border b-r-3 c-h100" style="overflow: auto;">
|
|
|
<li class="pt5 plr10">
|
|
|
<p class="c-999 lh40 clearfix">
|
|
|
<span class="fl">冠心病诊断</span>
|
|
|
<span class="fr">2018-08-01</span>
|
|
|
</p>
|
|
|
<div class="bgc-f5f5fa plr5 ptb10" style="line-height: 20px;">
|
|
|
  这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容这是诊断内容
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<h4 class="m0 pl15 lh40 c-position-r"><em class="c-position-a set-blue-span"></em>医嘱小结</h4>
|
|
|
<ul class="m0 p0 ptb10 ui-col-1 c-border b-r-3 c-h100" style="overflow: auto;">
|
|
|
<li class="pt5 plr10" v-for="(info, index) in diagnosisInformation" :key="index">
|
|
|
<p class="c-999 lh40 clearfix">
|
|
|
<span class="fl">{{info.dischargeDiagnosis}}</span>
|
|
|
<span class="fr">{{info.dischargeTime}}</span>
|
|
|
</p>
|
|
|
<div class="bgc-f5f5fa plr5 ptb10" style="line-height: 20px;">
|
|
|
  {{info.advice}}
|
|
|
</div>
|
|
|
</li>
|
|
|
<li class="c-t-center ptb10" v-if="!diagnosisInformation.length">无医嘱小结</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="ui-col-1 c-h100 w-100-350 ui-grid">
|
|
|
<div class="ui-col-1 c-h100 w-100-360 ui-grid">
|
|
|
<div class="ui-col-1 c-h100 ui-grid ui-grid-vertical">
|
|
|
<!--<div class="plr5">-->
|
|
|
<div class="m0 pl15 lh40 c-border-b c-position-r clearfix">
|
|
@ -138,19 +133,64 @@
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ui-col-0 w350 c-h100 c-border-l ui-grid ui-grid-vertical">
|
|
|
<div class="ui-col-0">
|
|
|
<div class="ui-col-0 w360 c-h100 c-border-l ui-grid ui-grid-vertical">
|
|
|
<div class="plr5 ui-col-0">
|
|
|
<h4 class="m0 pl15 pr5 lh40 c-border-b clearfix c-position-r"><em class="c-position-a set-blue-span"></em>体征记录</h4>
|
|
|
<div class="h380">
|
|
|
|
|
|
<div class="pt10 pb10 ui-grid ui-grid-middle c-t-center type">
|
|
|
<div class="ui-col-0 over-hidden lh30 c-border b-r-5">
|
|
|
<span class="c-inline-block w130 bgc-fff c-666 cur-pit" :class="{'active': recordType == 1}" @click="changeType(0,1)">血糖记录</span>
|
|
|
<span class="c-inline-block w130 bgc-fff c-666 cur-pit" :class="{'active': recordType == 2}" @click="changeType(0,2)">血压记录</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="pt10 bgc-f5f5fa c-t-center">
|
|
|
<div class="ui-grid ui-grid-middle lh22 type">
|
|
|
<div class="ui-col-0 clearfix">
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': rangeType == 6}" @click="changeType(1,6)">7天</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': rangeType == 29}" @click="changeType(1,29)">30天</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': rangeType == 89}" @click="changeType(1,89)">90天</div>
|
|
|
<div class="fl b-r-15 w60 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': rangeType == 182}" @click="changeType(1,182)">半年</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ui-grid ui-grid-middle lh22 type c-border-t mtb10 pt10" v-if="recordType == 1">
|
|
|
<div class="ui-col-0 clearfix">
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 1}" @click="changeType(2,1)">早餐前</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 2}" @click="changeType(2,2)">早餐后</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 3}" @click="changeType(2,3)">午餐前</div>
|
|
|
<div class="fl b-r-15 w60 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 4}" @click="changeType(2,4)">午餐后</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ui-grid ui-grid-middle type lh22" v-if="recordType == 1">
|
|
|
<div class="ui-col-0 clearfix">
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 5}" @click="changeType(2,5)">晚餐前</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 6}" @click="changeType(2,6)">晚餐后</div>
|
|
|
<div class="fl b-r-15 w60 mr20 c-border b-c-12b7f5 c-12b7f5 cur-pit" :class="{'active': xtStatu == 7}" @click="changeType(2,7)">睡前</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ui-grid ui-grid-middle lh30 bgc-f5f5fa c-t-center" :class="{'pt10': recordType == 2}">
|
|
|
<div class="ui-col-2" v-if="recordType == 2">收缩压</div>
|
|
|
<div class="ui-col-2 c-12b7f5">正常:{{toNormal}}次</div>
|
|
|
<div class="ui-col-2 c-ff3b30">偏高:{{toHigh}}次</div>
|
|
|
<div class="ui-col-2 c-2dbe55">偏低:{{toLow}}次</div>
|
|
|
</div>
|
|
|
<div class="ui-grid ui-grid-middle pb10 lh30 bgc-f5f5fa c-t-center" v-if="recordType == 2">
|
|
|
<div class="ui-col-2">舒张压</div>
|
|
|
<div class="ui-col-2 c-12b7f5">正常:{{toNormal2}}次</div>
|
|
|
<div class="ui-col-2 c-ff3b30">偏高:{{toHigh2}}次</div>
|
|
|
<div class="ui-col-2 c-2dbe55">偏低:{{toLow2}}次</div>
|
|
|
</div>
|
|
|
<div style="height: 200px;">
|
|
|
<my-chart :chart-data="chartData"></my-chart>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="plr5 ui-col-1 ui-grid ui-grid-vertical">
|
|
|
<h4 class="ui-col-0 m0 pl15 pr5 lh40 c-border-b clearfix c-position-r"><em class="c-position-a set-blue-span"></em>就诊记录</h4>
|
|
|
<div class="ui-col-0 lh30 c-border-b c-t-center clearfix">
|
|
|
<span class="fl w96 cur-pit" :class="{'active':eventType == 1}" @click="selectType(1)">门诊</span>
|
|
|
<span class="fl w96 cur-pit c-border-l" :class="{'active':eventType == 2}" @click="selectType(2)">住院</span>
|
|
|
<span class="fl w96 cur-pit c-border-l" :class="{'active':eventType == 3}" @click="selectType(3)">体检</span>
|
|
|
<div class="ui-col-0 ui-grid ui-grid-middle lh30 c-border-b c-t-center clearfix">
|
|
|
<div class="ui-col-2 w96 cur-pit" :class="{'active':eventType == 1}" @click="selectType(1)">门诊</div>
|
|
|
<div class="ui-col-2 w96 cur-pit c-border-l" :class="{'active':eventType == 2}" @click="selectType(2)">住院</div>
|
|
|
<div class="ui-col-2 w96 cur-pit c-border-l" :class="{'active':eventType == 3}" @click="selectType(3)">体检</div>
|
|
|
</div>
|
|
|
<ul class="ui-col-1 p0 m0" style="overflow: auto;">
|
|
|
<li class="clearfix" v-for="(record, index) in seeRecord" :key="index">
|
|
@ -182,6 +222,8 @@
|
|
|
<script src="../../../js/jquery-2.2.4.js"></script>
|
|
|
<script src="../../../plugins/layer/layer.min.js"></script>
|
|
|
<script src="../../../plugins/toastr/toastr.min.js"></script>
|
|
|
<script src="../../../plugins/echarts/3.8.5/echarts.js" type="text/javascript"></script>
|
|
|
<script src="../../../component/rehabilitation/my-echart.js"></script>
|
|
|
<script src="../../../js/bootstrap.min.js"></script>
|
|
|
<script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
|
|
|
<script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
|
|
@ -191,7 +233,6 @@
|
|
|
<script type="text/javascript">
|
|
|
var doctorType = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).doctorType
|
|
|
var httpData=GetRequest()
|
|
|
|
|
|
function showSuccessMessage(msg) {
|
|
|
layer.msg(msg, {
|
|
|
icon: 1
|
|
@ -224,18 +265,39 @@
|
|
|
isMobile: true,
|
|
|
recoverPatInfo: {},
|
|
|
finishData: {},
|
|
|
diagnosisInformation: [],
|
|
|
seeRecord: [],
|
|
|
planDetailList: [],
|
|
|
isFinishMore: false,
|
|
|
page: 1,
|
|
|
eventPage: 1,
|
|
|
eventType: 1,
|
|
|
hasMoreRecord: null
|
|
|
hasMoreRecord: null,
|
|
|
chartData: {},
|
|
|
lastXT: '', // 最近一次血糖记录
|
|
|
lastXY: '', // 最近一次血压记录
|
|
|
recordType: 1, // 1血糖2血压
|
|
|
rangeType: 6, // 日期
|
|
|
xtStatu: 1, // 状态血糖
|
|
|
toNormal: 0, // 正常
|
|
|
toLow: 0, // 偏低
|
|
|
toHigh: 0, // 偏高
|
|
|
toNormal2: 0, // 正常
|
|
|
toLow2: 0, // 偏低
|
|
|
toHigh2: 0, // 偏高
|
|
|
xtMax: 0, // 血糖最高
|
|
|
xtMin: 0, // 血糖最低
|
|
|
xyMax: [139, 89], // 血压最高
|
|
|
xyMin: [90, 60], // 血压最低
|
|
|
},
|
|
|
mounted: function() {
|
|
|
this.patientRehabilitationDetail()
|
|
|
this.recentPlanDetailRecord()
|
|
|
this.archivesEvent()
|
|
|
// 获取最新的诊疗信息2条
|
|
|
this.findDiagnosisInformationByPatient()
|
|
|
// 获取体征记录
|
|
|
this.getBodyRecoredLast()
|
|
|
},
|
|
|
methods: {
|
|
|
changeStatu: function() {
|
|
@ -259,6 +321,23 @@
|
|
|
content: "project-detail.html?planId=" + obj.id
|
|
|
});
|
|
|
},
|
|
|
// 获取最新的诊疗消息
|
|
|
findDiagnosisInformationByPatient: function() {
|
|
|
var vm = this,
|
|
|
loading = layer.load(0, {shade: false}),params = {
|
|
|
patient: httpData.patientCode || "e040dd6814b648ceb3ba8d8a04f9f22c",
|
|
|
page: 0,
|
|
|
size: 2
|
|
|
}
|
|
|
recoverAPI.findDiagnosisInformationByPatient(params).then(function(res) {
|
|
|
layer.close(loading)
|
|
|
if(res.status == 200) {
|
|
|
vm.diagnosisInformation = res.data.detailModelList
|
|
|
} else {
|
|
|
showErrorMessage(res.msg);
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
patientRehabilitationDetail: function() {
|
|
|
var vm = this,
|
|
|
loadding = layer.load(0, {shade: false}),
|
|
@ -350,6 +429,147 @@
|
|
|
},
|
|
|
setPercent: function(plan) {
|
|
|
return Math.floor(plan.allFinishCount / plan.allCount * 100) + "%"
|
|
|
},
|
|
|
// 时间推算
|
|
|
getDateFromCurrentDate: function() {
|
|
|
var fromDate = this.recordType == 1 ? this.lastXT : this.lastXY,
|
|
|
dayInterval = -this.rangeType;
|
|
|
var curDate = new Date(Date.parse(fromDate.replace(/-/g, "/")));
|
|
|
curDate.setDate(curDate.getDate() + dayInterval);
|
|
|
var year = curDate.getFullYear();
|
|
|
var month = (curDate.getMonth() + 1) < 10 ? "0" + (curDate.getMonth() + 1) : (curDate.getMonth() + 1);
|
|
|
var day = curDate.getDate() < 10 ? "0" + curDate.getDate() : curDate.getDate();
|
|
|
return year + "-" + month + "-" + day + " 00:00:00";
|
|
|
},
|
|
|
// 血糖最高值最低值
|
|
|
getNormalLevel: function() {
|
|
|
var arr = [
|
|
|
[],
|
|
|
[6.1, 3.9],
|
|
|
[7.8, 4.4],
|
|
|
[6.1, 3.9],
|
|
|
[7.8, 4.4],
|
|
|
[6.1, 3.9],
|
|
|
[7.8, 4.4],
|
|
|
[6.1, 3.9]
|
|
|
][this.xtStatu];
|
|
|
this.xtMax = arr[0]
|
|
|
this.xyMax = arr[1]
|
|
|
},
|
|
|
// 处理数据偏高、偏低、正常
|
|
|
judgeDataDif: function(val, val2) {
|
|
|
// 血糖判断
|
|
|
if(this.recordType == 1) {
|
|
|
if(val > this.xtMax) {
|
|
|
++this.toHigh;
|
|
|
} else if(val < this.xtMin) {
|
|
|
++this.toLow;
|
|
|
} else {
|
|
|
++this.toNormal;
|
|
|
};
|
|
|
} else {
|
|
|
// 血压判断
|
|
|
if(val > this.xyMax[0]) {
|
|
|
++this.toHigh;
|
|
|
} else if(val < this.xyMin[0]) {
|
|
|
++this.toLow;
|
|
|
} else {
|
|
|
++this.toNormal;
|
|
|
}
|
|
|
// 血压判断
|
|
|
if(val2 > this.xyMax[1]) {
|
|
|
++this.toHigh2;
|
|
|
} else if(val2 < this.xyMin[1]) {
|
|
|
++this.toLow2;
|
|
|
} else {
|
|
|
++this.toNormal2;
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// 体征记录
|
|
|
changeType: function(judge, num) {
|
|
|
if(judge) {
|
|
|
if(judge == 1) {
|
|
|
this.rangeType = num
|
|
|
} else {
|
|
|
this.xtStatu = num
|
|
|
}
|
|
|
} else {
|
|
|
this.recordType = num
|
|
|
}
|
|
|
this.getHealthIndex()
|
|
|
},
|
|
|
// 获取上次体检
|
|
|
getBodyRecoredLast: function() {
|
|
|
var vm = this,
|
|
|
loading = layer.load(0, {shade: false}),
|
|
|
params = {
|
|
|
patient: httpData.patientCode || "e040dd6814b648ceb3ba8d8a04f9f22c"
|
|
|
}
|
|
|
recoverAPI.getBodyRecoredLast(params).then(function(res) {
|
|
|
layer.close(loading)
|
|
|
if(res.status == 200){
|
|
|
vm.lastXT = res.data.xt ? res.data.xt.recordDate : null;
|
|
|
vm.lastXY = res.data.xy ? res.data.xy.recordDate : null;
|
|
|
// 初始化执行
|
|
|
vm.getHealthIndex();
|
|
|
}else{
|
|
|
showErrorMessage(res.msg)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
// 获取体征数据
|
|
|
getHealthIndex: function() {
|
|
|
this.toNormal = 0;
|
|
|
this.toHigh = 0;
|
|
|
this.toLow = 0;
|
|
|
if(this.recordType == 2) {
|
|
|
this.toNormal = 0;
|
|
|
this.toHigh = 0;
|
|
|
this.toLow = 0;
|
|
|
}
|
|
|
var endDate = this.recordType == 1 ? this.lastXT : this.lastXY
|
|
|
if(!endDate) {
|
|
|
showErrorMessage("暂无体征数据");
|
|
|
this.chartData = {
|
|
|
opinion:[],
|
|
|
opinionData:[]
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
if(this.recordType == 1) { this.getNormalLevel(); }
|
|
|
var vm = this,
|
|
|
loading = layer.load(0, {shade: false}),
|
|
|
startDate = vm.getDateFromCurrentDate(),
|
|
|
params = {
|
|
|
patient: httpData.patientCode || "e040dd6814b648ceb3ba8d8a04f9f22c",
|
|
|
type: vm.recordType,
|
|
|
begin: startDate,
|
|
|
end: endDate,
|
|
|
gi_type: vm.recordType == 1 ? vm.xtStatu : ""
|
|
|
}
|
|
|
recoverAPI.getHealthIndex(params).then(function(res) {
|
|
|
layer.close(loading)
|
|
|
if(res.status == 200) {
|
|
|
var arr1 = [], arr2 = [], arr3 = []
|
|
|
for(var i = 0, len = res.list.length; i < len; i++) {
|
|
|
vm.judgeDataDif(res.list[i].value1, res.list[i].value2)
|
|
|
arr1.push(res.list[i].date)
|
|
|
var obj = {value: res.list[i].value1, name: res.list[i].date},
|
|
|
obj2 = {value: res.list[i].value2, name: res.list[i].date};
|
|
|
arr2.push(obj)
|
|
|
arr3.push(obj2)
|
|
|
}
|
|
|
vm.chartData = {
|
|
|
opinion: arr1,
|
|
|
opinionData: arr2,
|
|
|
recordType: vm.recordType,
|
|
|
opinionData2: arr3,
|
|
|
}
|
|
|
} else {
|
|
|
showErrorMessage(res.msg);
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|