| 
					
				 | 
			
			
				@@ -3,62 +3,7 @@ import * as echarts from "../../../components/ec-canvas/echarts.min" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const Parse = getApp().Parse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const company = getApp().globalData.company; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function initChart(canvas, width, height, dpr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const chart = echarts.init(canvas, null, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        width: width, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        height: height, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        devicePixelRatio: dpr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    canvas.setChart(chart); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                formatter: function (value, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    const dates = ['1号', '2号', '3号', '4号', '5号', '6号', '7号']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return index === 1 ? '今天' : value + '\n' + '\n' + dates[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        yAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'value', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            max: 20000, // 设置Y轴最大值为20000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                formatter: function (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (value >= 10000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return (value / 10000) + 'k'; // 格式化为20k 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        series: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    value: 12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        color: '#a90000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                12000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            barWidth: '10', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                borderRadius: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chart.setOption(option); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return chart; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,10 +33,11 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         totalsportDate: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ec: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            onInit: initChart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onInit: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         resultList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        stepsData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stepsData: [], //统计图柱状 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xAxis: [], //x轴 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         percentage: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         percent: '', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,9 +69,95 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         await this.gettarget() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         await this.order() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.allorder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.getweekday() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await this.getweekday() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.echartsComponnet = this.selectComponent('#mychart') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await this.initChart() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 将 initChart 定义在 Page 上下文中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initChart() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.chart) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.chart.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.echartsComponnet.init((canvas, width, height, dpr) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 初始化图表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.chart = echarts.init(canvas, null, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                width: width, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                height: height, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                devicePixelRatio: dpr // 清晰度 使canvas的图表更加清晰 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.chart.setOption(this.getOption()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return this.chart; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getOption() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            xAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    formatter: (value, index) => this.formatter(value, index) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            yAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type: 'value', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                max: 20000, // 设置Y轴最大值为20000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    formatter: function (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (value >= 10000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return (value / 1000) + 'k'; // 格式化为20k 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            series: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //         value: 12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //         itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //             color: '#a90000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     12000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                data: this.data.stepsData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                barWidth: '10', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    borderRadius: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return option; // 返回 option 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 返回x轴底下的字 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    formatter(value, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let daylist = this.data.resultList.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const day = new Date(item.createdAt); // 获取当前日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const dayOfMonth = day.getDate(); // 获取今天是几号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return dayOfMonth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        daylist.reverse() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const dayindex = daylist.length-1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (daylist.length < 7) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let i = daylist.length; i < 7; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const lastDay = daylist[daylist.length - 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                daylist.push(lastDay + (i - daylist.length + 1)); // 补充后续日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const dates =  daylist.map(item=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return `${item}号` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log('dates',dates); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return index === dayindex ? '今天' : value + '\n' + '\n' + dates[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 生命周期函数--监听页面初次渲染完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -179,6 +211,8 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             active: event.detail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.echartsComponnet = this.selectComponent('#mychart') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.initChart() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //修改30天或者7天数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     changeday() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -344,7 +378,21 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 取出对应数量的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const resultList = allList.slice(0, numItemsToTake); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const stepsData = resultList.map(item => item.steps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const stepsData = resultList.map((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (index === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 如果是第一条数据,设置特殊样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    value: item.steps, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color: '#a90000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 其他数据直接返回 steps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return item.steps; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             stepsData 
			 |