From df10a96f842d9d53ab0988badce62cf1a2e805d5 Mon Sep 17 00:00:00 2001 From: JinxChen <2183691628@qq.com> Date: Tue, 30 May 2023 11:02:21 +0800 Subject: [PATCH] =?UTF-8?q?feature=20-=20=E5=A2=9E=E5=8A=A0=20=E5=BF=83?= =?UTF-8?q?=E7=90=86=E7=9B=91=E6=B5=8B=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E6=8A=91=E9=83=81=EF=BC=8C=E5=8E=8B=E5=8A=9B=E5=92=8C?= =?UTF-8?q?=E7=96=B2=E5=8A=B3=E5=BD=93=E5=A4=A9=E5=9B=BE=E8=A1=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=20-=20=E5=A2=9E=E5=8A=A0=20echarts=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +- package-lock.json | 59 ++ package.json | 3 +- src/assets/css/public.scss | 2 + src/assets/img/no_data_01.png | Bin 0 -> 24470 bytes src/config/models.js | 24 +- src/main.js | 10 +- src/router/index.js | 4 +- src/views/health/psychological/index.scss | 312 ++++++ src/views/health/psychological/index.vue | 1077 +++++++++++++++++++++ 10 files changed, 1490 insertions(+), 9 deletions(-) create mode 100644 src/assets/img/no_data_01.png create mode 100644 src/views/health/psychological/index.scss create mode 100644 src/views/health/psychological/index.vue diff --git a/README.md b/README.md index c896dcc..0979f76 100644 --- a/README.md +++ b/README.md @@ -424,4 +424,10 @@ feature `2023.5.13` update - 告警 - - 修改 误报文字为 免告警 \ No newline at end of file + - 修改 误报文字为 免告警 + +## v1.0.52 +`2023.5.30` +feature +- 增加 心理监测详情页面,抑郁,压力和疲劳当天图表展示 +- 增加 echarts图表依赖 diff --git a/package-lock.json b/package-lock.json index c273b21..e7eae5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "clipboard": "^2.0.11", "core-js": "^3.6.5", "dayjs": "^1.11.7", + "echarts": "^5.4.1", "html2canvas": "^1.4.1", "nprogress": "^0.2.0", "rxjs": "^7.8.0", @@ -7174,6 +7175,20 @@ "safer-buffer": "^2.1.0" } }, + "node_modules/echarts": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", + "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.3" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -20052,6 +20067,19 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true + }, + "node_modules/zrender": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", + "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" } }, "dependencies": { @@ -25702,6 +25730,22 @@ "safer-buffer": "^2.1.0" } }, + "echarts": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", + "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, "editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -36093,6 +36137,21 @@ "dev": true } } + }, + "zrender": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", + "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } } } } diff --git a/package.json b/package.json index 2949606..c3e55b7 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "vue-router": "^3.2.0", "vuex": "^3.4.0", "weixin-js-sdk": "^1.6.0", - "clipboard": "^2.0.11" + "clipboard": "^2.0.11", + "echarts": "^5.4.1" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.5.0", diff --git a/src/assets/css/public.scss b/src/assets/css/public.scss index e8444a8..4985566 100644 --- a/src/assets/css/public.scss +++ b/src/assets/css/public.scss @@ -3,6 +3,8 @@ $blue: #2599ff; $next: #8bc6fa; $red: #ff8c8c; $background: #f2f4f5; +// 灰色线条 +$lineGray: #F5F5F5; $border_color: #d1d1d1; /* 绑定时选择人物关系图片head.png */ $spriteWidthHead: 180; diff --git a/src/assets/img/no_data_01.png b/src/assets/img/no_data_01.png new file mode 100644 index 0000000000000000000000000000000000000000..9a84f953d3651c1f79a2eb35d89c8f53ab620b05 GIT binary patch literal 24470 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 <%3MZ7hZ7- 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 literal 0 HcmV?d00001 diff --git a/src/config/models.js b/src/config/models.js index 53c7907..86d0f77 100644 --- a/src/config/models.js +++ b/src/config/models.js @@ -1,11 +1,11 @@ /* * @Date: 2021-11-20 10:26:39 * @LastEditors: JinxChen - * @LastEditTime: 2023-05-13 22:16:53 + * @LastEditTime: 2023-05-29 17:10:20 * @FilePath: \TelpoH5FrontendWeb\src\config\models.js * @description: */ -export const VERSION_MODEL = '1.0.51F'; //版本号 +export const VERSION_MODEL = '1.0.52F'; //版本号 export const IMAGE_URL = { production: 'http://zfb.ssjlai.com/web/', test: 'http://zfb.ssjlai.com/web/', @@ -23,4 +23,22 @@ export const BaiduStatisticsModel = { production: "https://hm.baidu.com/hm.js?b33e6f07636c9fd9ec8cfe04979f1664", // 随手精灵百度流量统计 正式环境 test: "https://hm.baidu.com/hm.js?edb76b471e997167b7782c1513382771", // 随手精灵百度流量统计 测试环境 development: "https://hm.baidu.com/hm.js?edb76b471e997167b7782c1513382771", // 随手精灵百度流量统计 测试环境 -} \ No newline at end of file +}; +// 情绪模型 +export const EmotionModel = { + // 抑郁 + depression: { + name: '抑郁', + type: 2 + }, + // 压力 + stress: { + name: '压力', + type: 1 + }, + // 疲劳 + tiredness: { + name: '疲劳', + type: 3 + } +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index d507f3e..b0b0fc5 100644 --- a/src/main.js +++ b/src/main.js @@ -1,7 +1,7 @@ /* * @Date: 2022-01-19 10:08:26 * @LastEditors: JinxChen - * @LastEditTime: 2023-05-10 09:15:16 + * @LastEditTime: 2023-05-30 10:58:58 * @FilePath: \TelpoH5FrontendWeb\src\main.js * @description: */ @@ -14,6 +14,8 @@ import '@/assets/css/reset.scss'; import dayjs from 'dayjs'; // ui库按需引入 import 'vant/lib/index.css'; +// 引入echarts +import * as echarts from 'echarts'; import { BaiduStatisticsModel } from '@/config/models'; import { Button, @@ -100,13 +102,14 @@ Vue Vue.config.productionTip = false; Vue.config.devtools = true; + // 全局配置 loading Toast.setDefaultOptions('success', { - duration: 2500, + duration: 1500, forbidClick: true, }); Toast.setDefaultOptions('loading', { - duration: 0, + duration: 1500, forbidClick: true, }); Dialog.setDefaultOptions({ @@ -115,6 +118,7 @@ Dialog.setDefaultOptions({ }); Vue.config.productionTip = false; Vue.prototype.$dayjs = dayjs; +Vue.prototype.$echarts = echarts; Vue.prototype.$bus = new Vue(); router.afterEach((to, from, next) => { // 创建百度统计js diff --git a/src/router/index.js b/src/router/index.js index 88fa066..c106406 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,7 +1,7 @@ /* * @Date: 2023-02-25 16:34:35 * @LastEditors: JinxChen - * @LastEditTime: 2023-03-24 14:40:54 + * @LastEditTime: 2023-05-29 17:04:22 * @FilePath: \TelpoH5FrontendWeb\src\router\index.js * @description: */ @@ -31,6 +31,8 @@ const routes = [ { path: '/cardActive', name: 'cardActive', component: resolve => require(['@/views/card-active'], resolve) }, { path: '/alarmDetails', name: 'alarmDetails', component: resolve => require(['@/views/alarm/alarm-details'], resolve) }, + // 健康-心理监测详情,抑郁,压力和疲劳 + { path: '/psychological', name: 'psychological', component: resolve => require(['@/views/health/psychological'], resolve) }, ]; const router = new VueRouter({ diff --git a/src/views/health/psychological/index.scss b/src/views/health/psychological/index.scss new file mode 100644 index 0000000..0d3f1fc --- /dev/null +++ b/src/views/health/psychological/index.scss @@ -0,0 +1,312 @@ +$newBlue: #638EE4; +.psychological-container{ + height: 100vh; + width: 100%; + overflow: hidden; + background-color: #fff; + .main { + height: calc(100vh - 45px); + overflow: scroll; + .top { + flex: 1; + + .tab-bar { + padding: 23px 13px 0 13px; + .date-tab-con { + padding: 10px 0; + height: 35px; + display: flex; + justify-content: flex-start; + align-items: center; + .date-tab-list { + display: flex; + justify-content: flex-start; + align-items: center; + flex: 1; + border-radius: 15px; + color: #fff; + .date-tab-item { + height: 35px; + width: 100%; + color: #6D6D6D; + font-size: 18px; + @include center(); + border: 1px solid $newBlue; + &.active { + background-color: $newBlue; + color: #fff; + } + &.notClick { + background-color: $border_color; + color: #fff; + border: 1px solid #fff; + } + } + .date-tab-item:first-child { + border-top-left-radius: 15px; + border-bottom-left-radius: 15px; + } + .date-tab-item:last-child { + border-top-right-radius: 15px; + border-bottom-right-radius: 15px; + } + } + } + } + .title { + display: flex; + justify-content: space-between; + align-items: center; + padding: 27px 16px 16px 13px; + font-size: 18px; + .title-left { + font-weight: bold; + } + } + .monitoring-count { + text-align: left; + padding: 3px 14px; + line-height: 20px; + p { + font-size: 12px; + color: #8B8B8B; + } + } + .pie-chart-con { + flex: 1; + padding: 17px 0 45px 0; + display: flex; + justify-content: space-between; + align-items: flex-start; + .pie-chart-left { + position: relative; + height: 180px; + padding-left: 23px; + width: 40%; + @include center(); + #pieChart { + height: 106px; + width: 106px; + } + } + .pie-chart-right { + height: 180px; + width: 55%; + padding-right: 20px; + @include center(); + .list { + flex-direction: column; + .item { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + font-size: 15px; + padding: 9px 0; + .item-left { + display: flex; + justify-content: flex-start; + align-items: center; + padding-right: 10px; + .circle { + height: 12px; + width: 12px; + margin: 0 4px; + } + span { + font-size: 15px; + } + .text { + color: #000; + } + } + .item-right { + display: flex; + justify-content: flex-end; + align-items: center; + } + } + } + } + } + .statistics { + position: relative; + padding: 0 12px 36px 36px; + .list { + flex: 1; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + font-size: 16px; + .item { + @include center(); + width: 58px; + /* height: px2rem(136); */ + flex-direction: column; + .top { + font-size: 12px; + } + .middle { + font-size: 24px; + font-weight: bold; + padding: 16px 5px 11px 5px; + } + .bottom { + font-size: 9px + } + } + } + } + } + .line { + position: relative; + height: 11px; + background-color: $lineGray; + } + .bottom { + flex: 1; + .echart-container { + height: 400px; + background-color:#fff; + padding: 0 5px; + .echart { + height: 400px; + padding: 0 5px; + } + } + .line-gray { + height: 11px; + width: 100%; + background-color: $lineGray; + margin-top: 30px; + } + .result { + .result-con { + height: 100%; + background-color: #fff; + border-radius: 10px; + &.reminder { + padding: 0 16px 20px 16px; + } + .title { + display: flex; + justify-content: flex-start; + align-items: flex-start; + flex-direction: column; + margin-bottom: 10px; + span { + font-size: 18px; + font-weight: bold; + } + .font-28 { + font-weight: 400; + font-size: 13px; + color: #8B8B8B; + text-align: left; + } + .title-no-data { + padding: 34px 0 13px 15px; + } + p { + font-size: 12px; + color: $newBlue; + } + .title-emo { + font-size: 24px; + padding: 14px 0 21px 0; + } + .no-data { + height: 250px; + width: 100%; + @include center(); + flex-direction: column; + img { + height: 110px; + width: 175px; + } + p { + color: #999; + font-size: 12px; + padding: 20px 0 65px 0; + } + } + } + .title-text { + padding: 34px 0 13px 15px; + } + .title-reminder { + padding: 34px 0 0 0; + } + .friendly-reminder, .warm-reminder { + display: flex; + justify-content: flex-start; + align-items: flex-start; + flex-direction: column; + margin-bottom: 10px; + background-color: #F2F2F2; + padding: 20px 19px 19px 14px; + p { + font-weight: bold; + text-align: left; + padding-bottom: 11px; + font-size: 15px; + } + span { + text-align: left; + font-size: 12px; + } + } + .mood-list { + display: grid; + grid-template-columns: repeat(2, 1fr); //定义了一个 2x2 的网格布 + grid-template-rows: repeat(2, 1fr); + gap: 21px; + //width: 100%; + padding: 0 44px 20px 37px; + .item { + width: 137px; + height: 94px; + /* padding: px2rem(47) px2rem(57) px2rem(49) px2rem(57); */ + background-color: #F2F6FF; + @include center(); + flex-direction: column; + p { + font-size: 14px; + padding: 0; + color: #666666; + .day { + padding: 5px; + font-size: 28px; + } + .day-text { + font-size: 12px + } + } + } + } + .mood-list-no-data { + height: 250px; + width: 100%; + .no-data { + @include center(); + flex-direction: column; + img { + height: 110px; + width: 175px; + } + p { + color: #999; + font-size: 12px; + padding: 20px 0 65px 0; + } + } + } + } + } + } + } + .title { + font-size: 16px; + } +} \ No newline at end of file diff --git a/src/views/health/psychological/index.vue b/src/views/health/psychological/index.vue new file mode 100644 index 0000000..a9d466c --- /dev/null +++ b/src/views/health/psychological/index.vue @@ -0,0 +1,1077 @@ + + + + + + \ No newline at end of file