Kaynağa Gözat

健康管理

sunran 3 yıl önce
ebeveyn
işleme
a58076347f
71 değiştirilmiş dosya ile 891 ekleme ve 5 silme
  1. 1 0
      .env.development
  2. 5 1
      src/utils/zprequest.js
  3. 18 0
      src/views/zhulao/api/index.js
  4. BIN
      src/views/zhulao/assets/img/adam.jpg
  5. BIN
      src/views/zhulao/assets/img/ascvd_high.png
  6. BIN
      src/views/zhulao/assets/img/ascvd_low.png
  7. BIN
      src/views/zhulao/assets/img/ascvd_medium.png
  8. BIN
      src/views/zhulao/assets/img/ascvd_veryhigh.png
  9. BIN
      src/views/zhulao/assets/img/ben.png
  10. BIN
      src/views/zhulao/assets/img/bloodOxygen.png
  11. BIN
      src/views/zhulao/assets/img/bloodPressure.png
  12. BIN
      src/views/zhulao/assets/img/bloodSugar.png
  13. BIN
      src/views/zhulao/assets/img/bodyWeight.png
  14. BIN
      src/views/zhulao/assets/img/czycjc.png
  15. BIN
      src/views/zhulao/assets/img/doctor.png
  16. BIN
      src/views/zhulao/assets/img/face.png
  17. BIN
      src/views/zhulao/assets/img/home_hengxian.png
  18. BIN
      src/views/zhulao/assets/img/home_shuxian.png
  19. BIN
      src/views/zhulao/assets/img/ionic.png
  20. BIN
      src/views/zhulao/assets/img/list-fat-s.png
  21. BIN
      src/views/zhulao/assets/img/list-site-s.png
  22. BIN
      src/views/zhulao/assets/img/list-site.png
  23. BIN
      src/views/zhulao/assets/img/list-temp-s.png
  24. BIN
      src/views/zhulao/assets/img/list-ua-s.png
  25. BIN
      src/views/zhulao/assets/img/list-ultrasonic-s.png
  26. BIN
      src/views/zhulao/assets/img/list-urine-s.png
  27. BIN
      src/views/zhulao/assets/img/list-vc-s.png
  28. BIN
      src/views/zhulao/assets/img/list-weight-s.png
  29. BIN
      src/views/zhulao/assets/img/list-weight.png
  30. BIN
      src/views/zhulao/assets/img/list-xhdb-s.png
  31. BIN
      src/views/zhulao/assets/img/list-xhdb.png
  32. BIN
      src/views/zhulao/assets/img/list-xt-s.png
  33. BIN
      src/views/zhulao/assets/img/list-xt.png
  34. BIN
      src/views/zhulao/assets/img/list-xy-s.png
  35. BIN
      src/views/zhulao/assets/img/list-xy.png
  36. BIN
      src/views/zhulao/assets/img/list-xyang-s.png
  37. BIN
      src/views/zhulao/assets/img/list-xyang.png
  38. BIN
      src/views/zhulao/assets/img/list-xz-s.png
  39. BIN
      src/views/zhulao/assets/img/list-xz.png
  40. BIN
      src/views/zhulao/assets/img/listg.png
  41. BIN
      src/views/zhulao/assets/img/listg2.png
  42. BIN
      src/views/zhulao/assets/img/listg3.png
  43. BIN
      src/views/zhulao/assets/img/listgg.png
  44. BIN
      src/views/zhulao/assets/img/max.png
  45. BIN
      src/views/zhulao/assets/img/mike.png
  46. BIN
      src/views/zhulao/assets/img/no2neBind.png
  47. BIN
      src/views/zhulao/assets/img/noneBind.png
  48. BIN
      src/views/zhulao/assets/img/noneBind1.png
  49. BIN
      src/views/zhulao/assets/img/perry.png
  50. BIN
      src/views/zhulao/assets/img/xx/fat.png
  51. BIN
      src/views/zhulao/assets/img/xx/site.png
  52. BIN
      src/views/zhulao/assets/img/xx/temp.png
  53. BIN
      src/views/zhulao/assets/img/xx/ua.png
  54. BIN
      src/views/zhulao/assets/img/xx/ultrasonic.png
  55. BIN
      src/views/zhulao/assets/img/xx/urine.png
  56. BIN
      src/views/zhulao/assets/img/xx/vc.png
  57. BIN
      src/views/zhulao/assets/img/xx/weight.png
  58. BIN
      src/views/zhulao/assets/img/xx/xhdb.png
  59. BIN
      src/views/zhulao/assets/img/xx/xt.png
  60. BIN
      src/views/zhulao/assets/img/xx/xy.png
  61. BIN
      src/views/zhulao/assets/img/xx/xyang.png
  62. BIN
      src/views/zhulao/assets/img/xx/xz.png
  63. BIN
      src/views/zhulao/assets/img/zjjc.png
  64. 28 4
      src/views/zhulao/router/router.js
  65. 0 0
      src/views/zhulao/views/address/add.vue
  66. 14 0
      src/views/zhulao/views/address/index.vue
  67. 242 0
      src/views/zhulao/views/healthAssessmen/estimate.vue
  68. 208 0
      src/views/zhulao/views/healthAssessmen/index.vue
  69. 160 0
      src/views/zhulao/views/healthAssessmen/term.js
  70. 206 0
      src/views/zhulao/views/shoppingMall/submitOrder.vue
  71. 9 0
      vue.config.js

+ 1 - 0
.env.development

@@ -8,6 +8,7 @@ VUE_APP_ZL_WSS = '/api'
 VUE_APP_ZL_WSS_ZP='/prod-api'
 VUE_APP_ZL_JF='/blade-api'
 VUE_APP_ZL_WSS_ZP_BT='/subsidy'
+VUE_APP_ZL_HEALTH='/zhylsia'
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
 # to control whether the babel-plugin-dynamic-import-node plugin is enabled.
 # It only does one thing by converting all import() to require().

+ 5 - 1
src/utils/zprequest.js

@@ -27,6 +27,10 @@ service.interceptors.request.use(
             config.baseURL = process.env.VUE_APP_ZL_WSS_ZP_BT;
             // config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
         }
+        if (config.requestBase == 'VUE_APP_ZL_HEALTH') {
+            config.headers['authToken'] = 'DabfQ2iZbs6FfphhCFcDTfSB6aEfrnnJ22d33f2f-5f7e-4913-9ca5-a2d18029a2da'
+            config.baseURL = process.env.VUE_APP_ZL_HEALTH;
+        }
         if (config.type === 'change') {
             config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
         } else if (config.type === 'formData') {
@@ -63,7 +67,7 @@ service.interceptors.response.use(
             });
             return res
         }
-        if (res.code == '200' || res.statusCode == '200') {
+        if (res.code == '200' || res.statusCode == '200' || res.status == '0') {
             return res
         } else if (res.statusCode == '500' || res.statusCode == '403' || res.statusCode == '404' || res.statusCode == '221002') {
             Dialog({

+ 18 - 0
src/views/zhulao/api/index.js

@@ -74,4 +74,22 @@ export function getGroupDetail(data) {
         type: 'change',
         data: qs.stringify(data)
     })
+}
+// 健康评估
+export function userApi(params) {
+    return request({
+        url: '/userApi.action',
+        method: 'get',
+        requestBase: 'VUE_APP_ZL_HEALTH',
+        params
+    })
+}
+// 健康评估
+export function queryaction(params) {
+    return request({
+        url: '/query.action',
+        method: 'get',
+        requestBase: 'VUE_APP_ZL_HEALTH',
+        params
+    })
 }

BIN
src/views/zhulao/assets/img/adam.jpg


BIN
src/views/zhulao/assets/img/ascvd_high.png


BIN
src/views/zhulao/assets/img/ascvd_low.png


BIN
src/views/zhulao/assets/img/ascvd_medium.png


BIN
src/views/zhulao/assets/img/ascvd_veryhigh.png


BIN
src/views/zhulao/assets/img/ben.png


BIN
src/views/zhulao/assets/img/bloodOxygen.png


BIN
src/views/zhulao/assets/img/bloodPressure.png


BIN
src/views/zhulao/assets/img/bloodSugar.png


BIN
src/views/zhulao/assets/img/bodyWeight.png


BIN
src/views/zhulao/assets/img/czycjc.png


BIN
src/views/zhulao/assets/img/doctor.png


BIN
src/views/zhulao/assets/img/face.png


BIN
src/views/zhulao/assets/img/home_hengxian.png


BIN
src/views/zhulao/assets/img/home_shuxian.png


BIN
src/views/zhulao/assets/img/ionic.png


BIN
src/views/zhulao/assets/img/list-fat-s.png


BIN
src/views/zhulao/assets/img/list-site-s.png


BIN
src/views/zhulao/assets/img/list-site.png


BIN
src/views/zhulao/assets/img/list-temp-s.png


BIN
src/views/zhulao/assets/img/list-ua-s.png


BIN
src/views/zhulao/assets/img/list-ultrasonic-s.png


BIN
src/views/zhulao/assets/img/list-urine-s.png


BIN
src/views/zhulao/assets/img/list-vc-s.png


BIN
src/views/zhulao/assets/img/list-weight-s.png


BIN
src/views/zhulao/assets/img/list-weight.png


BIN
src/views/zhulao/assets/img/list-xhdb-s.png


BIN
src/views/zhulao/assets/img/list-xhdb.png


BIN
src/views/zhulao/assets/img/list-xt-s.png


BIN
src/views/zhulao/assets/img/list-xt.png


BIN
src/views/zhulao/assets/img/list-xy-s.png


BIN
src/views/zhulao/assets/img/list-xy.png


BIN
src/views/zhulao/assets/img/list-xyang-s.png


BIN
src/views/zhulao/assets/img/list-xyang.png


BIN
src/views/zhulao/assets/img/list-xz-s.png


BIN
src/views/zhulao/assets/img/list-xz.png


BIN
src/views/zhulao/assets/img/listg.png


BIN
src/views/zhulao/assets/img/listg2.png


BIN
src/views/zhulao/assets/img/listg3.png


BIN
src/views/zhulao/assets/img/listgg.png


BIN
src/views/zhulao/assets/img/max.png


BIN
src/views/zhulao/assets/img/mike.png


BIN
src/views/zhulao/assets/img/no2neBind.png


BIN
src/views/zhulao/assets/img/noneBind.png


BIN
src/views/zhulao/assets/img/noneBind1.png


BIN
src/views/zhulao/assets/img/perry.png


BIN
src/views/zhulao/assets/img/xx/fat.png


BIN
src/views/zhulao/assets/img/xx/site.png


BIN
src/views/zhulao/assets/img/xx/temp.png


BIN
src/views/zhulao/assets/img/xx/ua.png


BIN
src/views/zhulao/assets/img/xx/ultrasonic.png


BIN
src/views/zhulao/assets/img/xx/urine.png


BIN
src/views/zhulao/assets/img/xx/vc.png


BIN
src/views/zhulao/assets/img/xx/weight.png


BIN
src/views/zhulao/assets/img/xx/xhdb.png


BIN
src/views/zhulao/assets/img/xx/xt.png


BIN
src/views/zhulao/assets/img/xx/xy.png


BIN
src/views/zhulao/assets/img/xx/xyang.png


BIN
src/views/zhulao/assets/img/xx/xz.png


BIN
src/views/zhulao/assets/img/zjjc.png


+ 28 - 4
src/views/zhulao/router/router.js

@@ -44,12 +44,36 @@ const routes = [{
         component: () => import('../views/shoppingMall/details.vue')
     },
     {
-        path: '/circleHome',
-        name: 'circleHome',
+        path: '/submitOrder',
+        name: 'submitOrder',
         meta: {
-            keepAlive: true
+            keepAlive: false
+        },
+        component: () => import('../views/shoppingMall/submitOrder.vue')
+    },
+    {
+        path: '/address',
+        name: 'address',
+        meta: {
+            keepAlive: false
+        },
+        component: () => import('../views/address/index.vue')
+    },
+    {
+        path: '/healthAssessmen',
+        name: 'healthAssessmen',
+        meta: {
+            keepAlive: false
+        },
+        component: () => import('../views/healthAssessmen/index.vue')
+    },
+    {
+        path: '/estimate',
+        name: 'estimate',
+        meta: {
+            keepAlive: false
         },
-        component: () => import('../views/circle/index.vue')
+        component: () => import('../views/healthAssessmen/estimate.vue')
     },
 
 

+ 0 - 0
src/views/zhulao/views/address/add.vue


+ 14 - 0
src/views/zhulao/views/address/index.vue

@@ -0,0 +1,14 @@
+<template>
+  <div>
+
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {}
+  },
+}
+</script>
+<style lang="scss" scoped>
+</style>

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

@@ -0,0 +1,242 @@
+<template>
+  <div style="height:100%">
+    <van-nav-bar title="健康评估" @click-left="$router.back()" left-arrow fixed placeholder safe-area-inset-top />
+    <div class="main">
+      <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 class="search">查询</div>
+      </div>
+      <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+        <van-list v-model="loading" :immediate-check="false" :finished="finished" finished-text="没有更多了" @load="onLoad">
+          <div class="list" v-for="item in healths" :key="item.id">
+            <div>
+              <img src="../../assets/img/listg.png" alt="">
+            </div>
+            <div class="list_box">
+              <div>
+                <p class="time">{{item.dateTime}}</p>
+                <p class="num">健康评估:{{showEstimate(item.estimate)}}</p>
+              </div>
+              <p>
+                <van-icon name="question-o" />点击查看详情
+              </p>
+
+            </div>
+          </div>
+        </van-list>
+
+      </van-pull-refresh>
+    </div>
+  </div>
+</template>
+<script>
+import { queryaction } from '../../api/index.js'
+
+export default {
+  data() {
+    return {
+      select: true,
+      selectValue: '近一年',
+      healths: [],
+      isLoading: false,
+      loading: false,
+      finished: false,
+      pageNum: 1,
+    }
+  },
+  created() {
+    this.queryaction()
+  },
+  methods: {
+    showEstimate(estimate) {
+      if (estimate == 'VeryHigh') {
+        return '极高危人群'
+      } else if (estimate == 'High') {
+        return '高危人群'
+      } else if (estimate == 'Medium') {
+        return '中危人群'
+      } else if (estimate == 'Low') {
+        return '低危人群'
+      } else {
+        return null
+      }
+    },
+    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
+    },
+    async queryaction() {
+      var startTime = ''
+      var endTime = this.getStartTimeStr(-1)
+      switch (this.selectValue) {
+        case '近一年': //体重
+          startTime = this.getStartTimeStr(365)
+          break
+        case '近两年': //体重
+          startTime = this.getStartTimeStr(730)
+          break
+        case '近三年': //体重
+          startTime = this.getStartTimeStr(1095)
+          break
+      }
+      const res = await queryaction({
+        command: 'gethealthsascvdchistory',
+        uid: 2121,
+        startDate: startTime,
+        endDate: endTime,
+        extra: 0,
+        pageNum: this.pageNum,
+        pageSize: 20,
+      })
+      if (this.pageNum == 1) {
+        this.healths = res.healths
+      } else {
+        this.healths = this.healths.concat(res.healths)
+      }
+      if (res.healths.leagth == 0) {
+        this.finished = true
+        this.pageNum--
+      }
+      this.loading = false
+      this.pageNum++
+
+      console.log(res)
+    },
+    onLoad() {
+      this.queryaction()
+    },
+    onRefresh() {
+      this.pageNum = 1
+      this.queryaction()
+      this.isLoading = false
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.main {
+  width: 100%;
+  height: calc(100% - 100px);
+  overflow: hidden;
+  background-color: #fff;
+}
+.content {
+  font-size: 28px;
+  width: 240px;
+  height: 80px;
+  text-align: center;
+  color: #fff;
+  border-radius: 5px;
+  background-color: #00cccb;
+  line-height: 80px;
+}
+.selectBox {
+  position: absolute;
+}
+.select {
+  position: relative;
+  width: 100%;
+  top: 0;
+  right: 0;
+  transition: all 0.5s;
+  height: 0;
+  overflow: hidden;
+  z-index: 900;
+  background-color: #eee;
+  font-size: 28px;
+  div {
+    height: 60px;
+    line-height: 60px;
+    text-align: center;
+  }
+}
+.selectOut {
+  height: 180px;
+}
+.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;
+}
+.search {
+  width: 120px;
+  color: #fff;
+  border-radius: 5px;
+  background-color: #ffc900;
+  line-height: 80px;
+  text-align: center;
+  font-size: 30px;
+}
+.list {
+  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;
+    p {
+      margin: 0;
+    }
+    > div {
+      font-size: 30px;
+      margin-left: 26px;
+      .time {
+        color: #adadad;
+      }
+      .num {
+        margin-top: 26px;
+        color: #50d4c2;
+      }
+    }
+    > p {
+      font-size: 30px;
+      color: #50d4c2;
+      height: 60px;
+      background-color: #f8f8f8;
+      padding: 0 20px;
+      line-height: 60px;
+    }
+  }
+}
+.van-pull-refresh {
+  margin-top: 110px;
+  z-index: 1;
+  height: calc(100% - 110px);
+  overflow: hidden;
+}
+.van-list {
+  height: 100%;
+}
+</style>

+ 208 - 0
src/views/zhulao/views/healthAssessmen/index.vue

@@ -0,0 +1,208 @@
+<template>
+  <div>
+    <van-nav-bar title="健康管理" fixed placeholder safe-area-inset-top />
+    <div class="header">
+      <div class="left">
+        <van-image :src="require('../../assets/img/face.png')"></van-image>
+      </div>
+      <div class="right">
+        <div class="name">
+          <span>姓名</span>
+          <div class="btn" @click="$router.push({path:'/estimate'})">健康评估</div>
+        </div>
+        <div class="testing">
+          <img src="../../assets/img/zjjc.png" alt="" />
+          最近检测: 2021-09-09 20:92:30
+        </div>
+      </div>
+    </div>
+    <div class="list" v-for="item in healthType" :key="item.id">
+      <div class="icon">
+        <van-image :src="item.icon"></van-image>
+      </div>
+      <div class="term">
+        <div class="termName" :style="item">{{item.name}}</div>
+        <img :src="item.line" alt="">
+        <div class="termNum">
+          <div>{{item.termNum1}}{{item.num}}{{item.unit}}</div>
+          <div>{{item.termNum2}}{{item.dateTime}}</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import { healthType } from './term.js'
+import { userApi, queryaction } from '../../api/index.js'
+export default {
+  data() {
+    return {
+      healthType: healthType,
+      healthData: '',
+    }
+  },
+  created() {
+    this.userApi()
+    this.queryaction()
+  },
+  methods: {
+    async userApi() {
+      const res = await userApi({
+        command: 'getDefaultHealthRange',
+        terminalType: 1,
+      })
+      console.log(res)
+    },
+    async queryaction() {
+      const res = await queryaction({
+        command: 'getlastheathdata',
+        uid: 2121,
+      })
+      this.healthData = res
+      this.healthType.forEach((item) => {
+        //   判断type进行赋值
+        switch (item.type) {
+          case 'weight': //体重
+            item.num = res.weight.weight
+            item.dateTime = res.weight.dateTime.slice(0, 10)
+            break
+          case 'glu': //血糖
+            item.num = res.glu.glu
+            item.dateTime = res.glu.dateTime.slice(0, 10)
+            break
+          case 'nibp': //血压
+            if (res.nibp.nibpSys) {
+              item.num = res.nibp.nibpSys + '/' + res.nibp.nibpDia
+            }
+
+            item.dateTime = res.nibp.dateTime.slice(0, 10)
+            break
+          case 'spo': //血氧
+            item.num = res.spo.spo
+            item.dateTime = res.spo.dateTime.slice(0, 10)
+            break
+          case 'chol': //血脂
+            item.num = res.chol.chol
+            item.dateTime = res.chol.dateTime.slice(0, 10)
+            break
+          case 'hb': //血红蛋白
+            item.num = res.hb.hb
+            item.dateTime = res.hb.dateTime.slice(0, 10)
+            break
+          case 'urine': //尿常规
+            item.num = res.urine.sg
+            item.dateTime = res.urine.dateTime.slice(0, 10)
+            break
+          case 'temp': //体温
+            item.num = res.temp.temp
+            item.dateTime = res.temp.dateTime.slice(0, 10)
+            break
+          case 'ua': //尿酸
+            item.num = res.ua.ua
+            item.dateTime = res.ua.dateTime.slice(0, 10)
+            break
+          case 'vc': //肺活量
+            item.num = res.vc.vc
+            item.dateTime = res.vc.dateTime.slice(0, 10)
+            break
+          case 'fat': //脂肪
+            item.num = res.fat.fat
+            item.dateTime = res.fat.dateTime.slice(0, 10)
+            break
+          case 'ultrasonic': //B超
+            item.num = ''
+            item.dateTime = res.ultrasonic.dateTime.slice(0, 10)
+            break
+          case 'ischemia': //缺血适应仪
+            item.num = ''
+            item.dateTime = res.ischemia.dateTime.slice(0, 10)
+            break
+          case 'artery': //动脉硬化检测
+            if (res.artery.avi) {
+              item.num = res.artery.avi + '/' + res.artery.api
+            }
+            item.dateTime = res.artery.dateTime.slice(0, 10)
+            break
+        }
+      })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.header {
+  padding: 0 30px;
+  height: 200px;
+  display: flex;
+  align-items: center;
+  font-size: 30px;
+  border-bottom: 1px solid #ddd;
+  background-color: #e1faf9;
+  .left {
+    .van-image {
+      width: 180px;
+      height: 180px;
+      margin-right: 26px;
+    }
+  }
+  .right {
+    width: calc(100% - 180px);
+    .name {
+      display: flex;
+      justify-content: space-between;
+    }
+    .btn {
+      color: #fff;
+      width: 160px;
+      height: 60px;
+      border-radius: 10px;
+      background-color: #00c0bd;
+      line-height: 60px;
+      text-align: center;
+    }
+    .testing {
+      display: flex;
+      align-items: center;
+      font-size: 28px;
+      color: #9da2a1;
+      margin-top: 26px;
+      img {
+        width: 40px;
+        height: 40px;
+        margin-right: 8px;
+      }
+    }
+  }
+}
+.list {
+  display: flex;
+  border-bottom: 1px solid #ddd;
+  align-items: center;
+  padding: 0 30px;
+  height: 220px;
+  .icon {
+    .van-image {
+      width: 110px;
+      margin-right: 20px;
+    }
+  }
+  .term {
+    width: calc(100% - 110px);
+    font-size: 28px;
+    .termName {
+      line-height: 40px;
+    }
+    img {
+      width: 100%;
+      height: 1px;
+      display: block;
+      margin: 10px 0;
+    }
+    .termNum {
+      display: flex;
+      font-size: 28px;
+      justify-content: space-between;
+    }
+  }
+}
+</style>

+ 160 - 0
src/views/zhulao/views/healthAssessmen/term.js

@@ -0,0 +1,160 @@
+const healthType = [{
+        name: '体重',
+        line: require('../../assets/img/xx/weight.png'),
+        icon: require('../../assets/img/list-weight-s.png'),
+        termNum1: '体重值:',
+        unit: 'kg',
+        style: 'color:#f96820',
+        termNum2: '测量时间:',
+        dateTime: '',
+        id: 1,
+        type: 'weight',
+        num: ''
+    },
+    {
+        name: '血糖',
+        line: require('../../assets/img/xx/xt.png'),
+        icon: require('../../assets/img/list-xt-s.png'),
+        termNum1: '血糖值:',
+        termNum2: '测量时间:',
+        unit: 'mmol/L',
+        style: 'color:#92cdee',
+        type: 'glu',
+        id: 2
+    },
+    {
+        name: '血压',
+        line: require('../../assets/img/xx/xy.png'),
+        icon: require('../../assets/img/list-xy-s.png'),
+        termNum1: '血糖值:',
+        termNum2: '测量时间:',
+        unit: 'mmHg',
+        style: 'color:#41b98c',
+        type: 'nibp',
+        id: 3
+    },
+    {
+        name: '血氧',
+        icon: require('../../assets/img/list-xyang-s.png'),
+        line: require('../../assets/img/xx/xyang.png'),
+        termNum1: '血氧值:',
+        termNum2: '测量时间:',
+        unit: '%',
+        style: 'color:#da262c',
+        type: 'spo',
+        id: 4
+    },
+    {
+        name: '血脂',
+        icon: require('../../assets/img/list-xz-s.png'),
+        line: require('../../assets/img/xx/xz.png'),
+        termNum1: '总胆固醇:',
+        termNum2: '测量时间:',
+        unit: 'mmol/L',
+        style: 'color:#a8a0f1',
+        type: 'chol',
+        id: 5
+    },
+    {
+        name: '血红蛋白',
+        icon: require('../../assets/img/list-xhdb-s.png'),
+        line: require('../../assets/img/xx/xhdb.png'),
+        termNum1: '血红蛋白:',
+        termNum2: '测量时间:',
+        unit: 'g/L',
+        style: 'color:#f84472',
+        type: 'hb',
+        id: 6
+    },
+    {
+        name: '尿常规',
+        icon: require('../../assets/img/list-urine-s.png'),
+        line: require('../../assets/img/xx/urine.png'),
+        termNum1: '比重:',
+        termNum2: '测量时间:',
+        unit: '',
+        style: 'color:#fdcb6b',
+        type: 'urine',
+        id: 7
+    },
+    {
+        name: '体温',
+        icon: require('../../assets/img/list-temp-s.png'),
+        line: require('../../assets/img/xx/temp.png'),
+        termNum1: '体温:',
+        termNum2: '测量时间:',
+        unit: '°C',
+        style: 'color:#13b8ea',
+        type: 'temp',
+        id: 8
+    },
+    {
+        name: '尿酸',
+        icon: require('../../assets/img/list-temp-s.png'),
+        line: require('../../assets/img/xx/temp.png'),
+        termNum1: '尿酸:',
+        termNum2: '测量时间:',
+        unit: 'umol/L',
+        style: 'color:#b1e531',
+        type: 'ua',
+        id: 9
+    },
+    {
+        name: '肺活量',
+        icon: require('../../assets/img/list-vc-s.png'),
+        line: require('../../assets/img/xx/vc.png'),
+        termNum1: '肺活量:',
+        termNum2: '测量时间:',
+        unit: 'umol/L',
+        style: 'color:#fb5ea2',
+        type: 'vc',
+        id: 10
+    },
+    {
+        name: '脂肪',
+        icon: require('../../assets/img/list-fat-s.png'),
+        line: require('../../assets/img/xx/fat.png'),
+        termNum1: '脂肪率:',
+        termNum2: '测量时间:',
+        unit: '%',
+        style: 'color:#fb5ea2',
+        type: 'fat',
+        id: 11
+    },
+    {
+        name: 'B超',
+        icon: require('../../assets/img/list-ultrasonic-s.png'),
+        line: require('../../assets/img/xx/ultrasonic.png'),
+        termNum1: '',
+        termNum2: '测量时间:',
+        unit: '',
+        style: 'color:#fcd200',
+        type: 'ultrasonic',
+        id: 12
+    },
+    {
+        name: '缺血适应仪',
+        icon: require('../../assets/img/list-vc-s.png'),
+        line: require('../../assets/img/xx/vc.png'),
+        termNum1: '',
+        termNum2: '测量时间:',
+        unit: '',
+        style: 'color:#fcd200',
+        type: 'ischemia',
+        id: 13
+    },
+    {
+        name: '动脉硬化检测',
+        icon: require('../../assets/img/list-vc-s.png'),
+        line: require('../../assets/img/xx/vc.png'),
+        termNum1: 'AVI/API:',
+        termNum2: '测量时间:',
+        unit: '',
+        style: 'color:#fcd200',
+        type: 'artery',
+        id: 14
+    },
+]
+export {
+    healthType
+}

+ 206 - 0
src/views/zhulao/views/shoppingMall/submitOrder.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="main">
+    <van-nav-bar title="提交订单" @click-left="$router.back()" left-arrow fixed placeholder safe-area-inset-top />
+    <!-- 收货人 -->
+    <div class='consignee_bg' @click='$router.push({path:"/address",query:{}})'>
+      <div v-if="logisticsInfoData.id != null" class='consignee_bg_left'>
+        <div class='consignee_bg_left_title consignee_bg_left_titleTop'>收货人</div>
+        <div>
+          <span class='consignee_bg_left_name'>{{logisticsInfoData.name}}</span>
+          <span class='consignee_bg_left_phone'>{{logisticsInfoData.phone}}</span>
+        </div>
+        <div class='consignee_bg_left_adress consignee_bg_left_adressBottom'>{{logisticsInfoData.fullAddress}} </div>
+      </div>
+
+      <div v-else class='consignee_bg_left'>
+        <div class='consignee_bg_left_none'>选择/新建地址</div>
+      </div>
+
+      <div class='consignee_bg_right'>
+        <van-image :src="require('../../assets/images/store-food/arrow-right.png')" />
+      </div>
+
+    </div>
+    <div style="width:100%;height:10px; background-color: #f5f5f5;"></div>
+    <!-- 商品详情 -->
+    <div class="goods_bg">
+      <!-- icon -->
+      <div class="icon_bg">
+        <van-image class="goodIcon" :src="goodsData.url?goodsData.url:require('../../assets/images/appIcon/appIcon_01.png')" />
+      </div>
+      <!-- food name -->
+      <div class="name_bg">
+        <div>{{goodsData.productName}}</div>
+      </div>
+      <!-- 价格 -->
+      <div class="price_bg">
+        <div class="price">¥ {{goodsData.price}}</div>
+        <div class="goodNum">x {{buyNumber}}</div>
+      </div>
+    </div>
+
+    <!-- 去下订单 -->
+    <div class="footer-box">
+      <div class="topay_price_bg">
+        <div class="price_tip">实付金额:</div>
+        <div class="sum_price">¥ {{goodsData.sumPrice}}</div>
+      </div>
+      <div class="toPay_bg">
+        <div class="pay">提交订单</div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      logisticsInfoData: '',
+      goodsData: '',
+      buyNumber: '',
+    }
+  },
+  created() {
+    this.goodsData = JSON.parse(decodeURI(this.$route.query.goodsData))
+    this.buyNumber = this.$route.query.buyNumber
+    this.goodsData.sumPrice = (this.buyNumber * this.goodsData.price).toFixed(2)
+    console.log(this.goodsData)
+  },
+  methods: {
+    consigneeClick() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+// .main {
+//   background-color: #f5f5f5;
+// }
+/* 收货信息 */
+.consignee_bg {
+  max-height: 200px;
+  width: 100%;
+  display: flex;
+  align-items: center;
+  background-color: #fff;
+  min-height: 100px;
+  border-top: solid 4px #f0f0f0;
+}
+
+.consignee_bg_left {
+  height: 100%;
+  flex: 0.9;
+}
+.consignee_bg_left_none {
+  line-height: 100%;
+  padding-left: 20px;
+  font-size: 30px;
+}
+.consignee_bg_left_adress,
+.consignee_bg_left_name,
+.consignee_bg_left_title {
+  font-size: 14px;
+  margin-left: 20px;
+}
+.consignee_bg_left_titleTop {
+  margin-top: 10px;
+}
+.consignee_bg_left_adressBottom {
+  margin-bottom: 10px;
+}
+.consignee_bg_left_phone {
+  color: #c0bfbf;
+  font-size: 13px;
+  margin-left: 10px;
+}
+
+.consignee_bg_right {
+  flex: 0.1;
+  height: 30px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  .van-image {
+    height: 100%;
+  }
+}
+.goods_bg {
+  margin-top: 20px;
+  width: 100%;
+  height: 180px;
+  font-size: 30px;
+  color: #3d4244;
+  border-bottom: solid 1px #f0f0f0;
+  display: flex;
+  justify-content: flex-start;
+  align-items: center;
+  background-color: white;
+}
+.icon_bg {
+  width: 250px;
+  height: 120px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.goodIcon {
+  width: 200px;
+  height: 100%;
+}
+.name_bg {
+  width: 300px;
+  height: 120px;
+}
+.price_bg {
+  width: 200px;
+  height: 120px;
+  padding-right: 30px;
+  box-sizing: border-box;
+}
+.footer-box {
+  width: 100%;
+  height: 100px;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  border-top: solid 10px #f0f0f0;
+  /* box-shadow:0 0 2px 0; */
+}
+.topay_price_bg {
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  color: #3f3f3f;
+  font-size: 30px;
+}
+.price_tip {
+  flex: 1;
+  text-align: right;
+  padding-right: 20px;
+  box-sizing: border-box;
+}
+.sum_price {
+  flex: 1;
+  color: #f63717;
+  font-size: 30px;
+  text-align: left;
+}
+.toPay_bg {
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.pay {
+  width: 80%;
+  line-height: 80px;
+  font-size: 30px;
+  color: #fff;
+  background: linear-gradient(to bottom, #fc8253, #fc4314);
+  text-align: center;
+  border-radius: 18px;
+}
+</style>

+ 9 - 0
vue.config.js

@@ -108,6 +108,15 @@ module.exports = {
                 pathRewrite: {
                     ['^' + process.env.VUE_APP_ZL_JF]: ''
                 }
+            },
+            [process.env.VUE_APP_ZL_HEALTH]: {
+                target: 'http://test.poteviohealth.com:8080/',
+                // target: 'http://localhost:12017/',
+                changeOrigin: true,
+                secure: false,
+                pathRewrite: {
+                    ['^' + process.env.VUE_APP_ZL_HEALTH]: ''
+                }
             }
         }
         // after: require('./mock/mock-server.js')