KELECHUAN преди 3 години
родител
ревизия
6687629d2b

+ 1 - 1
common/style.scss

@@ -1,5 +1,5 @@
 // 拟态阴影
-$box-shadow-stereo-white: 10rpx 10rpx 40rpx #e0e0e0, -10rpx -10rpx 40rpx #ffffff;
+$box-shadow-stereo-white: 5px 5px 10px #f2f2f2,-5px -5px 10px #ffffff;
 //卡片背景
 $box-background-card: linear-gradient(150deg, #f0f0f0, #ffffff);
 //页面背景

+ 1 - 1
components/back/back.vue

@@ -56,7 +56,7 @@
 		
 		.back-text{
 			font-size: 40rpx;
-			margin:0 0 10rpx 20rpx;
+			margin:0 0 8rpx 20rpx;
 		}
 	}
 </style>

+ 8 - 5
components/todayclass-box/todayclass-box.vue

@@ -18,7 +18,7 @@
 				<view class="block-subtitle" style="color: #3c9cff;" v-if="classIndex === 1 && state != 'none'">当前
 				</view>
 				<view class="block-subtitle" v-if="classIndex === 2 && state != 'none'">下节</view>
-				<view class="block-subtitle" :style="{color: classIndex === 1 ? '#3c9cff' : ''}">{{classInfo.time}}
+				<view class="block-subtitle" :style="{color: classIndex === 1 ? '#3c9cff' : ''}" @click="navClass">{{classInfo.time}}
 				</view>
 				<u-tag text="查看回放" plain icon="hourglass" v-if="classIndex === 0 && state != 'none'"></u-tag>
 				<u-tag text="查看直播" type="error" icon="play-right" v-if="classIndex === 1"></u-tag>
@@ -68,14 +68,13 @@
 		methods: {
 			//获取首页课程数据
 			getHomeClassList() {
-				console.log(this.classCurrent);
 				//不在任何一个时间段内
 				if (this.classCurrent === -1) {
 					this.state = 'none'
 					this.homeClassList = [{
 						name: '休息时间',
 						teacher: '孩子自由安排',
-						time: '更多课程点击课程查看'
+						time: '点击查看课程表'
 					}]
 				}
 				//三节完整数据
@@ -95,7 +94,12 @@
 					arr.push(this.classList[1])
 					this.homeClassList = arr
 				}
-			}
+			},
+			navClass() {
+				uni.navigateTo({
+					url: '/subpkg/classmsg/classmsg'
+				})
+			},
 		},
 		created() {
 			this.getHomeClassList()
@@ -111,6 +115,5 @@
 		height: 450rpx;
 		background-size: 100%;
 		background-repeat: no-repeat;
-		
 	}
 </style>

+ 2 - 2
components/todaydata-box/todaydata-box.vue

@@ -49,7 +49,7 @@
 					<text class="chart-info-text">近七天睡眠</text>
 				</view>
 				<view class="chart-view">
-					<qiun-data-charts type="ring" :chartData="todayData.sleepRing" :loadingType="4"
+					<qiun-data-charts type="pie" :chartData="todayData.sleepRing" :loadingType="4"
 						tooltipFormat='tooltipHour' :canvas2d="true" canvasId="canvasId6312231" />
 				</view>
 			</view>
@@ -329,7 +329,7 @@
 		}
 
 		.chart-view {
-			height: 300rpx;
+			height: 350rpx;
 		}
 	}
 </style>

+ 3 - 27
gradepkg/ability-chart/ability-chart.vue

@@ -12,7 +12,7 @@
 
 		<!-- 数据分析模块 -->
 		<view class="data-box">
-			<view class="data-box-item">
+			<view class="data-box-item" style="background-color: #0080ff;">
 				<view class="item-text">考试成绩波动对比:</view>
 				<view class="item-number">{{mainExamUndulate>=quizExamUndulate?'小考稳定':'大考稳定'}}</view>
 				<view class="analysis-box">
@@ -43,7 +43,7 @@
 			</view>
 			<!-- 图表 -->
 			<view class="charts-box">
-				<qiun-data-charts type="radar" :chartData="gradeData.abilityChart.importantAnalyse"
+				<qiun-data-charts type="column" :chartData="gradeData.abilityChart.importantAnalyse"
 					:loadingType="4" tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="canvasId876898"/>
 			</view>
 		</view>
@@ -55,7 +55,7 @@
 			</view>
 			<!-- 图表 -->
 			<view class="charts-box">
-				<qiun-data-charts type="radar" :chartData="gradeData.abilityChart.commonAnalyse" :loadingType="4"
+				<qiun-data-charts type="column" :chartData="gradeData.abilityChart.commonAnalyse" :loadingType="4"
 					tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="canvasId931238"/>
 			</view>
 		</view>
@@ -141,28 +141,4 @@
 
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
-
-	.page-box {
-		background: linear-gradient($color-green, $page-background-color);
-	}
-
-	//分析卡片配置
-	.data-box .data-box-item .analysis-box .t-icon {
-		width: 180rpx;
-		height: 100rpx;
-	}
-
-	.data-box .data-box-item .item-number {
-		font-size: 60rpx;
-		margin: 10rpx 0 10rpx 25rpx;
-		color: #FFFFFF;
-		font-weight: bold;
-	}
-
-	.data-box .data-box-item .analysis-box .icon-text-item {
-		font-size: 30rpx;
-		font-weight: bold;
-		color: #FFFFFF;
-		margin-left: 10rpx;
-	}
 </style>

+ 12 - 20
gradepkg/common/chartpage.scss

@@ -1,62 +1,54 @@
 .page-box {
-		position: relative;
-		border-radius: 50rpx;
-		width: 750rpx;
+		background: linear-gradient(#a5c6ff, $page-background-color);
 		height: 675rpx;
 		//数据分析模块
 		.data-box {
 			display: flex;
 			flex-direction: row;
 			flex-wrap: wrap;
-			margin: 20rpx 20rpx 20rpx 20rpx;
+			margin: 20rpx 20rpx 10rpx 20rpx;
 			justify-content: space-between;
 			
-		
 			.data-box-item {
 				margin: 2% 0;
 				display: flex;
 				flex-direction: column;
-				background-color: #0080ff;
 				border-radius: $card-border-radius;
 				width: 48%;
 				height: auto;
 		
 				.item-text {
-					font-size: 30rpx;
+					font-size: 28rpx;
 					font-weight: bold;
 					color: #FFFFFF;
-					margin: 30rpx 0 0 30rpx;
+					margin: 20rpx 20rpx 0 25rpx;
 				}
 				.item-number {
-					font-size: 60rpx;
-					margin: 20rpx 0 10rpx 30rpx;
-					color: #FFFFFF;
-					font-weight: bold;
-				}
-				.item-number-mid {
-					font-size: 54rpx;
-					margin: 10rpx 0 10rpx 30rpx;
+					font-size: 55rpx;
 					color: #FFFFFF;
 					font-weight: bold;
+					margin: 20rpx 20rpx 0 25rpx;
 				}
 				.item-number-mini{
 					font-size: 34rpx;
-					margin: 0rpx 0 10rpx 30rpx;
 					color: #FFFFFF;
 					font-weight: bold;
+					margin: 20rpx 20rpx 0 25rpx;
 				}
 				
 				.analysis-box{
 					display: flex;
 					align-items: center;
-					padding: 0 15rpx 15rpx 15rpx;
+					margin: 20rpx 10rpx 10rpx 5rpx;
 					
 					.t-icon {
-						width: 100rpx;
+						width: 140rpx;
 						height: 100rpx;
+						background-repeat: no-repeat;
 					}
 					.icon-text-item {
-						font-size: 35rpx;
+						width: 280rpx;
+						font-size: 32rpx;
 						font-weight: bold;
 						color: #FFFFFF;
 						margin-left: 20rpx;

+ 6 - 15
gradepkg/general-chart/general-chart.vue

@@ -3,15 +3,6 @@
 
 		<!-- 返回按钮 -->
 		<back></back>
-		<!-- 提示信息 -->
-		<view class="tooltip"
-			:style="'top:'+ capsuleBottom + 'px;left:'+ capsuleMiddle + 'px;'+'width:'+capsuleWidth+ 'px'">
-			<view style="display: flex;margin-left: 8rpx;">
-				<u-icon name="question-circle" color="#FFF" @click="tooltipMsg"></u-icon>
-				<text class="tooltip-text" @click="tooltipMsg">图表详情</text>
-			</view>
-
-		</view>
 
 		<!-- 学生信息头部 -->
 		<view class="children-box">
@@ -27,7 +18,12 @@
 		<view class="chart-container">
 			<view class="chart-name">
 				<view class="t-icon t-icon-beach"></view>
-				<text class="chart-name-text">{{semester}} 总成绩对比</text>
+				<text class="chart-name-text">{{semester}} 总成绩对比</text>
+				<!-- 按钮区域 -->
+				<view class="btn-box">
+					<text class="btn"  @click="tooltipMsg">图表详情</text>
+					<u-icon name="question-circle" color="#3B4144;"  @click="tooltipMsg"></u-icon>
+				</view>
 			</view>
 			<view class="charts-box">
 				<qiun-data-charts type="area" :chartData="gradeData.semesterLineChart.generalComparison"
@@ -135,16 +131,11 @@
 				scoreTypeCurrent: '',
 				//当前选择科目
 				subjectCurrent: '',
-				//胶囊坐标
-				capsuleBottom: 0,
-				capsuleMiddle: 0,
-				capsuleWidth: 0,
 			};
 		},
 		onLoad() {
 			this.setSubject()
 			this.setScoreType()
-			this.$getCapsuleSite()
 		},
 		methods: {
 			...mapMutations('m_chart', ['updateSubjectComparison']),

+ 109 - 67
gradepkg/rank-chart/rank-chart.vue

@@ -1,68 +1,110 @@
-<template>
-	<view class="page-box">
-		<back></back>
-
-		<view class="children-box">
-			<image class="children-avatar" :src="childreninfo.avatar"></image>
-			<view class="children-msg">
-				<view class="children-name">{{childreninfo.name}}</view>
-				<view class="children-class">{{childreninfo.class}}</view>
-			</view>
-		</view>
-
-		<!-- 图表列表 -->
-		<!-- 总成绩排行走势 -->
-		<view class="chart-container">
-			<view class="chart-name">
-				<view class="t-icon t-icon-fields"></view>
-				<text class="chart-name-text">{{semester}} 排行占比走势对比</text>
-			</view>
-			<view class="charts-box">
-				<qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterRank" :loadingType="4"
-				tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931234"/>
-			</view>
-		</view>
-		<!-- 单科排行走势 -->
-		<view class="chart-container">
-			<view class="chart-name">
-				<view class="t-icon t-icon-forest"></view>
-				<text class="chart-name-text">单科排行占比走势对比</text>
-			</view>
-			<view class="charts-box">
-				<qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterSubjectRank" :loadingType="4"
-				tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931870"/>
-			</view>
-		</view>
-		
-		
-
-	</view>
-</template>
-
-<script>
-	import {
-		mapState
-	} from 'vuex'
-
-	export default {
-		computed: {
-			...mapState('m_children', ['childreninfo', 'semester']),
-			...mapState('m_chart', ['gradeData'])
-		},
-		data() {
-			return {};
-		},
-		methods: {
-
-		},
-		onLoad() {}
-	}
-</script>
-
-<style lang="scss">
-	@import '@/gradepkg/common/chartpage.scss';
-
-	.page-box {
-		background: linear-gradient($color-pink, $page-background-color);
-	}
+<template>
+	<view class="page-box">
+		<back></back>
+
+		<view class="children-box">
+			<image class="children-avatar" :src="childreninfo.avatar"></image>
+			<view class="children-msg">
+				<view class="children-name">{{childreninfo.name}}</view>
+				<view class="children-class">{{childreninfo.class}}</view>
+			</view>
+		</view>
+
+		<!-- 数据分析模块 -->
+		<view class="data-box">
+			<view class="data-box-item" v-for="(item,index) in analysisData" :key="index"
+				:style="{background: item.color}">
+				<view class="item-text">{{item.title}}</view>
+				<view class="item-number">{{item.data}}%的同学</view>
+				<view class="analysis-box">
+					<view v-if="item.data<40" class="t-icon t-icon-jiangbei-5"></view>
+					<view v-if="item.data>=40 && item.data<70" class="t-icon t-icon-jiangbei-4"></view>
+					<view v-if="item.data>=70" class="t-icon t-icon-jiangbei-3"></view>
+					<view v-if="item.data<40" class="icon-text-item">要加把劲!</view>
+					<view v-if="item.data>=40 && item.data<70" class="icon-text-item">再接再厉!</view>
+					<view v-if="item.data>=70" class="icon-text-item">非常优秀!</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 图表列表 -->
+		<!-- 总成绩排行走势 -->
+		<view class="chart-container">
+			<view class="chart-name">
+				<view class="t-icon t-icon-fields"></view>
+				<text class="chart-name-text">{{semester}} 排行占比走势对比</text>
+			</view>
+			<view class="charts-box">
+				<qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterRank" :loadingType="4"
+					tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931234" />
+			</view>
+		</view>
+		<!-- 单科排行走势 -->
+		<view class="chart-container">
+			<view class="chart-name">
+				<view class="t-icon t-icon-forest"></view>
+				<text class="chart-name-text">单科排行占比走势对比</text>
+			</view>
+			<view class="charts-box">
+				<qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterSubjectRank" :loadingType="4"
+					tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931870" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		mapState
+	} from 'vuex'
+
+	export default {
+		computed: {
+			...mapState('m_children', ['childreninfo', 'semester']),
+			...mapState('m_chart', ['gradeData'])
+		},
+		data() {
+			return {
+				analysisData: 
+				[{
+					title: '学期平均排行超年级:',
+					data: '',
+					color: '#0080ff',
+				}, {
+					title: '学期平均排行超班级:',
+					data: '',
+					color: '#ff8caf',
+				}],
+				
+				
+			};
+		},
+		methods: {
+			//获得分析模块数据
+			getData() {
+				//学期平均排行占比
+				//求和函数封装
+				function arrSum(array) {
+					let cont = 0
+					for (let i = 0; i < array.length; i++) {
+						cont += array[i]
+					}
+					return cont;
+				}
+				//平均超班级
+				this.analysisData[1].data = parseInt(arrSum(this.gradeData.rankChart.semesterRank.series[1].data) / this.gradeData
+					.rankChart.semesterRank.series[1].data.length)
+				//平均超年级
+				this.analysisData[0].data = parseInt(arrSum(this.gradeData.rankChart.semesterRank.series[0].data) / this.gradeData
+					.rankChart.semesterRank.series[0].data.length)
+			}
+		},
+		onLoad() {
+			this.getData()
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/gradepkg/common/chartpage.scss';
 </style>

+ 2 - 5
gradepkg/single-chart/single-chart.vue

@@ -14,7 +14,7 @@
 		<view class="data-box">
 			<view class="data-box-item" v-for="(item,index) in analysisData" :key="index" :style="{background: item.color}">
 				<view class="item-text">{{item.title}}</view>
-				<view class="item-number">{{item.data/0.01}}% 同学</view>
+				<view class="item-number">{{item.data/0.01}}%同学</view>
 				<view class="analysis-box">
 					<view v-if="item.data<0.4" class="t-icon t-icon-jiangbei-5"></view>
 					<view v-if="item.data>=0.4 && item.data<0.7" class="t-icon t-icon-jiangbei-4"></view>
@@ -85,6 +85,7 @@
 			};
 		},
 		methods: {
+			//获得分析模块数据
 			getData(){
 				this.analysisData[0].data = 
 				this.gradeData.recentTestChart.recentRank.series[0].data
@@ -104,8 +105,4 @@
 
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
-
-	.page-box {
-		background: $color-yellow;
-	}
 </style>

+ 24 - 39
gradepkg/subject-chart/subject-chart.vue

@@ -12,32 +12,17 @@
 
 		<!-- 数据分析模块 -->
 		<view class="data-box">
-			<view class="data-box-item">
-				<view class="item-text">本学期优势科目为:</view>
-				<view class="item-number-mid">{{bestSubject.name}}</view>
-				<view class="item-number-mini">得分率为:  {{bestSubject.value}}%</view>
+			<view class="data-box-item" v-for="(item,index) in analysisData" :key="index" :style="{background: item.color}">
+				<view class="item-text">{{item.title}}</view>
+				<view class="item-number">{{item.data.name}}</view>
+				<view class="item-number-mini">得分率为:  {{item.data.value}}%</view>
 				<view class="analysis-box">
-					<view v-if="bestSubject.value>=80" class="t-icon t-icon-jiangbei-9"></view>
-					<view v-if="bestSubject.value<80 && bestSubject.value>=50" class="t-icon t-icon-jiangbei-10"></view>
-					<view v-if="bestSubject.value<50" class="t-icon t-icon-jiangbei-11"></view>
-					<view v-if="bestSubject.value<50" class="icon-text-item">要加把劲!</view>
-					<view v-if="bestSubject.value<80 && bestSubject.value>=50" class="icon-text-item">再接再厉!</view>
-					<view v-if="bestSubject.value>=80" class="icon-text-item">非常优秀!</view>
-				</view>
-			</view>
-
-			<view class="data-box-item" style="background-color: #ff8caf;">
-				<view class="item-text">本学期劣势科目为:</view>
-				<view class="item-number-mid">{{worstSubject.name}}</view>
-				<view class="item-number-mini">得分率为:  {{worstSubject.value}}%</view>
-				<view class="analysis-box">
-					<view v-if="worstSubject.value>=80" class="t-icon t-icon-jiangbei-9"></view>
-					<view v-if="worstSubject.value<80 && bestSubject.value>=50" class="t-icon t-icon-jiangbei-10">
-					</view>
-					<view v-if="worstSubject.value<50" class="t-icon t-icon-jiangbei-11"></view>
-					<view v-if="worstSubject.value<50" class="icon-text-item">还需提升!</view>
-					<view v-if="worstSubject.value<80 && bestSubject.value>=50" class="icon-text-item">继续努力!</view>
-					<view v-if="worstSubject.value>=80" class="icon-text-item">格外出色!</view>
+					<view v-if="item.data.value>=80" class="t-icon t-icon-jiangbei-3"></view>
+					<view v-if="item.data.value<80 && item.data.value>=50" class="t-icon t-icon-jiangbei-4"></view>
+					<view v-if="item.data.value<50" class="t-icon t-icon-jiangbei-5"></view>
+					<view v-if="item.data.value<50" class="icon-text-item">要加把劲!</view>
+					<view v-if="item.data.value<80 && item.data.value>=50" class="icon-text-item">再接再厉!</view>
+					<view v-if="item.data.value>=80" class="icon-text-item">非常优秀!</view>
 				</view>
 			</view>
 		</view>
@@ -82,29 +67,33 @@
 		},
 
 		data() {
-			return {
-				//最好科目
-				bestSubject: {},
-				//劣势科目
-				worstSubject: {},
+			return {
+				//分析模块数据
+				analysisData: 
+				[{
+					title: '本学期优势科目为:',
+					data: '',
+					color: '#0080ff'
+				},{
+					title: '本学期劣势科目为:',
+					data: '',
+					color: '#ff8caf',
+				}]
 			};
 		},
 		onLoad() {
 			this.getGradeDetail()
 		},
 		methods: {
-			//通过map方法返回成绩的数组
 			getGradeDetail() {
 				//获取成绩最好科目
-				this.bestSubject = this.gradeData.advantageRoseChart.semesterAdvantage.series[0].data.reduce((pre, cur) =>
+				this.analysisData[0].data = this.gradeData.advantageRoseChart.semesterAdvantage.series[0].data.reduce((pre, cur) =>
 					pre.value > cur.value ? pre :
 					cur)
 				//劣势科目
-				this.worstSubject = this.gradeData.advantageRoseChart.semesterAdvantage.series[0].data.reduce((pre, cur) =>
+				this.analysisData[1].data = this.gradeData.advantageRoseChart.semesterAdvantage.series[0].data.reduce((pre, cur) =>
 					pre.value < cur.value ? pre :
 					cur)
-				console.log(this.bestSubject)
-				console.log(this.worstSubject)
 			}
 		}
 
@@ -113,8 +102,4 @@
 
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
-
-	.page-box {
-		background: linear-gradient(#a5c6ff, $page-background-color);
-	}
 </style>

+ 2 - 2
information/chart.js

@@ -450,13 +450,13 @@ export default {
 								97,
 								91,
 								95,
-								85
+								90
 							]
 						},
 						{
 							"name": "期末考试",
 							"data": [
-								80,
+								90,
 								90,
 								95,
 								96,

+ 107 - 57
information/children.js

@@ -1,93 +1,143 @@
 //导出学生信息存储模块
-export default{
+export default {
 	//开启命名空间
 	namespaced: true,
-	
+
 	//模块数据
 	state: () => ({
-		
+
 		grade: JSON.parse(uni.getStorageSync('grade') || '{}'),
-		
+
 		childreninfo: JSON.parse(uni.getStorageSync('childreninfo') || '{}'),
-		
+
 		semester: uni.getStorageSync('semester') || '请选择学期',
-		
-		semesterList: [['21学年下学期', '21学年上学期', '20学年下学期', '20学年上学期']],
-		
-		classList: 
-				[{
-					name: '语文',
-					teacher: '王老师',
-					time: '09:00-09:50',
-					timeFrame: '上午第一节'
-				},{
-					name: '数学',
-					teacher: '李老师',
-					time: '10:00-10:50',
-					timeFrame: '上午第二节'
-				},{
-					name: '外语',
-					teacher: '张老师',
-					time: '11:00-11:50',
-					timeFrame: '上午第三节'
-				},{
-					name: '思品',
-					teacher: '史老师',
-					time: '14:00-14:50',
-					timeFrame: '下午第一节'
-				},{
-					name: '体育',
-					teacher: '李老师',
-					time: '15:00-15:50',
-					timeFrame: '下午第二节'
-				},{
-					name: '科学',
-					teacher: '张老师',
-					time: '16:00-16:50',
-					timeFrame: '上午第三节'
-				}],
-		
+
+		semesterList: [
+			['21学年下学期', '21学年上学期', '20学年下学期', '20学年上学期']
+		],
+
+		classList: [{
+			name: '语文',
+			teacher: '王老师',
+			time: '09:00-09:50',
+			timeFrame: '上午第一节'
+		}, {
+			name: '数学',
+			teacher: '李老师',
+			time: '10:00-10:50',
+			timeFrame: '上午第二节'
+		}, {
+			name: '外语',
+			teacher: '张老师',
+			time: '11:00-11:50',
+			timeFrame: '上午第三节'
+		}, {
+			name: '思品',
+			teacher: '史老师',
+			time: '14:00-14:50',
+			timeFrame: '下午第一节'
+		}, {
+			name: '体育',
+			teacher: '李老师',
+			time: '15:00-15:50',
+			timeFrame: '下午第二节'
+		}, {
+			name: '科学',
+			teacher: '张老师',
+			time: '16:00-16:50',
+			timeFrame: '上午第三节'
+		}],
+		weekClassTable: [{
+				'课程表': '上午一节',
+				'周一': '语文',
+				'周二': '数学',
+				'周三': '外语',
+				'周四': '语文',
+				'周五': '数学',
+			},
+			{
+				'课程表': '上午二节',
+				'周一': '数学',
+				'周二': '外语',
+				'周三': '语文',
+				'周四': '数学',
+				'周五': '外语',
+			},
+			{
+				'课程表': '上午三节',
+				'周一': '外语',
+				'周二': '语文',
+				'周三': '数学',
+				'周四': '外语',
+				'周五': '语文',
+			},
+			{
+				'课程表': '下午一节',
+				'周一': '思品',
+				'周二': '体育',
+				'周三': '科学',
+				'周四': '思品',
+				'周五': '体育',
+			},
+			{
+				'课程表': '下午二节',
+				'周一': '体育',
+				'周二': '科学',
+				'周三': '思品',
+				'周四': '体育',
+				'周五': '科学',
+			},
+			{
+				'课程表': '下午三节',
+				'周一': '科学',
+				'周二': '思品',
+				'周三': '体育',
+				'周四': '科学',
+				'周五': '思品',
+			}
+		],
+
 	}),
 	//模块方法(修改数据)
 	mutations: {
 		//更新学期信息
-		updateChildrenSemester(state,semester){
+		updateChildrenSemester(state, semester) {
 			state.semester = semester
 			this.commit('m_children/saveChildrenSemesterToStorage')
 		},
 		//更新所有学期信息
-		updateChildrenSemesterList(state,semesterList){
+		updateChildrenSemesterList(state, semesterList) {
 			state.semesterList = semesterList
 		},
-		
+
 		//更新学生信息
-		updateChildrenInfo(state,childreninfo){
+		updateChildrenInfo(state, childreninfo) {
 			state.childreninfo = childreninfo
 			this.commit('m_children/saveChildrenInfoToStorage')
 		},
 		//更新成绩信息
-		updateChildrenGrade(state,grade){
+		updateChildrenGrade(state, grade) {
 			state.grade = grade
 			this.commit('m_children/saveChildrenGradeToStorage')
 		},
-		
+
 		//持久化存储
 		//学生信息
-		saveChildrenInfoToStorage(state){
-			uni.setStorageSync('childreninfo',JSON.stringify(state.childreninfo))
+		saveChildrenInfoToStorage(state) {
+			uni.setStorageSync('childreninfo', JSON.stringify(state.childreninfo))
 		},
 		//学生成绩
-		saveChildrenGradeToStorage(state){
-			uni.setStorageSync('grade',JSON.stringify(state.grade))
+		saveChildrenGradeToStorage(state) {
+			uni.setStorageSync('grade', JSON.stringify(state.grade))
 		},
 		//学期信息
-		saveChildrenSemesterToStorage(state){
-			uni.setStorageSync('semester',state.semester)
+		saveChildrenSemesterToStorage(state) {
+			uni.setStorageSync('semester', state.semester)
 		}
-		
+
 	},
 	//模块属性(数据包装)
-	getters:{
-		
+	getters: {
+
 	}
-}
+}

+ 2 - 3
pages.json

@@ -98,7 +98,7 @@
 			}, {
 				"path": "calendarmsg/calendarmsg",
 				"style": {
-					"navigationBarTitleText": "",
+					"navigationStyle": "custom",
 					"enablePullDownRefresh": false
 				}
 
@@ -106,8 +106,7 @@
 				"path": "classmsg/classmsg",
 				"style": {
 					"navigationStyle": "custom",
-					"enablePullDownRefresh": false,
-					"backgroundColor":"#FFF"
+					"enablePullDownRefresh": false
 				}
 
 			}

+ 1 - 1
pages/grade/grade.vue

@@ -255,7 +255,7 @@
 	}
 
 	.table {
-		margin-bottom: 40rpx;
+		margin-bottom: 20rpx;
 		width: 93%;
 		height: 100%;
 	}

+ 13 - 11
pages/home/home.vue

@@ -26,7 +26,7 @@
 			</view>
 
 			<!-- 今日打卡 -->
-			<view class="card-item" @click="navCalendar">
+			<view class="card-item" @click="navCalendar(attendanceData.attendance,attendanceData.attendanceTime,attendanceData.attendanceQuality)">
 				<view class="card-info">
 					<view :class="icon.record"></view>
 					<text class="info-text">今日打卡</text>
@@ -35,22 +35,22 @@
 				<view class="space">
 					<view class="home-title-text">
 						<view class="msg">今日出勤:</view>
-						<view class="card-content">{{homeData.attendance}}</view>
+						<view class="card-content">{{attendanceData.attendance}}</view>
 					</view>
 					<view class="home-title-text">
 						<view class="msg">打卡时间:</view>
 						<view style="margin-left: 10rpx;">
 							<!-- <u-tag text="8点15分" plain shape="circle"></u-tag> -->
 							<view style="display: flex; align-items: center; margin-left: 10rpx;">
-								<view class="number-box">{{homeData.attendanceTimeAfter[0]}}</view>
+								<view class="number-box">{{attendanceData.attendanceTimeAfter[0]}}</view>
 								<view style="color: #3C9CFF;">:</view>
-								<view class="number-box">{{homeData.attendanceTimeAfter[1]}}</view>
+								<view class="number-box">{{attendanceData.attendanceTimeAfter[1]}}</view>
 							</view>
 						</view>
 					</view>
 					<view class="home-title-text">
-						<view class="msg">本周出勤质量:</view>
-						<view class="card-content">{{homeData.attendanceQuality}}</view>
+						<view class="msg">出勤质量:</view>
+						<view class="card-content">{{attendanceData.attendanceQuality}}</view>
 					</view>
 				</view>
 			</view>
@@ -110,8 +110,8 @@
 				noticeMsg: '',
 				//当前课程索引
 				classCurrent: '',
-				//首页数据
-				homeData: {
+				//打卡数据
+				attendanceData: {
 					//出勤状况
 					attendance: '已打卡',
 					//打卡时间
@@ -191,6 +191,7 @@
 					}
 					i++
 				}
+				//判断是否不在任意一个时间段内
 				if (i > this.classList.length) {
 					i = -1
 				}
@@ -199,16 +200,17 @@
 			},
 			//处理打卡时间
 			getAttendanceTimeAfter() {
-				this.homeData.attendanceTimeAfter = this.homeData.attendanceTime.split(':')
+				this.attendanceData.attendanceTimeAfter = this.attendanceData.attendanceTime.split(':')
 			},
+			//导航
 			navHomework(index) {
 				uni.reLaunch({
 					url: `/pages/homework/homework?index=${index}`
 				})
 			},
-			navCalendar() {
+			navCalendar(attendance,attendanceTime,attendanceQuality) {
 				uni.navigateTo({
-					url: '/subpkg/calendarmsg/calendarmsg'
+					url: `/subpkg/calendarmsg/calendarmsg?attendance=${attendance}&attendanceTime=${attendanceTime}&attendanceQuality=${attendanceQuality}`
 				})
 			},
 			navClass() {

+ 4 - 4
pages/homework/homework.vue

@@ -310,12 +310,12 @@
 
 			};
 		},
-		onLoad() {
+		onLoad(options) {
 			this.$getTimeStamp()
 			this.saveToStudyChart()
-			let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
-			let curParam = routes[routes.length - 1].options; //获取路由参数
-			this.current = curParam.index
+			// let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
+			// let curParam = routes[routes.length - 1].options; //获取路由参数
+			this.current = options.index
 		},
 		//刷新页面
 		onPullDownRefresh() {

+ 59 - 18
subpkg/calendarmsg/calendarmsg.vue

@@ -1,14 +1,28 @@
 <template>
-	<view class="card">
-		<view class="calendar_container">
-			<zsyCalendar :sundayIndex="6" @change="dateHandler" />
-		</view>
-		<view class="state-box">
-			<view class="state">
-				<view class="state-text">已打卡</view>
+	<view>
+		<back :text="'今日打卡'"></back>
+
+		<view class="card">
+			<view class="calendar_container">
+				<zsyCalendar :sundayIndex="6" @change="dateHandler" />
+			</view>
+			<view class="state-box">
+				<view class="state">
+					<view class="state-text">{{attendance}}</view>
+				</view>
+				<view class="msg-box">
+					<view class="flex">
+						<text class="msg-text" style="font-weight: normal;font-size: 28rpx;">打卡时间:</text>
+						<text class="msg-text">{{attendanceTime}}</text>
+					</view>
+					<view class="flex">
+						<text class="msg-text" style="font-weight: normal;font-size: 28rpx;">本周出勤质量:</text>
+						<text class="msg-text">{{attendanceQuality}}</text>
+					</view>
+					
+				</view>
 			</view>
 		</view>
-		
 	</view>
 </template>
 
@@ -21,9 +35,16 @@
 		},
 		data() {
 			return {
-
+				attendance: '',
+				attendanceTime: '',
+				attendanceQuality: ''
 			};
 		},
+		onLoad(options) {
+			this.attendance = options.attendance
+			this.attendanceTime = options.attendanceTime
+			this.attendanceQuality = options.attendanceQuality
+		},
 		methods: {
 			//日历事件
 			dateHandler(e) {
@@ -35,12 +56,13 @@
 
 <style lang="scss">
 	.card {
-		margin: 0 20rpx;
+		margin: 14rpx 20rpx;
 		display: flex;
 		flex-direction: column;
 		align-items: center;
 		background-color: #FFF;
 		border-radius: $card-border-radius;
+
 		//日历组件
 		.calendar_container {
 			height: 100%;
@@ -50,27 +72,46 @@
 			box-sizing: border-box;
 			border-radius: $card-border-radius;
 		}
-		.state-box{
+
+		.state-box {
 			display: flex;
 			align-items: center;
-			justify-content: center;
-			height: 300rpx;
+			height: 200rpx;
 			width: 100%;
-			.state{
+
+			.state {
 				display: flex;
 				align-items: center;
 				justify-content: center;
 				margin: 20rpx;
 				border-radius: 100%;
-				height: 150rpx;
-				width: 150rpx;
+				height: 130rpx;
+				width: 130rpx;
 				background-color: #3C9CFF;
-				.state-text{
-					font-size: 34rpx;
+
+				.state-text {
+					font-size: 28rpx;
 					font-weight: bold;
 					color: #FFF;
 				}
 			}
+			.msg-box{
+				display: flex;
+				flex-direction: column;
+				justify-content: space-around;
+				height: 150rpx;
+				width: auto;
+				.msg-text{
+					color: $color-title;
+					font-weight: bold;
+					font-size: 36rpx;
+					margin-left: 20rpx;
+				}
+			}
 		}
 	}
+	.flex{
+		display: flex;
+		align-items: center;
+	}
 </style>

+ 38 - 4
subpkg/classmsg/classmsg.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<back></back>
+		<back :text="'课程列表'"></back>
 
 		<view class="card-box">
 			<view class="card-item" style="width: 100%;">
@@ -40,8 +40,10 @@
 			<view class="card-item" style="width: 100%;">
 				<view class="card-info">
 					<view class="t-icon t-icon-zhishi"></view>
-					<text class="info-text">孩子课程表</text>
+					<text class="info-text">本周课程表</text>
 				</view>
+				<z-table class="table" :tableData="weekClassTable" :columns="columns">
+				</z-table>
 			</view>
 		</view>
 
@@ -55,11 +57,37 @@
 	} from 'vuex'
 	export default {
 		computed: {
-			...mapState('m_children', ['classList'])
+			...mapState('m_children', ['classList','weekClassTable'])
 		},
 		data() {
 			return {
-
+				columns: [{
+						'title': '课程表',
+						'key': '课程表',
+						'width': 220,
+					},
+					{
+						'title': '周一',
+						'key': '周一',
+					},
+					{
+						'title': '周二',
+						'key': '周二',
+					},
+					{
+						'title': '周三',
+						'key': '周三',
+					},
+					{
+						'title': '周四',
+						'key': '周四',
+					},
+					{
+						'title': '周五',
+						'key': '周五',
+					},
+				],
+					
 			};
 		}
 	}
@@ -129,4 +157,10 @@
 		width: 40rpx;
 		height: 40rpx;
 	}
+	//表格
+	.table {
+		margin: 0 auto 20rpx auto;
+		width: 93%;
+		height: 100%;
+	}
 </style>

+ 18 - 9
subpkg/zsy-calendar/dateBox.vue

@@ -2,19 +2,21 @@
 	<!-- 日期显示 -->
 	<view class="date_box">
 		<view v-for="(dateInfo, dateIndex) in dates" :key="dateIndex" class="calendar_date__box">
-			<view class="">
-				
-			</view>
-			<view class="calendar_date" :class="{ isSelected: dateInfo.isSelected }" :style="{
+			<view class="history" :style="{height: cellHeight + 'rpx', width: cellHeight + 'rpx'}">
+
+
+				<view class="calendar_date" :class="{ isSelected: dateInfo.isSelected }" :style="{
 						height: cellHeight + 'rpx',
 						width: cellHeight + 'rpx',
 						color: swiperMode === 'open' ? dateInfo.type === 'cur' ? '#2C2C2C' : '#959595' : '#2C2C2C',
 						backgroundColor: dateInfo.isSelected ? dateActiveColor : ''
 					}" @tap="chooseDate(dateInfo, dateIndex)">
-				<view class="calendar_date__number">{{ dateInfo.date }}</view>
-				<view class="calendar_date__isToday" v-if="dateInfo.isToday"
-					:style="{ backgroundColor: dateActiveColor }"></view>
-				<view class="calendar_date__cricle"></view>
+					<view class="calendar_date__number">{{ dateInfo.date }}</view>
+					<view class="calendar_date__isToday" v-if="dateInfo.isToday"
+						:style="{ backgroundColor: dateActiveColor }"></view>
+					<view class="calendar_date__cricle"></view>
+				</view>
+
 			</view>
 		</view>
 
@@ -47,9 +49,10 @@
 			}
 		},
 		methods: {
+			//选择时间
 			chooseDate(dateInfo, dateIndex) {
 				this.$emit('chooseDate', dateInfo, dateIndex)
-				console.log('dateInfo',dateInfo);
+				console.log('dateInfo', dateInfo);
 			}
 		}
 	}
@@ -62,6 +65,12 @@
 		flex-wrap: wrap;
 		justify-content: space-between;
 	}
+	
+	.date_box .history{
+		margin: 0 auto;
+		border-radius: 50%;
+		background-color: #ffb783;
+	}
 
 	.date_box .calendar_date__box {
 		width: calc(100% / 7);

+ 9 - 3
subpkg/zsy-calendar/zsy-calendar.vue

@@ -311,13 +311,17 @@
 					}
 				}
 				return calendarDate
-			},
+			},
+			
+			
 			// 判断日期是否为今天
 			theDateIsToday(item) {
 				if (item.year + '-' + item.month + '-' + item.date === this.getAssignDateInfo(true, 0) + '-' + this.getAssignDateInfo(true, 1) + '-' + this.getAssignDateInfo(true, 2)) {
 					item.isToday = true
 				}
-			},
+			},
+			
+			
 			// 初始化收缩时的日历轮播日期信息
 			initCalendarShrinkSwiperDates(swiperChangeType) {
 				let line = null
@@ -367,7 +371,9 @@
 				} else if (this.shrinkCurrent === 2) {
 					this.calendarSwiperShrinkDates = [next, prev, cur]
 				}
-			},
+			},
+			
+			
 			// 生成收缩的日历数据
 			generateShrinkCalendar(type, line) {
 				// 返回当前这一周的日期数据