healthMonitor.html 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>健康监测</title>
  7. <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.min.css" />
  8. <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
  9. <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
  10. <link rel="stylesheet" href="../../../plugins/toastr/toastr.min.css" />
  11. <link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
  12. <link rel="stylesheet" type="text/css" href="../css/date.css" />
  13. <link rel="stylesheet" href="../css/common.css" />
  14. <style>
  15. #app {
  16. padding: 10px;
  17. font-size: 14px;
  18. }
  19. .body-record-box {
  20. padding: 0 16px;
  21. }
  22. .title {
  23. font-size: 18px;
  24. position: relative;
  25. margin-top: 8px;
  26. }
  27. .title::before {
  28. height: 18px;
  29. position: absolute;
  30. left: -8px;
  31. top: 50%;
  32. transform: translateY(-50%);
  33. content: '';
  34. width: 3px;
  35. background: #17b3ec;
  36. }
  37. .flex {
  38. display: flex;
  39. align-items: center;
  40. }
  41. .body-record-item {
  42. justify-content: space-between;
  43. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  44. padding: 8px 0;
  45. display: flex;
  46. align-items: center;
  47. }
  48. .ml10 {
  49. margin-left: 10px;
  50. }
  51. .device-box {
  52. padding: 0 16px;
  53. }
  54. .device-item {
  55. display: flex;
  56. justify-content: space-between;
  57. align-items: center;
  58. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  59. padding: 8px 0;
  60. }
  61. .device-item .device-info {
  62. line-height: 28px;
  63. }
  64. .add-btn {
  65. margin: 20px auto;
  66. }
  67. .health-protect-box {
  68. padding: 0 16px;
  69. }
  70. .health-protect-item {
  71. display: flex;
  72. align-items: center;
  73. justify-content: space-between;
  74. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  75. padding: 8px 0;
  76. }
  77. .protect-label {
  78. }
  79. </style>
  80. </head>
  81. <body>
  82. <div id="app" v-clock>
  83. <el-tabs v-model="active" type="card">
  84. <el-tab-pane label="体征记录" name="body">
  85. <div class="body-record-box">
  86. <div class="title">慢病体征</div>
  87. <div class="body-record-item" @click="openBodyRecordDetail(0)">
  88. <div class="record-label">
  89. <div>血压</div>
  90. <div>2024-10-14 10:21 设备上传</div>
  91. </div>
  92. <div class="record-value flex">
  93. <div>
  94. <div style="text-align: right">122/71</div>
  95. <div>脉搏:56次/分</div>
  96. </div>
  97. <i class="el-icon-arrow-right ml10"></i>
  98. </div>
  99. </div>
  100. <div class="body-record-item" @click="openBodyRecordDetail(1)">
  101. <div class="record-label">
  102. <div>血糖</div>
  103. <div>2024-10-14 10:21 设备上传</div>
  104. </div>
  105. <div class="record-value flex">
  106. <el-tag type="danger">偏高</el-tag>
  107. <span>18.5</span>
  108. <i class="el-icon-arrow-right ml10"></i>
  109. </div>
  110. </div>
  111. <div class="title">一般检查</div>
  112. <div class="body-record-item" @click="openBodyRecordDetail(2)">
  113. <div class="record-label">
  114. <div>身高体重</div>
  115. <div>2024-10-14 10:21 手动记录</div>
  116. </div>
  117. <div class="record-value flex">
  118. <el-tag>正常</el-tag>
  119. <i class="el-icon-arrow-right ml10"></i>
  120. </div>
  121. </div>
  122. <div class="body-record-item" @click="openBodyRecordDetail(3)">
  123. <div class="record-label">
  124. <div>腰围</div>
  125. <div>2024-10-14 10:21 手动记录</div>
  126. </div>
  127. <div class="record-value flex">
  128. <span>56cm</span>
  129. <i class="el-icon-arrow-right ml10"></i>
  130. </div>
  131. </div>
  132. <div class="body-record-item" @click="openRecordDetail(4)">
  133. <div class="record-label">
  134. <div>心率</div>
  135. <div>2024-10-14 10:21 设备上传</div>
  136. </div>
  137. <div class="record-value flex">
  138. <span>88次/分</span>
  139. <i class="el-icon-arrow-right ml10"></i>
  140. </div>
  141. </div>
  142. </div>
  143. </el-tab-pane>
  144. <el-tab-pane label="智能设备" name="device">
  145. <div class="device-box">
  146. <div class="device-item" v-for="(item,i) in deviceList" :key="i">
  147. <div class="flex">
  148. <img src="" alt="" />
  149. <div>
  150. <div class="device-info">{{item.name}}</div>
  151. <div class="device-info">{{item.time}}</div>
  152. <div class="device-info">{{item.people}}</div>
  153. </div>
  154. </div>
  155. <i class="el-icon-arrow-right ml10"></i>
  156. </div>
  157. <div class="flex" style="justify-content: center">
  158. <el-button class="add-btn" type="primary">添加设备</el-button>
  159. </div>
  160. </div>
  161. </el-tab-pane>
  162. <el-tab-pane label="保健记录" name="healthProtect">
  163. <div class="health-protect-box">
  164. <div class="title">保健记录</div>
  165. <div class="health-protect-item" v-for="(item,i) in healthProtectList" :key="i">
  166. <div class="protect-label">
  167. <div>{{item.name}}</div>
  168. <div>{{item.time}} {{item.recordMehtd}}</div>
  169. </div>
  170. <div class="flex">
  171. <span>{{item.lastData}}</span>
  172. <i class="el-icon-arrow-right ml10"></i>
  173. </div>
  174. </div>
  175. </div>
  176. </el-tab-pane>
  177. </el-tabs>
  178. </div>
  179. <script type="text/javascript" src="../../../js/vue.js"></script>
  180. <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
  181. <script type="text/javascript" src="../../../js/es6-promise.js" charset="utf-8"></script>
  182. <script type="text/javascript" src="../../../plugins/toastr/toastr.min.js"></script>
  183. <script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
  184. <script type="text/javascript" src="../../../api/http-request.js"></script>
  185. <script type="text/javascript" src="../../../plugins/layer/layer.min.js"></script>
  186. <script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
  187. <script type="text/javascript" src="../../../api/recover_api.js"></script>
  188. <script type="text/javascript" src="../../../js/underscore-1.9.1.js"></script>
  189. <script type="text/javascript" src="../../../js/util.js" charset="utf-8"></script>
  190. <script>
  191. new Vue({
  192. el: '#app',
  193. data() {
  194. return {
  195. active: 'body',
  196. deviceList: [
  197. {
  198. name: '脉搏仪',
  199. time: '2023-11-13 10:50:14',
  200. people: '患者绑定'
  201. },
  202. {
  203. name: '华米手表',
  204. time: '2023-11-13 10:50:14',
  205. people: '患者绑定'
  206. }
  207. ],
  208. healthProtectList: [
  209. {
  210. name: '运动',
  211. time: '2024-10-14 10:21',
  212. recordMehtd: '手动记录',
  213. lastData: '跑步'
  214. },
  215. {
  216. name: '用药',
  217. time: '2024-10-14 10:21',
  218. recordMehtd: '手动记录',
  219. lastData: '阿司匹林'
  220. },
  221. {
  222. name: '饮食',
  223. time: '2024-10-14 10:21',
  224. recordMehtd: '设备上传',
  225. lastData: '黄瓜'
  226. }
  227. ]
  228. }
  229. },
  230. methods: {
  231. openBodyRecordDetail(key) {
  232. var title = ""
  233. switch (key){
  234. case 0:
  235. title = "血压记录"
  236. break;
  237. case 1:
  238. title = "血糖记录"
  239. break;
  240. case 2:
  241. title = "身高体重"
  242. break;
  243. case 3:
  244. title = "腰围"
  245. break;
  246. case 4:
  247. title = "心率"
  248. break;
  249. }
  250. layer.open({
  251. type: 2,
  252. area: ['700px', '700px'],
  253. shade: 0.5,
  254. title: title,
  255. fixed: true, //不固定
  256. maxmin: true,
  257. closeBtn: 1,
  258. // shift: 5,
  259. shadeClose: false, //点击遮罩关闭层
  260. content: './healthBodyRecord.html?key='+key
  261. })
  262. }
  263. }
  264. })
  265. </script>
  266. </body>
  267. </html>