Pārlūkot izejas kodu

健康管理详情

sunran 3 gadi atpakaļ
vecāks
revīzija
7b2050a8f9

+ 6 - 1
src/views/zhulao/main.js

@@ -4,11 +4,16 @@ import router from './router/router'
 import store from './store/index'
 import '../../styles/index.css'
 import './styles/index.css'
-import Vant from 'vant'
+import Vant, {
+    Lazyload
+} from 'vant'
 import 'vant/lib/index.css'
 import 'lib-flexible/flexible'
+import echarts from 'echarts'
 Vue.config.productionTip = false
 Vue.use(Vant)
+Vue.use(Lazyload)
+Vue.prototype.$echarts = echarts
 new Vue({
     router,
     store,

+ 8 - 2
src/views/zhulao/router/router.js

@@ -83,8 +83,14 @@ const routes = [{
         },
         component: () => import('../views/healthAssessmen/details.vue')
     },
-
-
+    {
+        path: '/typemain',
+        name: 'estimate',
+        meta: {
+            keepAlive: false
+        },
+        component: () => import('../views/healthAssessmen/typeDetails/typemain.vue')
+    },
 ]
 const router = new VueRouter({
     routes

+ 1 - 0
src/views/zhulao/views/healthAssessmen/estimate.vue

@@ -174,6 +174,7 @@ export default {
 }
 .search {
   width: 120px;
+  height: 80px;
   color: #fff;
   border-radius: 5px;
   background-color: #ffc900;

+ 1 - 1
src/views/zhulao/views/healthAssessmen/index.vue

@@ -16,7 +16,7 @@
         </div>
       </div>
     </div>
-    <div class="list" v-for="item in healthType" :key="item.id">
+    <div class="list" v-for="item in healthType" :key="item.id" @click="$router.push({path:'/typemain',query:{id:item.id,name:item.name,command:item.command,unit:item.unit}})">
       <div class="icon">
         <van-image :src="item.icon"></van-image>
       </div>

+ 6 - 1
src/views/zhulao/views/healthAssessmen/term.js

@@ -9,7 +9,8 @@ const healthType = [{
         dateTime: '',
         id: 1,
         type: 'weight',
-        num: ''
+        num: '',
+        command: 'getHealthsWeightHistory'
     },
     {
         name: '血糖',
@@ -20,6 +21,7 @@ const healthType = [{
         unit: 'mmol/L',
         style: 'color:#92cdee',
         type: 'glu',
+        command: 'getHealthsGluHistory',
         id: 2
     },
     {
@@ -31,6 +33,7 @@ const healthType = [{
         unit: 'mmHg',
         style: 'color:#41b98c',
         type: 'nibp',
+        command: 'getHealthsNibpHistory',
         id: 3
     },
     {
@@ -42,6 +45,7 @@ const healthType = [{
         unit: '%',
         style: 'color:#da262c',
         type: 'spo',
+        command: 'getHealthsSpoHistory',
         id: 4
     },
     {
@@ -53,6 +57,7 @@ const healthType = [{
         unit: 'mmol/L',
         style: 'color:#a8a0f1',
         type: 'chol',
+        command: 'gethealthyCholHistory',
         id: 5
     },
     {

+ 123 - 0
src/views/zhulao/views/healthAssessmen/typeDetails/header.vue

@@ -0,0 +1,123 @@
+<template>
+  <div class="header">
+    <div>
+      <div class="selectBox">
+        <div class="content" @click="select=!select">{{selectValue}}</div>
+        <div :class="select? 'select':'select selectOut'">
+          <div @click="selectValue='近半年',select=!select">近半年</div>
+          <div @click="selectValue='近一年',select=!select">近一年</div>
+          <div @click="selectValue='近两年',select=!select">近两年</div>
+        </div>
+      </div>
+    </div>
+    <div>
+      <div class="selectBox">
+        <div class="content" @click="selectType=!selectType">{{healthTypeValue||name}}</div>
+        <div :class="selectType? 'select':'select selectOutType'">
+          <div v-for="(item,index) in healthType" :key="index" @click="getselectvlaue(item)">{{item.name}}</div>
+        </div>
+      </div>
+    </div>
+    <van-button class="search" :disabled="searchloading" @click="search()">查询</van-button>
+  </div>
+</template>
+<script>
+import { healthType } from '.././term.js'
+export default {
+  props: ['name'],
+  data() {
+    return {
+      searchloading: false,
+      select: true,
+      selectType: true,
+      selectValue: '近半年',
+      healthType: healthType,
+      healthTypeValue: '',
+      command: '',
+      unit: '',
+    }
+  },
+  created() {
+    console.log(this.name)
+  },
+  methods: {
+    search() {
+      console.log('w')
+      this.$emit('onSerach', {
+        selectValue: this.selectValue,
+        healthTypeValue: this.healthTypeValue,
+        command: this.command,
+      })
+    },
+    getselectvlaue(item) {
+      this.unit = item.unit
+      this.command = item.command
+      this.healthTypeValue = item.name
+      this.selectType = !this.selectType
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.content {
+  font-size: 28px;
+  width: 240px;
+  height: 80px;
+  text-align: center;
+  color: #fff;
+  border-radius: 5px;
+  background-color: #00cccb;
+  line-height: 80px;
+}
+.selectBox {
+  position: relative;
+}
+.select {
+  position: absolute;
+  width: 100%;
+  top: 80px;
+  right: 0;
+  transition: all 0.5s;
+  height: 0;
+  overflow: hidden;
+  z-index: 900;
+  background-color: #eee;
+  //   background-color: #000;
+  font-size: 28px;
+  div {
+    height: 60px;
+    line-height: 60px;
+    text-align: center;
+  }
+}
+.selectOut {
+  height: 180px;
+}
+.selectOutType {
+  height: 840px;
+}
+.header {
+  position: fixed;
+  top: 0;
+  display: flex;
+  padding: 0 30px;
+  justify-content: space-between;
+  //   border-bottom: 1px solid #ddd;
+  padding-bottom: 16px;
+  margin-top: 100px;
+  width: calc(100% - 60px);
+  background-color: #fff;
+  z-index: 99999999;
+}
+.search {
+  width: 120px;
+  height: 80px;
+  color: #fff;
+  border-radius: 5px;
+  background-color: #ffc900;
+  line-height: 80px;
+  text-align: center;
+  font-size: 30px;
+  padding: 0;
+}
+</style>

+ 578 - 0
src/views/zhulao/views/healthAssessmen/typeDetails/typemain.vue

@@ -0,0 +1,578 @@
+<template>
+  <div>
+    <van-nav-bar title="健康评估" @click-left="$router.back()" left-arrow fixed placeholder safe-area-inset-top />
+    <Header :name="name" @onSerach="onSerach" />
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <div v-if="name=='体重'">
+        <div class="list" v-for="item in healths" :key="item.id">
+          <div>
+            <img class="listg" :src="require('../../../assets/img/listg.png')" alt="">
+          </div>
+          <div class="list_box">
+            <div>
+              <p class="time">{{item.weight.date}}</p>
+              <p class="num">{{name}}:{{item.weight.value}}Kg</p>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div v-if="name=='血糖'">
+        <div ref="mainEcharts" class="mainEcharts"></div>
+        <div style="border-top:1px solid #ddd;"></div>
+        <div class="list" v-for="item in healths" :key="item.id">
+          <div>
+            <img class="listg" :src="require('../../../assets/img/listg.png')" alt="">
+          </div>
+          <div class="list_box">
+            <div>
+              <p class="time">{{item.dateTime}}</p>
+              <p class="num">血糖值:{{item.glu}}mmol/L</p>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div v-if="name=='血压'">
+        <div ref="mainEcharts2" class="mainEcharts"></div>
+        <div ref="mainEcharts" class="mainEcharts"></div>
+        <div style="border-top:1px solid #ddd;"></div>
+        <div class="list" v-for="item in healths" :key="item.id">
+          <div>
+            <img class="listg" :src="require('../../../assets/img/listg.png')" alt="">
+          </div>
+          <div class="list_box">
+            <div>
+              <p class="time">{{item.dateTime}}</p>
+              <p class="num" v-if="item.nibpSys.value&&item.nibpDia.value">收缩压/舒张压:
+                <span style="color:#50D4C2"
+                  v-if="item.nibpSys.value <= normal_nibpSysMax && item.nibpSys.value  >= normal_nibpSysMin  && item.nibpDia.value >= normal_nibpDiaMin  && item.nibpDia.value <= normal_nibpDiaMax ">{{item.nibpSys.value}}/{{item.nibpDia.value}}</span>
+                <span
+                  v-if="(item.nibpSys.value > normal_nibpSysMax || item.nibpSys.value  < normal_nibpSysMin)  && item.nibpDia.value >= normal_nibpDiaMin  && item.nibpDia.value <= normal_nibpDiaMax"><small
+                    style="color: #FFC900">{{item.nibpSys.value}}</small>/{{item.nibpDia.value}}</span>
+                <span
+                  v-if="item.nibpSys.value <= normal_nibpSysMax && item.nibpSys.value  >= normal_nibpSysMin  && ( item.nibpDia.value < normal_nibpDiaMin  || item.nibpDia.value > normal_nibpDiaMax )">{{item.nibpSys.value}}/<small>{{item.nibpDia.value}}</small></span>
+                <span
+                  v-if="(item.nibpSys.value > normal_nibpSysMax || item.nibpSys.value  < normal_nibpSysMin ) && ( item.nibpDia.value < normal_nibpDiaMin  || item.nibpDia.value > normal_nibpDiaMax )"
+                  style="color: #FFC900">{{item.nibpSys.value}}/{{item.nibpDia.value}}</span>
+                mmHg
+              </p>
+              <p class="num">脉搏:{{item.pr}}次/分钟</p>
+            </div>
+
+          </div>
+          <p class="standard" @click="show=true">
+            <van-icon name="question-o" />标准参考
+          </p>
+          <van-popup v-model="show">
+            <h5>【血压】</h5>
+            <p>收缩压参考范围:90~139 mmHg</p>
+            <p>舒张压参考范围:60~89 mmHg</p>
+            <p>脉搏参考范围:60~100 次/分钟</p>
+            <div class="btn">
+              <van-button @click="show=false">知道了!</van-button>
+            </div>
+          </van-popup>
+        </div>
+      </div>
+      <div v-if="name=='血氧'">
+        <div ref="mainEcharts" class="mainEcharts"></div>
+        <div style="border-top:1px solid #ddd;"></div>
+        <div class="list" v-for="item in healths" :key="item.id">
+          <div>
+            <img class="listg" :src="require('../../../assets/img/listg.png')" alt="">
+          </div>
+          <div class="list_box">
+            <div>
+              <p class="time">{{item.dateTime}}</p>
+              <p class="num">血氧值:{{item.spo}}
+                <small v-if="item.spo < normal_spo" style="color: #FFC900">%</small>
+                <small v-else>%</small>
+              </p>
+            </div>
+
+          </div>
+          <p class="standard" @click="show=true">
+            <van-icon name="question-o" />标准参考
+          </p>
+          <van-popup v-model="show">
+            <h5>【血氧】</h5>
+            <p>参考范围:>= 95%</p>
+            <div class="btn">
+              <van-button @click="show=false">知道了!</van-button>
+            </div>
+          </van-popup>
+        </div>
+      </div>
+      <div v-if="name=='血脂'">
+        <div class="list" v-for="item in healths" :key="item.id">
+          <div>
+            <img class="listg" :src="require('../../../assets/img/listg.png')" alt="">
+          </div>
+          <div class="list_box">
+            <div>
+              <p class="time">{{item.collectTime}}</p>
+              <p class="num">总胆固醇(TC):<span :style="item.chol <= normal_cholDgcMax && item.chol >= normal_cholDgcMinMin?'color: #50D4C2':'color: #FFC900'">{{item.chol}}</span>mmol/L</p>
+              <p class="num">甘油三酯(TG):<span :style="item.tg <= normal_cholGyszMax && item.tg >= normal_cholGyszMin?'color: #50D4C2':'color: #FFC900'">{{item.tg}}</span>mmol/L</p>
+              <p class="num">高密度脂蛋白胆固醇(HDL-C):<span :style="item.hdlc <= normal_cholGyszMax && item.hdlc >= normal_cholGyszMin?'color: #50D4C2':'color: #FFC900'">{{item.hdlc}}</span>mmol/L</p>
+              <p class="num">低密度脂蛋白胆固醇(LDL-C):<span :style="item.ldlc <= normal_cholGyszMax && item.ldlc >= normal_cholGyszMin?'color: #50D4C2':'color: #FFC900'">{{item.ldlc}}</span>mmol/L</p>
+            </div>
+          </div>
+          <p class="standard" @click="show=true">
+            <van-icon name="question-o" />标准参考
+          </p>
+          <van-popup v-model="show">
+            <h5>【血氧】</h5>
+            <p>参考范围:>= 95%</p>
+            <div class="btn">
+              <van-button @click="show=false">知道了!</van-button>
+            </div>
+          </van-popup>
+        </div>
+      </div>
+    </van-pull-refresh>
+  </div>
+</template>
+<script>
+import { queryaction, userApi } from '../../../api/index.js'
+import Header from './header.vue'
+export default {
+  components: { Header },
+  data() {
+    return {
+      selectValue: '近半年',
+      name: '',
+      command: '',
+      healths: '',
+      isLoading: false,
+      finished: false,
+      show: false,
+      unit: '',
+      healthRangeList: '',
+      normal_nibpSysMin: '',
+      normal_nibpSysMax: '',
+      normal_nibpDiaMin: '',
+      normal_nibpDiaMax: '',
+
+      normal_cholDgcMinMin: '',
+      normal_cxholDgcMax: '',
+      normal_cholGyszMin: '',
+      normal_cholGyszMax: '',
+      normal_cholGmdMin: '',
+      normal_cholGmdMax: '',
+      normal_cholDmdMin: '',
+      normal_cholDmdMax: '',
+    }
+  },
+  created() {
+    this.userApi()
+    this.name = this.$route.query.name
+    this.unit = this.$route.query.unit
+    this.command = this.$route.query.command
+    console.log(this.name)
+    this.queryaction()          
+  },
+  methods: {
+    async queryaction() {
+      if (this.$refs['mainEcharts2']) {
+        this.$echarts.init(this.$refs['mainEcharts2']).dispose()
+        this.$echarts.init(this.$refs['mainEcharts']).dispose()
+      }
+
+      this.healths = [] // 切换查询时,数据未拿到,页面先更新 造成数据拿不到报错
+      var startTime = ''
+      var endTime = this.getStartTimeStr(-1)
+      switch (this.selectValue) {
+        case '近半年':
+          startTime = this.getStartTimeStr(186)
+          break
+        case '近一年':
+          startTime = this.getStartTimeStr(365)
+          break
+        case '近两年':
+          startTime = this.getStartTimeStr(730)
+          break
+      }
+      const res = await queryaction({
+        command: this.command,
+        uid: 2121,
+        startDate: startTime,
+        endDate: endTime,
+        extra: 0,
+        terminalType: 3,
+        pageNum: 1,
+        pageSize: 10,
+      })
+
+      if (this.name == '血脂') {
+        console.log(res.data, '222')
+        this.healths = res.data.list
+      } else {
+        this.healths = res.healths
+      }
+
+      console.log(this.healths, 'this.healths')
+      var times = []
+      var values = []
+      var allValues = []
+      if (this.name == '血糖') {
+        this.healths.forEach((item) => {
+          console.log(item, '1')
+          var x = item.dateTime.slice(5, 10)
+          times.push(x)
+          values.push(item.glu)
+        })
+        console.log(values)
+        this.getEcharts(times, values, 'mmol/L', '血糖')
+      }
+      if (this.name == '血氧') {
+        this.healths.forEach((item) => {
+          console.log(item, '1')
+          var x = item.dateTime.slice(5, 10)
+          times.push(x)
+          values.push(item.spo)
+        })
+        this.getEcharts(times, values, '%', '血氧')
+      }
+      if (this.name == '血压') {
+        this.healths.forEach((item) => {
+          var x = item.dateTime.slice(5, 10)
+          times.push(x)
+          values.push(item.pr)
+          allValues[0] = [item.nibpSys]
+          allValues[1] = [item.nibpDia]
+        })
+        this.getEcharts(times, values, '次/分钟', '脉搏')
+        this.getEcharts2(times, allValues, 'mmHg', ['高压', '低压'])
+      }
+    },
+    onSerach(e) {
+      console.log(e, '搜索')
+      console.log(this.command, '搜索')
+      console.log(e.command || this.command, '搜索')
+      this.command = e.command || this.command
+      this.name = e.healthTypeValue || this.name
+      this.selectValue = e.selectValue || this.selectValue
+      this.queryaction()
+    },
+    onRefresh() {
+      this.queryaction()
+      this.isLoading = false
+    },
+    getStartTimeStr: function (day) {
+      var today = new Date()
+      var beforMilliseconds = today.getTime() - 1000 * 3600 * 24 * day
+      var beforday = new Date()
+      beforday.setTime(beforMilliseconds)
+      var strYear = beforday.getFullYear()
+      var strDay = beforday.getDate()
+      var strMonth = beforday.getMonth() + 1
+      if (strMonth < 10) {
+        strMonth = '0' + strMonth
+      }
+      if (strDay < 10) {
+        strDay = '0' + strDay
+      }
+
+      return strYear + '-' + strMonth + '-' + strDay
+    },
+    getEcharts(times, values, unit, legend) {
+      var option = {
+        tooltip: {
+          trigger: 'axis',
+        },
+        legend: {
+          x: 'right',
+          data: [legend],
+        },
+        grid: {
+          left: '3%',
+          right: '4%',
+          bottom: '3%',
+          containLabel: true,
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: times,
+        },
+        yAxis: {
+          type: 'value',
+          name: unit,
+          splitLine: {
+            show: false,
+          },
+        },
+        series: [
+          {
+            name: legend,
+            type: 'line',
+            data: values,
+          },
+        ],
+        color: ['#FF9900'],
+      }
+      var echarts = this.$echarts.init(this.$refs['mainEcharts'])
+      echarts.setOption(option)
+    },
+    getEcharts2(times, values, unit, legend) {
+      console.log(values, 'values')
+      console.log(legend, 'legend')
+      var option = {
+        tooltip: {
+          trigger: 'axis',
+        },
+        legend: {
+          x: 'right',
+          data: legend,
+        },
+        grid: {
+          left: '3%',
+          right: '4%',
+          bottom: '3%',
+          containLabel: true,
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: times,
+        },
+        yAxis: {
+          type: 'value',
+          name: unit,
+          splitLine: {
+            show: false,
+          },
+        },
+        series: [
+          {
+            name: legend[0],
+            type: 'line',
+            data: values[0],
+          },
+          {
+            name: legend[1],
+            type: 'line',
+            data: values[1],
+          },
+        ],
+        color: ['#FF9900', '#339999'],
+      }
+      var echarts = this.$echarts.init(this.$refs['mainEcharts2'])
+      echarts.setOption(option)
+    },
+    async userApi() {
+      const res = await userApi({
+        command: 'getDefaultHealthRange',
+        terminalType: 1,
+      })
+      console.log(res, 'defaultHealthRange')
+      var defaultHealthRange = res.healthRangeList
+      this.normal_nibpSysMin = defaultHealthRange[1].min //收缩压
+      this.normal_nibpSysMax = defaultHealthRange[1].max
+      this.normal_nibpDiaMin = defaultHealthRange[6].min //舒张压
+      this.normal_nibpDiaMax = defaultHealthRange[6].max
+
+      //   this.normal_prMin = defaultHealthRange[47].min //舒张压
+      //   this.normal_prMax = defaultHealthRange[47].max
+
+      //   this.normal_gluMin = defaultHealthRange[2].min //血糖
+      //   this.normal_gluMax = defaultHealthRange[2].max
+      this.normal_spo = defaultHealthRange[3].min //血氧
+
+      this.normal_cholDgcMinMin = defaultHealthRange[7].min //总胆固醇
+      this.normal_cxholDgcMa = defaultHealthRange[7].max
+      this.normal_cholGyszMin = defaultHealthRange[8].min //甘油三脂
+      this.normal_cholGyszMax = defaultHealthRange[8].max
+      this.normal_cholGmdMin = defaultHealthRange[9].min //高密度脂蛋白
+      this.normal_cholGmdMax = defaultHealthRange[9].max
+      this.normal_cholDmdMin = defaultHealthRange[10].min //低密度脂蛋白
+      this.normal_cholDmdMax = defaultHealthRange[10].max
+
+      //   this.normal_hbXhdbMin = defaultHealthRange[13].min //血红蛋白
+      //   this.normal_hbXhdbMax = defaultHealthRange[13].max
+      //   this.normal_hbHxbjyMin = defaultHealthRange[14].min //红细胞压积
+      //   this.normal_hbHxbjyMax = defaultHealthRange[14].max
+
+      //   for (var i = 0; i < defaultHealthRange.length; i++) {
+      //     if (defaultHealthRange[i].healthType == 24) {
+      //       //体温
+      //       this.normal_tempMin = defaultHealthRange[i].min
+      //       this.normal_tempMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 23) {
+      //       //尿酸
+      //       this.normal_uaMin = defaultHealthRange[i].min
+      //       this.normal_uaMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 48) {
+      //       //脂肪率
+      //       this.normal_fatMin = defaultHealthRange[i].min
+      //       this.normal_fatMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 27) {
+      //       // 肺活量
+      //       this.normal_vcMin = defaultHealthRange[i].min
+      //       this.normal_vcMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 28) {
+      //       // 用力呼气1秒
+      //       this.normal_fev1Min = defaultHealthRange[i].min
+      //       this.normal_fev1Max = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 29) {
+      //       //29呼气峰值流速
+      //       this.normal_pefMin = defaultHealthRange[i].min
+      //       this.normal_pefMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 30) {
+      //       //25%肺活量时
+      //       this.normal_fef25Min = defaultHealthRange[i].min
+      //       this.normal_fef25Max = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 31) {
+      //       //75%肺活量时
+      //       this.normal_fef75Min = defaultHealthRange[i].min
+      //       this.normal_fef75Max = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 32) {
+      //       //从25%到75%肺活量之间
+      //       this.normal_fef2575Min = defaultHealthRange[i].min
+      //       this.normal_fef2575Max = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 37) {
+      //       // ph
+      //       this.normal_phMin = defaultHealthRange[i].min
+      //       this.normal_phMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 39) {
+      //       // 比重
+      //       this.normal_sgMin = defaultHealthRange[i].min
+      //       this.normal_sgMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 42) {
+      //       // 尿糖
+      //       this.normal_glu1Min = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 36) {
+      //       //蛋白质
+      //       this.normal_proMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 41) {
+      //       //胆红素
+      //       this.normal_bilMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 35) {
+      //       //尿胆原
+      //       this.normal_ubgMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 38) {
+      //       //潜血
+      //       this.normal_eryMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 33) {
+      //       //白细胞
+      //       this.normal_leuMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 40) {
+      //       //酮体
+      //       this.normal_ketMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 34) {
+      //       //亚硝酸盐
+      //       this.normal_nitMin = defaultHealthRange[i].min
+      //     } else if (defaultHealthRange[i].healthType == 43) {
+      //       //维生素C
+      //       this.normal_vc1Min = defaultHealthRange[i].min
+      //       this.normal_vc1Max = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 50) {
+      //       //bmi
+      //       this.normal_bmiMin = defaultHealthRange[i].min
+      //       this.normal_bmiMax = defaultHealthRange[i].max
+      //     } else if (defaultHealthRange[i].healthType == 49) {
+      //       //metabolism
+      //       this.normal_metabolismMin = defaultHealthRange[i].min
+      //     }
+      //   }
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.list {
+  min-height: 196px;
+  position: relative;
+  border-bottom: 1px solid #ddd;
+  padding-left: 30px;
+  display: flex;
+  width: 100%;
+  .list_box {
+    margin-top: 52px;
+    width: calc(100% - 100px);
+    display: flex;
+    justify-content: space-between;
+    padding-bottom: 20px;
+    p {
+      margin: 0;
+    }
+    > div {
+      font-size: 30px;
+      margin-left: 26px;
+      .time {
+        color: #adadad;
+      }
+      .num {
+        margin-top: 10px;
+        color: #50d4c2;
+      }
+    }
+    > p {
+      font-size: 30px;
+      color: #50d4c2;
+      height: 60px;
+      background-color: #f8f8f8;
+      padding: 0 20px;
+      line-height: 60px;
+    }
+  }
+  .listg {
+    height: 100%;
+  }
+}
+.van-pull-refresh {
+  margin-top: 116px;
+  z-index: 1;
+  height: 100%;
+  padding-bottom: 40px;
+  overflow: hidden;
+}
+::v-deep .van-pull-refresh__track {
+  > div {
+    .list:nth-child(1) {
+      border-top: 1px solid #ddd;
+    }
+  }
+}
+.mainEcharts {
+  width: 100%;
+  height: 500px;
+}
+.standard {
+  font-size: 30px;
+  color: #50d4c2;
+  height: 60px;
+  background-color: #f8f8f8;
+  padding: 0 20px;
+  line-height: 60px;
+  position: absolute;
+  right: 60px;
+  top: 10px;
+}
+::v-deep .van-overlay {
+  z-index: 999999991 !important;
+}
+::v-deep .van-popup--center {
+  z-index: 999999992 !important;
+  padding: 0 20px;
+  width: 500px;
+  p {
+    font-size: 30px;
+    margin: 16px 0;
+  }
+  h5 {
+    margin: 30px 0;
+    font-size: 30px;
+    text-align: center;
+  }
+  .btn {
+    text-align: center;
+    padding: 20px 0;
+    .van-button {
+      width: 480px;
+      border-color: transparent;
+      background-color: #00cccb;
+      color: #fff;
+    }
+  }
+}
+</style>