xinelu-applet-ui/pagesC/healthdata/healthdata.vue

230 lines
6.4 KiB
Vue

<template>
<view class="app">
<u-tabs :list="tabList" :current="tabindex" @change="tabchange" active-color='#26A888'
:show-bar='false'></u-tabs>
<view class="content">
<view v-if="tabindex == 0">
<blood-sugar :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
v-on:websocket-message="handleWebSocketMessage"></blood-sugar>
</view>
<view v-if="tabindex == 1">
<blood-pressure :tablelist='tablelist' @tapdeviceUser='tapdeviceUser' :current="tabindex"
:echartData="list" @taptimeindex='taptimeindex'
v-on:websocket-message="handleWebSocketMessage"></blood-pressure>
</view>
<view v-if="tabindex == 2">
<BloodFat :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
v-on:websocket-message="handleWebSocketMessage"></BloodFat>
</view>
<view v-if="tabindex == 3">
<BMI :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
v-on:websocket-message="handleWebSocketMessage"></BMI>
</view>
<view v-if="tabindex == 4">
<Blood-oxygen :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
v-on:websocket-message="handleWebSocketMessage"></Blood-oxygen>
</view>
<view v-if="tabindex == 5">
<Heart-rate :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
@tapdeviceUser='tapdeviceUser' v-on:websocket-message="handleWebSocketMessage"></Heart-rate>
</view>
<view v-if="tabindex == 6">
<Temperature :current="tabindex" :echartData="list" @taptimeindex='taptimeindex' :tablelist='tablelist'
v-on:websocket-message="handleWebSocketMessage"></Temperature>
</view>
</view>
</view>
</template>
<script>
import {
record,
getList
} from '@/api/pagesC/healthdata/index.js'
import BloodPressure from '../BloodPressure/BloodPressure.vue'
import BloodSugar from '../BloodSugar/BloodSugar.vue'
import Temperature from '../Temperature/Temperature.vue'
import BloodFat from '../BloodFat/BloodFat.vue'
import BMI from '../BMI/BMI.vue'
import BloodOxygen from '../BloodOxygen/BloodOxygen.vue'
import HeartRate from '../HeartRate/HeartRate.vue'
export default {
components: {
BloodPressure,
BloodSugar,
Temperature,
BloodFat,
BMI,
BloodOxygen,
HeartRate
},
data() {
return {
tabindex: 0,
tabList: [{
name: '血糖',
}, {
name: '血压',
}, {
name: '血脂',
}, {
name: 'BMI',
}, {
name: '血氧',
}, {
name: '心率',
}, {
name: '体温',
}, ],
list: null,
type: 0,
deviceUser: '',
tabletotal: 0,
tablelist: [],
pageNum: 1,
};
},
onLoad(options) {
this.tabindex = options.index
},
onShow() {
this.info();
this.getinfo();
},
methods: {
tapdeviceUser(e) {
this.deviceUser = e
this.info()
this.getinfo();
},
taptimeindex(e) {
this.type = e
this.info()
this.getinfo();
},
info() {
let userinfo = uni.getStorageSync('userinfo');
var obj
if (this.tabindex == 1 || this.tabindex == 5) {
obj = {
label: Number(this.tabindex) + 1,
identity: userinfo.cardNo,
type: this.type,
deviceUser: this.deviceUser,
}
} else {
obj = {
label: Number(this.tabindex) + 1,
identity: userinfo.cardNo,
type: this.type,
}
}
record(obj).then(res => {
this.list = res.data
this.list.list.forEach(e => {
e.bucket == '1' ? e.timename = '凌晨' : ''
e.bucket == '2' ? e.timename = '早餐前' : ''
e.bucket == '3' ? e.timename = '早晨后' : ''
e.bucket == '4' ? e.timename = '午餐前' : ''
e.bucket == '5' ? e.timename = '午餐后' : ''
e.bucket == '6' ? e.timename = '晚餐前' : ''
e.bucket == '7' ? e.timename = '晚餐后' : ''
e.bucket == '8' ? e.timename = '睡前' : ''
})
})
},
getinfo() {
this.tablelist = []
this.tabletotal = 0
this.pageNum = 1
let userinfo = uni.getStorageSync('userinfo');
var obj
if (this.tabindex == 1 || this.tabindex == 5) {
obj = {
label: Number(this.tabindex) + 1,
identity: userinfo.cardNo,
type: this.type,
deviceUser: this.deviceUser,
pageNum: this.pageNum,
pageSize: 15,
}
} else {
obj = {
label: Number(this.tabindex) + 1,
identity: userinfo.cardNo,
type: this.type,
pageNum: this.pageNum,
pageSize: 15,
}
}
getList(obj).then(res => {
this.tablelist = res.data.list.list
this.tabletotal = res.data.list.total
this.tablelist.forEach(e => {
e.bucket == '1' ? e.timename = '凌晨' : ''
e.bucket == '2' ? e.timename = '早餐前' : ''
e.bucket == '3' ? e.timename = '早晨后' : ''
e.bucket == '4' ? e.timename = '午餐前' : ''
e.bucket == '5' ? e.timename = '午餐后' : ''
e.bucket == '6' ? e.timename = '晚餐前' : ''
e.bucket == '7' ? e.timename = '晚餐后' : ''
e.bucket == '8' ? e.timename = '睡前' : ''
})
})
},
tabchange(e) {
this.type = 0
this.deviceUser = ''
this.list = null
this.tabindex = e
setTimeout(() => {
this.info();
this.getinfo();
}, 1000)
},
},
onReachBottom() { //下滑加载
if (this.tablelist.length >= this.tabletotal) {} else {
this.pageNum++;
let userinfo = uni.getStorageSync('userinfo');
var obj = {
label: Number(this.tabindex) + 1,
identity: userinfo.cardNo,
type: this.type,
pageNum: this.pageNum,
pageSize: 15,
}
getList(obj).then(res => {
res.data.list.list.forEach(e => {
e.bucket == '1' ? e.timename = '凌晨' : ''
e.bucket == '2' ? e.timename = '早餐前' : ''
e.bucket == '3' ? e.timename = '早晨后' : ''
e.bucket == '4' ? e.timename = '午餐前' : ''
e.bucket == '5' ? e.timename = '午餐后' : ''
e.bucket == '6' ? e.timename = '晚餐前' : ''
e.bucket == '7' ? e.timename = '晚餐后' : ''
e.bucket == '8' ? e.timename = '睡前' : ''
this.tablelist.push(e)
})
this.tabletotal = res.data.list.total
})
}
},
onPullDownRefresh() { //下拉刷新
this.getinfo();
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
}
</script>
<style lang="scss">
page {
background-color: #F7F5F5;
}
::v-deep .u-tabs {
background-color: #F7F5F5 !important;
}
</style>