267 lines
6.3 KiB
Vue
267 lines
6.3 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="app">
|
|||
|
|
<view class="health">
|
|||
|
|
<view class="health_top">
|
|||
|
|
|
|||
|
|
<!-- <view class="right" @tap="healthtap()">
|
|||
|
|
1
|
|||
|
|
</view> -->
|
|||
|
|
<image image v-if="healthdata.hiEva<650" :src="require('../images/red.png')">
|
|||
|
|
<image image v-if="healthdata.hiEva>850" :src="require('../images/green.png')" image>
|
|||
|
|
<image v-if="healthdata.hiEva > 650" :src="require('../images/yellow.png')" image>
|
|||
|
|
<view class="count">
|
|||
|
|
<view class="numbers">{{healthdata.hiEva}}</view>
|
|||
|
|
<view class="healths">健康指数</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="health_body">
|
|||
|
|
<view class="healthitem">
|
|||
|
|
血压(mmHg):{{healthdata.physicalSign.bp.sbp}}/{{healthdata.physicalSign.bp.dbp}}
|
|||
|
|
</view>
|
|||
|
|
<view class="healthitem">
|
|||
|
|
空腹血糖(mmol/L):{{healthdata.physicalSign.bg.bg}}
|
|||
|
|
</view>
|
|||
|
|
<view class="healthitem">
|
|||
|
|
血脂(TC/LDL-C):{{healthdata.physicalSign.bf.tc}}/{{healthdata.physicalSign.bf.ldlc}}
|
|||
|
|
</view>
|
|||
|
|
<view class="healthitem">
|
|||
|
|
体质指数(BMI):{{healthdata.physicalSign.bmi.bmi}}
|
|||
|
|
</view>
|
|||
|
|
<view class="healthitem">
|
|||
|
|
腰围(cm):{{healthdata.physicalSign.waist.waist}}
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<!-- 折线图 -->
|
|||
|
|
<view class="zx">
|
|||
|
|
<qiun-data-charts type="line" loadingType="0" :opts="line_opts" :ontouch="true" :chartData="datalist" />
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import {
|
|||
|
|
healthIndexdata
|
|||
|
|
} from "@/api/pagesB/threeHundredAndSixty/threeHundredAndSixty.js"
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
datalist: null,
|
|||
|
|
checked: true,
|
|||
|
|
cardNo: '',
|
|||
|
|
healthdata: {},
|
|||
|
|
line_opts: {
|
|||
|
|
color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
|
|||
|
|
"#ea7ccc"
|
|||
|
|
],
|
|||
|
|
dataLabel: true,
|
|||
|
|
enableScroll: true,
|
|||
|
|
touchMoveLimit: 24,
|
|||
|
|
padding: [15, 10, 0, 15],
|
|||
|
|
xAxis: {
|
|||
|
|
lineHeight: 40,
|
|||
|
|
disableGrid: true,
|
|||
|
|
boundaryGap: "center",
|
|||
|
|
fontSize: 10,
|
|||
|
|
type: 'grid',
|
|||
|
|
gridType: 'dash',
|
|||
|
|
itemCount: 3, //x轴单屏显示数据的数量,默认为5个
|
|||
|
|
scrollShow: true, //新增是否显示滚动条,默认false
|
|||
|
|
scrollAlign: 'left', //滚动条初始位置
|
|||
|
|
},
|
|||
|
|
yAxis: {
|
|||
|
|
gridType: "dash",
|
|||
|
|
dashLength: 2
|
|||
|
|
},
|
|||
|
|
extra: {
|
|||
|
|
line: {
|
|||
|
|
type: "straight",
|
|||
|
|
width: 2,
|
|||
|
|
activeType: "hollow"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onShow() {
|
|||
|
|
// 健康指数
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
this.infohealths()
|
|||
|
|
console.log('0000000000')
|
|||
|
|
this.getServerData()
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
infohealths() {
|
|||
|
|
if (uni.getStorageSync("userinfo").cardNo) {
|
|||
|
|
// this.cardNo=uni.getStorageSync("userinfo").cardNo
|
|||
|
|
this.cardNo = '370522196411282177'
|
|||
|
|
healthIndexdata(this.cardNo).then(res => {
|
|||
|
|
this.healthdata = res.data
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
getServerData() {
|
|||
|
|
// if (this.healthdata) {
|
|||
|
|
setTimeout(() => {
|
|||
|
|
let res = {
|
|||
|
|
categories: [],
|
|||
|
|
series: [{
|
|||
|
|
name: "成交量A",
|
|||
|
|
data: [35, 8, 25, 37, 4, 20]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "成交量B",
|
|||
|
|
data: [70, 40, 65, 100, 44, 68]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: "成交量C",
|
|||
|
|
data: [100, 80, 95, 150, 112, 132]
|
|||
|
|
}, {
|
|||
|
|
name: "成交量C",
|
|||
|
|
data: [100, 80, 95, 150, 112, 132]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
console.log(res, 'res111')
|
|||
|
|
res.series[0].name = this.healthdata.evaAnalysis.bg.series[0].name
|
|||
|
|
res.categories = this.healthdata.evaAnalysis.bg.xValue
|
|||
|
|
this.datalist = res
|
|||
|
|
// res.series[0].data = this.healthdata.physicalSign.bf.xValue
|
|||
|
|
// res.series[0].name=this.healthdata.evaAnalysis.bp.name
|
|||
|
|
|
|||
|
|
// res.series[1].name=this.healthdata.evaAnalysis.bg.name
|
|||
|
|
// res.series[2].name=this.healthdata.evaAnalysis.bf.name
|
|||
|
|
// res.series[3].name=this.healthdata.evaAnalysis.bmi.name
|
|||
|
|
console.log(res, 'res')
|
|||
|
|
|
|||
|
|
// res.series[0].data = this.healthdata.physicalSign.bf.series.map(e => e.bg)
|
|||
|
|
// res.categories = this.healthdata.evaAnalysis.map(e => e.timename + e.measureTime)
|
|||
|
|
// this.datalist = res
|
|||
|
|
// let restwo = {
|
|||
|
|
// series: [{
|
|||
|
|
// data: [{
|
|||
|
|
// "name": "偏低" + this.healthdata.calc.lowerNum + "次",
|
|||
|
|
// "value": this.healthdata.calc.lowerNum
|
|||
|
|
// }, {
|
|||
|
|
// "name": "正常" + this.healthdata.calc.normalNum + "次",
|
|||
|
|
// "value": this.healthdata.calc.normalNum
|
|||
|
|
// }, {
|
|||
|
|
// "name": "偏高" + this.healthdata.calc.higherNum + "次",
|
|||
|
|
// "value": this.healthdata.calc.higherNum
|
|||
|
|
// }]
|
|||
|
|
// }]
|
|||
|
|
// };
|
|||
|
|
// this.datalisttwo = restwo
|
|||
|
|
}, 500)
|
|||
|
|
// }
|
|||
|
|
// //模拟从服务器获取数据时的延时
|
|||
|
|
// setTimeout(() => {
|
|||
|
|
// //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
|
|||
|
|
// let res = {
|
|||
|
|
// categories: ["2018", "2019", "2020", "2021", "2022", "2023"],
|
|||
|
|
// series: [{
|
|||
|
|
// name: "成交量A",
|
|||
|
|
// data: [35, 8, 25, 37, 4, 20]
|
|||
|
|
// },
|
|||
|
|
// {
|
|||
|
|
// name: "成交量B",
|
|||
|
|
// data: [70, 40, 65, 100, 44, 68]
|
|||
|
|
// },
|
|||
|
|
// {
|
|||
|
|
// name: "成交量C",
|
|||
|
|
// data: [100, 80, 95, 150, 112, 132]
|
|||
|
|
// }
|
|||
|
|
// ]
|
|||
|
|
// };
|
|||
|
|
// this.chartData = JSON.parse(JSON.stringify(res));
|
|||
|
|
// }, 500);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss">
|
|||
|
|
.app {
|
|||
|
|
height: 100vh;
|
|||
|
|
background-color: #fff;
|
|||
|
|
// padding: 100rpx 40rpx;
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 36rpx;
|
|||
|
|
// 健康
|
|||
|
|
.health {
|
|||
|
|
width: 100%;
|
|||
|
|
margin: 0 auto;
|
|||
|
|
|
|||
|
|
// background: red;
|
|||
|
|
.health_top {
|
|||
|
|
width: 100%;
|
|||
|
|
|
|||
|
|
// height: 100%;
|
|||
|
|
// background: #FBDA81;
|
|||
|
|
.right {
|
|||
|
|
position: relative;
|
|||
|
|
font-size: 20rpx;
|
|||
|
|
width: 30rpx;
|
|||
|
|
height: 30rpx;
|
|||
|
|
background: red;
|
|||
|
|
top: 30rpx;
|
|||
|
|
line-height: 30rpx;
|
|||
|
|
left: 471rpx;
|
|||
|
|
// left: 288rpx;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
image {
|
|||
|
|
width: 230rpx;
|
|||
|
|
height: 230rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.count {
|
|||
|
|
position: relative;
|
|||
|
|
top: -158rpx;
|
|||
|
|
|
|||
|
|
.numbers {
|
|||
|
|
font-weight: 600;
|
|||
|
|
font-size: 25rpx;
|
|||
|
|
margin-bottom: 10rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.healths {
|
|||
|
|
font-size: 22rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.health_body {
|
|||
|
|
width: 100%;
|
|||
|
|
|
|||
|
|
.healthitem {
|
|||
|
|
text-align: left;
|
|||
|
|
padding: 0 0 40rpx 62rpx;
|
|||
|
|
font-size: 29rpx;
|
|||
|
|
|
|||
|
|
// padding-bottom: 40rpx;
|
|||
|
|
// position: relative;
|
|||
|
|
// left: -53rpx;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.zx {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 300rpx;
|
|||
|
|
// background: red;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</style>
|