hd 5 miesięcy temu
rodzic
commit
1a330c1830

+ 11 - 0
app/rehabilitation/html/device.html

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>设备</title>
</head>
<body>
  
</body>
</html>

+ 66 - 10
app/rehabilitation/html/healthBodyRecord.html

@ -40,20 +40,20 @@
    </style>
  </head>
  <body>
    <div id="app">
      <div class="box" v-if="false">
    <div id="app" v-cloak>
      <div class="box" v-if="key==0">
        <div class="item" v-for="(item,i) in bloodPressureList" :key="i">
          <div>
            <div class="lheight2">
              收缩压:{{item.systolic}}
              <span style="padding-left: 10px">舒张压:{{item.diastolic}}</span>
              <span class="pl8">舒张压:{{item.diastolic}}</span>
            </div>
            <div class="lheight2">{{item.time}} {{item.recordMethod}}</div>
          </div>
          <el-tag :type="getTagType(item.condition)">{{getTagName(item.condition)}}</el-tag>
        </div>
      </div>
      <div class="box" v-if="false">
      <div class="box" v-else-if="key==1">
        <div class="item" v-for="(item,i) in bloodSugarList" :key="i">
          <div>
            <div class="lheight2">{{item.text}}</div>
@ -65,18 +65,34 @@
          </div>
        </div>
      </div>
      <div class="box">
      <div class="box" v-else-if="key==2">
        <div class="item" v-for="(item,i) in heightWeightList" :key="i">
          <div>
            <div class="lheight2"></div>
            <div class="lheight2">{{item.time}} {{item.recordMethod}}</div>
            <div class="lheight2">身高:{{item.height}} <span class="pl8">体重:{{item.weight}}</span> </div>
            <div class="lheight2 ">{{item.time}} {{item.recordMethod}}</div>
          </div>
          <div class="flex">
            <el-tag :type="getTagType(item.condition)">{{getHeightName(item.condition)}}</el-tag>
            <span class="pl8">{{item.value}}</span>
          </div>
        </div>
      </div>
      <div class="box" v-else-if="key == 3">
        <div class="item" v-for="(item,i) in waistList" :key="i">
          <div>
            <div class="lheight2">{{item.circumference}} cm</div>
            <div class="lheight2 ">{{item.time}} {{item.recordMethod}}</div>
          </div>
        </div>
      </div>
      <div class="box" v-else>
        <div class="item" v-for="(item,i) in heartRateList" :key="i">
          <div>
            <div class="lheight2">{{item.rate}} 次/分</div>
            <div class="lheight2 ">{{item.time}} {{item.recordMethod}}</div>
          </div>
          <el-tag :type="getTagType(item.condition)">{{getTagName(item.condition)}}</el-tag>
        </div>
      </div>
    </div>
    <script type="text/javascript" src="../../../js/vue.js"></script>
    <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
@ -94,6 +110,7 @@
        el: '#app',
        data() {
          return {
            key: "",
            bloodPressureList: [
              {
                systolic: '111',
@ -169,21 +186,60 @@
                recordMethod: '设备上传',
                condition: 1
              }
            ],
            waistList: [
              {
                circumference: '60',
                time: '2024-10-14 10:21',
                recordMethod: '设备上传'
              },
              {
                circumference: '56',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录'
              },
              {
                circumference: '65',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录'
              }
            ],
            heartRateList: [
              {
                rate: '109',
                time: '2024-10-14 10:21',
                recordMethod: '设备上传',
                condition: 1
              },
              {
                rate: '45',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录',
                condition: -1
              },
              {
                rate: '70',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录',
                condition: 0
              }
            ]
          }
        },
        mounted() {
          console.log(GetRequest())
          this.key = GetRequest().key
        },
        methods: {
          getTagType(type) {
            console.log(type);
            
            switch (type) {
              case -1:
                return 'success'
              case 0:
                return ''
              case 1:
                return 'error'
                return 'danger'
            }
          },
          getTagName(type) {

+ 128 - 0
app/rehabilitation/html/healthFoodDetail.html

@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>饮食详情</title>
  <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.min.css" />
  <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
  <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
  <link rel="stylesheet" href="../../../plugins/toastr/toastr.min.css" />
  <link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
  <link rel="stylesheet" type="text/css" href="../css/date.css" />
  <link rel="stylesheet" href="../css/common.css" />
  <style>
    #app{
      padding: 8px 16px;
      font-size: 14px;
    }
    .food-info{
      font-size: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(0, 0, 0, .1);
    }
    .tip{
      color: #11B7F5;
      padding: 12px 0;
    }
    .flex{
      display: flex;
      align-items: center;
    }
    .food-item{
      margin-bottom: 10px;
    }
    .pl8{
      padding-left: 8px;
    }
    .food-component{
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid rgba(0, 0, 0, .1);
      padding: 8px 0;
      margin-left: 20px;
    }
  </style>
</head>
<body>
  <div id="app" v-cloak>
    <div class="food-info">
      <div class="lheight2">2024-10-14 10:21</div>
      <div class="lheight2" style="margin-bottom: 8px;">黄瓜、草莓</div>
      <img src="../../../images/img.png" alt="">
    </div>
    <div class="tip">以下食物热量和营养价值仅供参考</div>
    <div class="food-list">
      <div class="food-item" v-for="(item,i) in foodList" :key="i">
        <div class="flex">
          <img src="../../../images/img.png" alt="">
          <div class="pl8">
            <div>{{item.name}} <span class="pl8">{{item.weight}}</span> </div>
            <div>{{item.heat}} 千卡热量</div>
          </div>
        </div>
        <div class="food-component" v-for="com in item.component">
          <div>{{com.name}}</div>
          <div>{{com.value}} 克</div>
        </div>
      </div>
    </div>
  </div>
  <script type="text/javascript" src="../../../js/vue.js"></script>
  <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
  <script type="text/javascript" src="../../../js/es6-promise.js" charset="utf-8"></script>
  <script type="text/javascript" src="../../../plugins/toastr/toastr.min.js"></script>
  <script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
  <script type="text/javascript" src="../../../api/http-request.js"></script>
  <script type="text/javascript" src="../../../plugins/layer/layer.min.js"></script>
  <script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
  <script type="text/javascript" src="../../../api/recover_api.js"></script>
  <script type="text/javascript" src="../../../js/underscore-1.9.1.js"></script>
  <script type="text/javascript" src="../../../js/util.js" charset="utf-8"></script>
  <script>
    new Vue({
      el: '#app',
      data() {
        return {
          foodList: [
            {
              name: '草莓',
              weight: "300g/6两",
              heat: '90',
              component: [
                {
                  name: '碳水化合物',
                  value: '21'
                },
                {
                  name: '蛋白质',
                  value: '1'
                }
              ]
            },
            {
              name: '黄瓜',
              weight: "300g/6两",
              heat: '90',
              component: [
                {
                  name: '碳水化合物',
                  value: '21'
                },
                {
                  name: '蛋白质',
                  value: '1'
                }
              ]
            }
          ]
        }
      },
      methods: {
        
      },
    })
  </script>
</body>
</html>

+ 49 - 7
app/rehabilitation/html/healthMonitor.html

@ -44,6 +44,7 @@
        padding: 8px 0;
        display: flex;
        align-items: center;
        cursor: pointer;
      }
      .ml10 {
        margin-left: 10px;
@ -73,13 +74,14 @@
        justify-content: space-between;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        padding: 8px 0;
        cursor: pointer;
      }
      .protect-label {
      }
    </style>
  </head>
  <body>
    <div id="app" v-clock>
    <div id="app" v-cloak>
      <el-tabs v-model="active" type="card">
        <el-tab-pane label="体征记录" name="body">
          <div class="body-record-box">
@ -129,7 +131,7 @@
                <i class="el-icon-arrow-right ml10"></i>
              </div>
            </div>
            <div class="body-record-item" @click="openRecordDetail(4)">
            <div class="body-record-item" @click="openBodyRecordDetail(4)">
              <div class="record-label">
                <div>心率</div>
                <div>2024-10-14 10:21 设备上传</div>
@ -145,8 +147,8 @@
          <div class="device-box">
            <div class="device-item" v-for="(item,i) in deviceList" :key="i">
              <div class="flex">
                <img src="" alt="" />
                <div>
                <img src="../../../images/img.png" alt="" />
                <div style="margin-left: 16px;">
                  <div class="device-info">{{item.name}}</div>
                  <div class="device-info">{{item.time}}</div>
                  <div class="device-info">{{item.people}}</div>
@ -155,14 +157,14 @@
              <i class="el-icon-arrow-right ml10"></i>
            </div>
            <div class="flex" style="justify-content: center">
              <el-button class="add-btn" type="primary">添加设备</el-button>
              <el-button class="add-btn" type="primary" @click="addDevice">添加设备</el-button>
            </div>
          </div>
        </el-tab-pane>
        <el-tab-pane label="保健记录" name="healthProtect">
          <div class="health-protect-box">
            <div class="title">保健记录</div>
            <div class="health-protect-item" v-for="(item,i) in healthProtectList" :key="i">
            <div class="health-protect-item" v-for="(item,i) in healthProtectList" :key="i" @click="openHealthProtectDetail(i)">
              <div class="protect-label">
                <div>{{item.name}}</div>
                <div>{{item.time}} {{item.recordMehtd}}</div>
@ -247,7 +249,7 @@
                title = "心率"
                break;
            }
            layer.open({
            top.layer.open({
              type: 2,
              area: ['700px', '700px'],
              shade: 0.5,
@ -259,6 +261,46 @@
              shadeClose: false, //点击遮罩关闭层
              content: './healthBodyRecord.html?key='+key
            })
          },
          openHealthProtectDetail(key){
            var title = ""
            switch(key){
              case 0:
                title = "运动记录"
                break;
              case 1:
                title = "用药记录"
                break;
              case 2:
                title = "饮食记录"
                break;
            }
            top.layer.open({
              type: 2,
              area: ['700px', '700px'],
              shade: 0.5,
              title: title,
              fixed: true, //不固定
              maxmin: true,
              closeBtn: 1,
              // shift: 5,
              shadeClose: false, //点击遮罩关闭层
              content: './healthProtect.html?key='+key
            })
          },
          addDevice(){
            top.layer.open({
              type: 2,
              area: ['700px', '700px'],
              shade: 0.5,
              title: "新增设备",
              fixed: true, //不固定
              maxmin: true,
              closeBtn: 1,
              // shift: 5,
              shadeClose: false, //点击遮罩关闭层
              content: './device.html'
            })
          }
        }
      })

+ 198 - 0
app/rehabilitation/html/healthProtect.html

@ -0,0 +1,198 @@
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" href="../../../plugins/toastr/toastr.min.css" />
    <link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
    <link rel="stylesheet" type="text/css" href="../css/date.css" />
    <link rel="stylesheet" href="../css/common.css" />
    <style>
      #app {
        padding: 8px 16px;
        font-size: 14px;
      }
      .box {
        height: 642px;
        overflow: auto;
      }
      .item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      }
      .lheight2 {
        line-height: 2;
      }
      .flex {
        display: flex;
        align-items: center;
      }
      .pl8 {
        padding-left: 8px;
      }
    </style>
  </head>
  <body>
    <div id="app" v-cloak>
      <div class="box" v-if="key == 0">
        <div class="item" v-for="(item,i) in sportList" :key="i">
          <div>
            <div class="lheight2">
              运动:{{item.name}}
              <span class="pl8">时长:{{item.duration}}</span>
            </div>
            <div class="lheight2">{{item.time}} {{item.recordMethod}}</div>
          </div>
          <el-tag :type="getTagType(item.condition)">{{getTagName(item.condition)}}</el-tag>
        </div>
      </div>
      <div class="box" v-else-if="key == 1">
        <div class="item" v-for="(item,i) in medicineList" :key="i">
          <div>
            <div class="lheight2">{{item.name}}</div>
            <div class="lheight2">{{item.time}} {{item.recordMethod}}</div>
          </div>
        </div>
      </div>
      <div class="box" v-else>
        <div class="item" v-for="(item,i) in foodList" :key="i" style="cursor: pointer;" @click="openFoodDetail(item)">
          <div>
            <div class="lheight2">{{item.name}}</div>
            <div class="lheight2">{{item.time}} {{item.recordMethod}}</div>
          </div>
          <i class="el-icon-arrow-right"></i>
        </div>
      </div>
    </div>
    <script type="text/javascript" src="../../../js/vue.js"></script>
    <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
    <script type="text/javascript" src="../../../js/es6-promise.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../../plugins/toastr/toastr.min.js"></script>
    <script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
    <script type="text/javascript" src="../../../api/http-request.js"></script>
    <script type="text/javascript" src="../../../plugins/layer/layer.min.js"></script>
    <script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
    <script type="text/javascript" src="../../../api/recover_api.js"></script>
    <script type="text/javascript" src="../../../js/underscore-1.9.1.js"></script>
    <script type="text/javascript" src="../../../js/util.js" charset="utf-8"></script>
    <script>
      new Vue({
        el: '#app',
        data() {
          return {
            key: null,
            sportList: [
              {
                name: '跑步',
                duration: '1',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录',
                condition: 1
              },
              {
                name: '跑步',
                duration: '0.5',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录',
                condition: 0
              },
              {
                name: '跑步',
                duration: '2',
                time: '2024-10-14 10:21',
                recordMethod: '设备上传',
                condition: 2
              },
              {
                name: '跑步',
                duration: '4',
                time: '2024-10-14 10:21',
                recordMethod: '设备上传',
                condition: 3
              }
            ],
            medicineList: [
              {
                name: '阿司匹林',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录',
              },
              {
                name: '阿司匹林',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录'
              }
            ],
            foodList: [
              {
                name: '黄瓜',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录'
              },
              {
                name: '鸡蛋、牛肉',
                time: '2024-10-14 10:21',
                recordMethod: '手动记录'
              },
              {
                name: '黄瓜、草莓',
                time: '2024-10-14 10:21',
                recordMethod: '设备上传'
              }
            ]
          }
        },
        mounted() {
          this.key = GetRequest().key
        },
        methods: {
          getTagType(type) {
            switch (type) {
              case 0:
                return 'success'
              case 1:
                return ''
              case 2:
                return 'warning'
              case 3:
                return 'danger'
            }
          },
          getTagName(type) {
            switch (type) {
              case 0:
                return '轻度运动'
              case 1:
                return '中度运动'
              case 2:
                return '稍强运动'
              case 3:
                return '强度运动'
            }
          },
          openFoodDetail(){
            top.layer.open({
              type: 2,
              area: ['700px', '700px'],
              shade: 0.5,
              title: "饮食详情",
              fixed: true, //不固定
              maxmin: true,
              closeBtn: 1,
              // shift: 5,
              shadeClose: false, //点击遮罩关闭层
              content: './healthFoodDetail.html'
            })
          }
        }
      })
    </script>
  </body>
</html>

BIN
images/img.png