|
@@ -5,13 +5,13 @@
|
|
|
<view class="user_info">
|
|
|
<img :src="userinfo.portrait"/>
|
|
|
<view class="info_wrap">
|
|
|
- <view class="box_wrap">
|
|
|
- <text class="margin-bottom-sm text-bold text-xl">{{ record.user_name }}</text>
|
|
|
- <text>{{ record.phone }}</text>
|
|
|
+ <view class="box_wrap margin-bottom-sm box_wrap_left">
|
|
|
+ <text class="text-bold text-xl">{{ record.user_name }}</text>
|
|
|
+ <text class="info_right">{{ record.start_time }}</text>
|
|
|
</view>
|
|
|
- <view class="box_wrap info_right">
|
|
|
- <text style="margin-bottom:12px">{{ record.start_time }}</text>
|
|
|
- <text>训练时间 : {{ record.play_time }}</text>
|
|
|
+ <view class="box_wrap box_wrap_right">
|
|
|
+ <text>{{ record.phone }}</text>
|
|
|
+ <text class="info_right">训练时间:{{ record.play_time }}</text>
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
@@ -53,9 +53,7 @@
|
|
|
/>
|
|
|
</view>
|
|
|
<view class="left_content">
|
|
|
- <view class="left_num">{{ record.height_absorbed }}
|
|
|
- <text class="textLil text-gray">%</text>
|
|
|
- </view>
|
|
|
+ <view class="left_num">{{ record.height_absorbed }}<text class="textLil text-gray">%</text></view>
|
|
|
<view class="left_text">高专注力<br/> 占比</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -66,9 +64,7 @@
|
|
|
<view>专注力维持区间</view>
|
|
|
</view>
|
|
|
<view class="detail">
|
|
|
- <view class="detail_num">{{ record.interfere }}
|
|
|
- <text class="textLil text-gray">次</text>
|
|
|
- </view>
|
|
|
+ <view class="detail_num">{{ record.interfere }}<text class="textLil text-gray">次</text></view>
|
|
|
<view>受干扰次数</view>
|
|
|
</view>
|
|
|
<view class="detail">
|
|
@@ -76,18 +72,14 @@
|
|
|
<view>专注力最大爆发值</view>
|
|
|
</view>
|
|
|
<view class="detail">
|
|
|
- <view class="detail_num">{{ record.start }}
|
|
|
- <text class="textLil text-gray">秒</text>
|
|
|
- </view>
|
|
|
+ <view class="detail_num">{{ record.start }}<text class="textLil text-gray">秒</text></view>
|
|
|
<view>专注力启动时长</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 平均专注力 -->
|
|
|
<view class="margin_right ">
|
|
|
- <view class="right_num">{{ record.att_average_big }}
|
|
|
- <text class="text-sm">{{ record.att_average_lil }}</text>
|
|
|
- </view>
|
|
|
+ <view class="right_num">{{ record.att_average_big }}<text class="text-sm">{{ record.att_average_lil }}</text></view>
|
|
|
<view class="right_text">平均专注力</view>
|
|
|
</view>
|
|
|
|
|
@@ -161,7 +153,7 @@
|
|
|
/>
|
|
|
</view>
|
|
|
<view
|
|
|
- class="section_container"
|
|
|
+ class="section_container container_tab"
|
|
|
v-if="is_cut"
|
|
|
>
|
|
|
<van-tabs
|
|
@@ -169,6 +161,7 @@
|
|
|
color="#6858C4"
|
|
|
@change="changeMin"
|
|
|
:swipe-threshold="4"
|
|
|
+ line-width=54px
|
|
|
>
|
|
|
<van-tab
|
|
|
:name="index"
|
|
@@ -178,6 +171,7 @@
|
|
|
></van-tab>
|
|
|
</van-tabs>
|
|
|
</view>
|
|
|
+ <view class="divide_line"></view>
|
|
|
|
|
|
<view class="bar">
|
|
|
<view>
|
|
@@ -185,12 +179,66 @@
|
|
|
<view class="title">专注力数值累计比例</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="chart">
|
|
|
- <mpvue-echarts
|
|
|
- :echarts="echarts"
|
|
|
- :onInit="pie_charts"
|
|
|
- canvasId="demo-canvas-1"
|
|
|
- />
|
|
|
+
|
|
|
+ <view class="flexBoxLand">
|
|
|
+ <view>
|
|
|
+ <view class="chart_circle">
|
|
|
+ <mpvue-echarts
|
|
|
+ :echarts="echarts"
|
|
|
+ :onInit="pie_charts"
|
|
|
+ canvasId="demo-canvas-1"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <view class="left_content">
|
|
|
+ <view class="left_text">专注力数值</view>
|
|
|
+ <view class="left_text">比例</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 右侧标签 -->
|
|
|
+ <view class="flexBoxVer">
|
|
|
+ <view class="flexBoxLand colorChangeWrap">
|
|
|
+ <view
|
|
|
+ class="colorChange"
|
|
|
+ id="changeFirst"
|
|
|
+ >81-100</view>
|
|
|
+ <view class="colorChangeTime">{{record.level_time0}}({{record.level_ratio0}}%)</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flexBoxLand colorChangeWrap">
|
|
|
+ <view
|
|
|
+ class="colorChange"
|
|
|
+ id="changeSecond"
|
|
|
+ >61-80</view>
|
|
|
+ <view class="colorChangeTime">{{record.level_time1}}({{record.level_ratio1}}%)</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flexBoxLand colorChangeWrap">
|
|
|
+ <view
|
|
|
+ class="colorChange"
|
|
|
+ id="changeThird"
|
|
|
+ >41-60</view>
|
|
|
+ <view class="colorChangeTime">{{record.level_time2}}({{record.level_ratio2}}%)</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flexBoxLand colorChangeWrap">
|
|
|
+ <view
|
|
|
+ class="colorChange"
|
|
|
+ id="changeFourth"
|
|
|
+ >21-40</view>
|
|
|
+ <dview class="colorChangeTime">{{record.level_time3}}({{record.level_ratio3}}%)</dview>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flexBoxLand">
|
|
|
+ <view
|
|
|
+ class="colorChange"
|
|
|
+ id="changeFifth"
|
|
|
+ >00-20</view>
|
|
|
+ <view class="colorChangeTime">{{record.level_time4}}({{record.level_ratio4}}%)</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
<view class="divide_line"></view>
|
|
@@ -259,6 +307,7 @@
|
|
|
color="#6858C4"
|
|
|
@change="changeABMin"
|
|
|
:swipe-threshold="4"
|
|
|
+ line-width=54px
|
|
|
>
|
|
|
<van-tab
|
|
|
:name="index"
|
|
@@ -304,7 +353,7 @@
|
|
|
color="#6858C4"
|
|
|
@change="changeDTMin"
|
|
|
:swipe-threshold="4"
|
|
|
-
|
|
|
+ line-width=54px
|
|
|
>
|
|
|
<van-tab
|
|
|
:name="index"
|
|
@@ -510,10 +559,31 @@ export default {
|
|
|
]);
|
|
|
radar_charts.setOption($options);
|
|
|
|
|
|
- let $pie_data = filterPieData($this.record.level);
|
|
|
+ let $pie_data = $this.record.level;
|
|
|
+ // 时间
|
|
|
+ $this.record.level_time0 = formatSeconds($this.record.level[0]);
|
|
|
+ $this.record.level_time1 = formatSeconds($this.record.level[1]);
|
|
|
+ $this.record.level_time2 = formatSeconds($this.record.level[2]);
|
|
|
+ $this.record.level_time3 = formatSeconds($this.record.level[3]);
|
|
|
+ $this.record.level_time4 = formatSeconds($this.record.level[4]);
|
|
|
+
|
|
|
+ // 时间总数
|
|
|
+ let all_time = 0
|
|
|
+ for(let i = 0;i < 5; i++){
|
|
|
+ all_time += $this.record.level[i]
|
|
|
+ }
|
|
|
+
|
|
|
+ // 比例
|
|
|
+ $this.record.level_ratio0 = Math.round((($this.record.level[0] / all_time)*100)*100)/100;
|
|
|
+ $this.record.level_ratio1 = Math.round((($this.record.level[1] / all_time)*100)*100)/100;
|
|
|
+ $this.record.level_ratio2 = Math.round((($this.record.level[2] / all_time)*100)*100)/100;
|
|
|
+ $this.record.level_ratio3 = Math.round((($this.record.level[3] / all_time)*100)*100)/100;
|
|
|
+ $this.record.level_ratio4 = Math.round((($this.record.level[4] / all_time)*100)*100)/100;
|
|
|
+
|
|
|
let $pie_option = getPieChartsOption($pie_data);
|
|
|
$pie_charts.setOption($pie_option);
|
|
|
|
|
|
+
|
|
|
//5分钟阶段
|
|
|
let $min = 2 * 60;
|
|
|
$this.is_cut = $play_time > $min;
|
|
@@ -678,18 +748,28 @@ image.boy {
|
|
|
.user_info .info_wrap {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
+ box-sizing: border-box;
|
|
|
+ flex-direction: column;
|
|
|
flex: 1;
|
|
|
}
|
|
|
|
|
|
.user_info .box_wrap {
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
color: #222222;
|
|
|
+ box-sizing: border-box;
|
|
|
+ justify-content: space-between
|
|
|
+}
|
|
|
+
|
|
|
+.user_info .box_wrap_left {
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.user_info .box_wrap_right {
|
|
|
+ align-items: flex-end;
|
|
|
}
|
|
|
|
|
|
.user_info .info_right {
|
|
|
color: #666666;
|
|
|
- text-align: right
|
|
|
}
|
|
|
|
|
|
/* 智脑系数 */
|
|
@@ -896,6 +976,7 @@ image.boy {
|
|
|
/*雷达图*/
|
|
|
.radar_chart {
|
|
|
margin: 0 auto;
|
|
|
+ margin-bottom: 10px;
|
|
|
width: 360px;
|
|
|
height: 293px;
|
|
|
/* background: #f3f3f3; */
|
|
@@ -1234,4 +1315,83 @@ image.boy {
|
|
|
/* background-color: #ffb400; */
|
|
|
margin-right: 7px;
|
|
|
}
|
|
|
+
|
|
|
+/* 圆环图 */
|
|
|
+.flexBoxVer {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ box-sizing: border-box;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: flex-start;
|
|
|
+}
|
|
|
+
|
|
|
+.flexBoxLand {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.colorChangeWrap {
|
|
|
+ margin-bottom: 5px;
|
|
|
+}
|
|
|
+
|
|
|
+.colorChange {
|
|
|
+ width: 50px;
|
|
|
+ height: 18px;
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 11px;
|
|
|
+ color: #ffffff;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 18px;
|
|
|
+ margin-right: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.colorChangeTime {
|
|
|
+ font-size: 13px;
|
|
|
+}
|
|
|
+
|
|
|
+#changeFirst {
|
|
|
+ background: #5470c6;
|
|
|
+}
|
|
|
+
|
|
|
+#changeSecond {
|
|
|
+ background: #91cc75;
|
|
|
+}
|
|
|
+
|
|
|
+#changeThird {
|
|
|
+ background: #fac858;
|
|
|
+}
|
|
|
+
|
|
|
+#changeFourth {
|
|
|
+ background: #ee6666;
|
|
|
+}
|
|
|
+
|
|
|
+#changeFifth {
|
|
|
+ background: #73c0de;
|
|
|
+}
|
|
|
+
|
|
|
+.chart_circle {
|
|
|
+ width: 180px;
|
|
|
+ height: 193px;
|
|
|
+ border-radius: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.left_content {
|
|
|
+ height: 193px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ color: #676767;
|
|
|
+ z-index: 999;
|
|
|
+ margin-top: -190px;
|
|
|
+}
|
|
|
+
|
|
|
+.left_text {
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+/* 滑动条 */
|
|
|
+.container_tab{
|
|
|
+ margin-bottom: 20px
|
|
|
+}
|
|
|
</style>
|