健康同学微信公众号h5项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

260 lines
7.4KB

  1. <!-- 今日 -->
  2. <template>
  3. <div class="today">
  4. <!-- 今日状态 -->
  5. <div class="today-status">
  6. <img class="img" src="@/assets/today/images/2_03.png" />
  7. <img class="icon" src="@/assets/today/icons/2_12.png" @click="show = true" />
  8. <div class="status">
  9. <p>状态优秀</p>
  10. <ul>
  11. <li class="toobad"></li>
  12. <li class="ordinary"></li>
  13. <li class="sameas"></li>
  14. <li class="excellent active"></li>
  15. </ul>
  16. </div>
  17. <div class="interpret">
  18. <p>
  19. 工作学习要有度,适当摸鱼也很好,不用太卷哟!保持张弛 有度的节奏,是应对压力的有效方法。
  20. 综合今日的HRV(MSSD)和静息心率情况看,你今天整体状 态优秀,身体压力状态较小,能很好应对今日工作生活中的
  21. 挑战,请继续保持优秀状态。 相信自己,你一定可以实现你的目标!
  22. </p>
  23. <hr />
  24. <div class="bottom">
  25. <p>详细解读</p>
  26. <div>
  27. <span>日记</span>
  28. <img src="@/assets/today/icons/2_22.png" />
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. <!-- 今日情绪感知 -->
  34. <div class="emotion">
  35. <div class="title" @click="onRouterTo('emotionDetails')">
  36. <p>今日情绪感知</p>
  37. <div>
  38. <p>4.28</p>
  39. <van-icon name="arrow" size="18" />
  40. </div>
  41. </div>
  42. <ul>
  43. <li>
  44. <h4>40</h4>
  45. <p>抑郁倾向</p>
  46. <span>无抑郁倾向</span>
  47. <time>12:30</time>
  48. </li>
  49. <li>
  50. <h4>55</h4>
  51. <p>抑郁倾向</p>
  52. <span>无抑郁倾向</span>
  53. <time>12:30</time>
  54. </li>
  55. <li>
  56. <h4>75</h4>
  57. <p>抑郁倾向</p>
  58. <span>无抑郁倾向</span>
  59. <time>12:30</time>
  60. </li>
  61. </ul>
  62. </div>
  63. <!-- 今体征感知 -->
  64. <div class="perception">
  65. <div class="title" @click="onRouterTo('signsDetails')">
  66. <p>今体征感知</p>
  67. <div>
  68. <p>4.28</p>
  69. <van-icon name="arrow" size="18" />
  70. </div>
  71. </div>
  72. <ul>
  73. <li>
  74. <h4>36.8</h4>
  75. <p>体温</p>
  76. </li>
  77. <li>
  78. <h4>92</h4>
  79. <p>心率</p>
  80. </li>
  81. <li>
  82. <h4>6000</h4>
  83. <p>步数</p>
  84. </li>
  85. </ul>
  86. <div class="tip">
  87. <img class="img" src="@/assets/today/icons/2_25.png" />
  88. <p>
  89. <span>温馨提示:</span
  90. >检测数据仅供参考,<span>不可做医疗诊断和治疗依据</span>,在运动、工作等场景会影响健康检测。
  91. </p>
  92. </div>
  93. </div>
  94. <!-- 步数 -->
  95. <div class="step">
  96. <div class="main">
  97. <ul>
  98. <li>
  99. <p class="specific"><span>10567</span>/6000步</p>
  100. <p class="category">步数<span>达标</span></p>
  101. </li>
  102. <li>
  103. <p class="specific"><span>4</span>/5千米</p>
  104. <p class="category">行程<span>未达标</span></p>
  105. </li>
  106. <li>
  107. <p class="specific"><span>588</span>/600里卡</p>
  108. <p class="category">消耗<span>达标</span></p>
  109. </li>
  110. </ul>
  111. <div class="annular">
  112. <van-circle
  113. v-model="currentRate1"
  114. size="160px"
  115. color="#179b3b"
  116. layer-color="#F8F8F8"
  117. :rate="90"
  118. :speed="50"
  119. :stroke-width="120"
  120. />
  121. <van-circle
  122. v-model="currentRate2"
  123. size="129px"
  124. color="#ff5f8b"
  125. layer-color="#F8F8F8"
  126. :rate="80"
  127. :speed="50"
  128. :stroke-width="140"
  129. />
  130. <p>多走4567步</p>
  131. </div>
  132. </div>
  133. </div>
  134. <!-- 情绪日记 -->
  135. <div class="diary">
  136. <div class="title">
  137. <p>情绪日记</p>
  138. <div>
  139. <div>
  140. <p>保存</p>
  141. <van-icon name="arrow" size="18" />
  142. </div>
  143. </div>
  144. </div>
  145. <div class="main">
  146. <van-checkbox-group v-model="result">
  147. <van-checkbox name="a" shape="square" checked-color="#179b3b">
  148. <img src="@/assets/today/icons/2_72.png" />
  149. </van-checkbox>
  150. <van-checkbox name="b" shape="square" checked-color="#179b3b">
  151. <img src="@/assets/today/icons/2_59.png" />
  152. </van-checkbox>
  153. <van-checkbox name="c" shape="square" checked-color="#179b3b">
  154. <img src="@/assets/today/icons/2_54.png" />
  155. </van-checkbox>
  156. <van-checkbox name="d" shape="square" checked-color="#179b3b">
  157. <img src="@/assets/today/icons/2_67.png" />
  158. </van-checkbox>
  159. <van-checkbox name="e" shape="square" checked-color="#179b3b">
  160. <img src="@/assets/today/icons/2_72.png" />
  161. </van-checkbox>
  162. <van-checkbox name="f" shape="square" checked-color="#179b3b">
  163. <img src="@/assets/today/icons/2_70.png" />
  164. </van-checkbox>
  165. </van-checkbox-group>
  166. <div class="textarea">
  167. <textarea placeholder="我要写亲密日记" rows="5"></textarea>
  168. </div>
  169. </div>
  170. </div>
  171. <!-- 情绪知识库 -->
  172. <div class="knowledge">
  173. <div class="title">
  174. <p>情绪知识库</p>
  175. </div>
  176. <div class="main">
  177. <ul>
  178. <li>
  179. <p>健康同学 测量的 什么压力? 测量原理是什么?</p>
  180. <img src="@/assets/today/images/2_42.png" />
  181. </li>
  182. <li>
  183. <p>健康同学 测量的 什么压力? 测量原理是什么?</p>
  184. <img src="@/assets/today/images/2_48.png" />
  185. </li>
  186. </ul>
  187. </div>
  188. </div>
  189. <!-- 底部导航 -->
  190. <TabBar />
  191. <!-- 日期选择 -->
  192. <van-calendar v-model="show" :show-confirm="false" @confirm="onConfirm" :min-date="minDate" :max-date="maxDate" />
  193. </div>
  194. </template>
  195. <script>
  196. import TabBar from '@/components/TabBar';
  197. import { Calendar, Circle, Checkbox, CheckboxGroup } from 'vant';
  198. import APICore from '@/api/core';
  199. export default {
  200. components: {
  201. TabBar,
  202. [Circle.name]: Circle,
  203. [Calendar.name]: Calendar,
  204. [Checkbox.name]: Checkbox,
  205. [CheckboxGroup.name]: CheckboxGroup
  206. },
  207. data() {
  208. return {
  209. date: '',
  210. show: false,
  211. minDate: new Date(2023, 12, 1),
  212. maxDate: new Date(2023, 12, 18),
  213. currentRate1: 0,
  214. currentRate2: 0,
  215. result: []
  216. };
  217. },
  218. created() {
  219. this.getAuth();
  220. },
  221. mounted() {},
  222. methods: {
  223. formatDate(date) {
  224. return `${date.getMonth() + 1}/${date.getDate()}`;
  225. },
  226. onConfirm(date) {
  227. this.show = false;
  228. console.log(date);
  229. console.log(this.formatDate(date));
  230. },
  231. onRouterTo(name) {
  232. if (name) {
  233. this.$router.push({
  234. name: name,
  235. query: {
  236. // 参数默认传疲劳,uid暂时写死,上线通过接口获取
  237. name: 'tiredness',
  238. uid: '2023101521270090082'
  239. }
  240. });
  241. }
  242. },
  243. // 获取b端token
  244. getAuth() {
  245. let manufactorId = '5bf13062-a41e-4d00-ba14-1101aad12650';
  246. APICore.getAuth({ manufactorId: manufactorId }).then(res => {
  247. let data = res.data;
  248. if (data.code === 0) {
  249. this.$store.commit('ssjlToken', res.data.data);
  250. }
  251. });
  252. }
  253. }
  254. };
  255. </script>
  256. <style scoped lang="scss">
  257. @import './scss/index.scss';
  258. </style>