Jelajahi Sumber

完成作业页面优化,首页优化

KELECHUAN 3 tahun lalu
induk
melakukan
d35e91fa4b

+ 73 - 47
components/todayclass-box/todayclass-box.vue

@@ -2,44 +2,32 @@
 	<!-- 今日课程 -->
 	<!-- 今日课程 -->
 	<!-- 内容 -->
 	<!-- 内容 -->
 	<view>
 	<view>
-		<view class="home-title-text" style="margin: 0 0 20rpx 0;">
-			<view style="display: flex; align-items: center;margin: 0 30rpx 0 auto;">
-				<u-icon name="list-dot" @click="navClass"></u-icon>
-				<view class="msg" style="margin-left: 10rpx;" @click="navClass">查看更多</view>
-			</view>
-		</view>
-
 		<!-- 课程列表 -->
 		<!-- 课程列表 -->
 		<view style="margin-bottom: 20rpx;">
 		<view style="margin-bottom: 20rpx;">
-			<view class="class-block" v-if="classCurrent > 1">
-				<view class="block-title">{{classList[classCurrent-2].name}}</view>
-				<u-tag :text="classList[classCurrent-2].teacher" size="mini" plain shape="circle"></u-tag>
-				<view class="block-subtitle">上节</view>
-				<view class="block-subtitle">{{classList[classCurrent-2].time}}</view>
-				<u-tag text="查看回放" plain icon="hourglass"></u-tag>
-			</view>
-
-			<view class="class-block" style="background-color: #fff;" v-if="classCurrent <= classNum">
-				<view class="block-title" style="color: #3c9cff;">{{classList[classCurrent - 1].name}}</view>
-				<u-tag :text="classList[classCurrent - 1].teacher" size="mini" shape="circle"></u-tag>
-				<view class="block-subtitle" style="color: #3c9cff;">当前</view>
-				<view class="block-subtitle" style="color: #3c9cff;">{{classList[classCurrent - 1].time}}</view>
-				<u-tag text="查看直播" type="error" icon="play-right"></u-tag>
-			</view>
-
-			<view class="class-block" v-if="classCurrent < classNum">
-				<view class="block-title">{{classList[classCurrent].name}}</view>
-				<u-tag :text="classList[classCurrent].teacher" size="mini" plain shape="circle"></u-tag>
-				<view class="block-subtitle">下节</view>
-				<view class="block-subtitle">{{classList[classCurrent].time}}</view>
-				<u-tag text="暂未开始" plain icon="pushpin" type="warning"></u-tag>
-			</view>
+			<view class="detail-image" v-if="state === 'none'" :style="{backgroundImage:`url(${image.none})`}"></view>
+			<view class="detail-image" v-if="state === ''" :style="{backgroundImage:`url(${image.class})`}"></view>
 			
 			
 			
 			
-		</view>
-	</view>
+			<view class="class-block" v-for="(classInfo,classIndex) in homeClassList" :key="classIndex"
+				:style="{backgroundColor: classIndex === 1 ? '#FFF' : ''}">
+				<view class="block-title" :style="{color: classIndex === 1 ? '#3c9cff' : ''}">{{classInfo.name}}</view>
+				<view class="block-tag-box">
+					<view class="block-tag">{{classInfo.teacher}}</view>
+				</view>
+				<view class="block-subtitle" v-if="classIndex === 0 && state != 'none'">上节</view>
+				<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>
+				<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>
+				<u-tag text="暂未开始" plain icon="pushpin" type="warning" v-if="classIndex === 2"></u-tag>
 
 
+			</view>
+		</view>
 
 
+	</view>
 </template>
 </template>
 
 
 <script>
 <script>
@@ -49,7 +37,7 @@
 	export default {
 	export default {
 		name: "todayclass-box",
 		name: "todayclass-box",
 		computed: {
 		computed: {
-			...mapState('m_children', ['classList'])
+			...mapState('m_children', ['classList']),
 		},
 		},
 		props: {
 		props: {
 			classCurrent: {
 			classCurrent: {
@@ -61,30 +49,68 @@
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
-				//课程数量
-				classNum:'',//测试数据最大为6最小为1
-				//倒计时时间
-				dayTimeData: {},
-				classTimeData: {}
+				//展示数据
+				homeClassList: {},
+				//是否展示
+				state: '',
+				image: {
+					none:'https://image.meiye.art/pic_1631411820764Vm5iw82gnV2lVKWRokFmU',
+					class: 'https://image.meiye.art/pic_1631411821366fqhkuMI110LbOlAIdv1SV',
+					
+					}
 			};
 			};
 		},
 		},
+		watch: {
+			classCurrent() {
+				this.getHomeClassList()
+			}
+		},
 		methods: {
 		methods: {
-			navClass() {
-				uni.navigateTo({
-					url: '/subpkg/classmsg/classmsg'
-				})
-			},
-			//获取到课程列表长度
-			getClassNum(){
-				this.classNum = this.classList.length
+			//获取首页课程数据
+			getHomeClassList() {
+				console.log(this.classCurrent);
+				//不在任何一个时间段内
+				if (this.classCurrent === -1) {
+					this.state = 'none'
+					this.homeClassList = [{
+						name: '休息时间',
+						teacher: '孩子自由安排',
+						time: '更多课程点击课程列表查看'
+					}]
+				}
+				//三节完整数据
+				if (this.classCurrent >= 2 && this.classCurrent <= 6) {
+					this.state = ''
+					this.homeClassList = this.classList.slice(this.classCurrent - 2, this.classCurrent + 1)
+				}
+				//数据不足三节
+				if (this.classCurrent === 1) {
+					this.state = ''
+					const arr = [{
+						name: '早读',
+						teacher: '王老师',
+						time: '08:00-08:40'
+					}]
+					arr.push(this.classList[0])
+					arr.push(this.classList[1])
+					this.homeClassList = arr
+				}
 			}
 			}
 		},
 		},
 		created() {
 		created() {
-			this.getClassNum()
+			this.getHomeClassList()
 		}
 		}
 	}
 	}
 </script>
 </script>
 
 
 <style lang="scss">
 <style lang="scss">
 	@import '@/pages/common/blockmsg.scss';
 	@import '@/pages/common/blockmsg.scss';
+	.detail-image{
+		margin-top: -80rpx;
+		width: 100%;
+		height: 450rpx;
+		background-size: 100%;
+		background-repeat: no-repeat;
+		
+	}
 </style>
 </style>

+ 4 - 3
components/todaydata-box/todaydata-box.vue

@@ -133,7 +133,6 @@
 					sleep: [8, 9, 8, 8.5, 7.8, 8, 7.6]
 					sleep: [8, 9, 8, 8.5, 7.8, 8, 7.6]
 				},
 				},
 
 
-
 			};
 			};
 		},
 		},
 		created() {
 		created() {
@@ -238,7 +237,7 @@
 					studyColumn.series[1].data = this.historyData.rest
 					studyColumn.series[1].data = this.historyData.rest
 					break
 					break
 				}
 				}
-				//解除对象指向同一块内存(拷贝)
+				//解除对象指向同一块内存(拷贝)
 				// let studyColumnTemp = JSON.parse(JSON.stringify(studyColumn))
 				// let studyColumnTemp = JSON.parse(JSON.stringify(studyColumn))
 				//存储
 				//存储
 				this.updateStudyColumn(studyColumn)
 				this.updateStudyColumn(studyColumn)
@@ -274,6 +273,8 @@
 				width: 100%;
 				width: 100%;
 				display: flex;
 				display: flex;
 				flex-direction: column;
 				flex-direction: column;
+				justify-content: space-around;
+				height: 160rpx;
 
 
 				.t-icon {
 				.t-icon {
 					width: 250rpx;
 					width: 250rpx;
@@ -287,7 +288,7 @@
 
 
 	.module-item-text {
 	.module-item-text {
 		color: #FFF;
 		color: #FFF;
-		font-size: 28rpx;
+		font-size: 30rpx;
 		font-weight: bold;
 		font-weight: bold;
 		z-index: 5;
 		z-index: 5;
 	}
 	}

+ 0 - 1
gradepkg/ability-chart/ability-chart.vue

@@ -141,7 +141,6 @@
 
 
 <style lang="scss">
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
 	@import '@/gradepkg/common/chartpage.scss';
-	@import '@/gradepkg/common/databox.scss';
 
 
 	.page-box {
 	.page-box {
 		background: linear-gradient($color-green, $page-background-color);
 		background: linear-gradient($color-green, $page-background-color);

+ 115 - 51
gradepkg/common/chartpage.scss

@@ -1,6 +1,69 @@
-.page-box {
-		height: 600rpx;
-		background: linear-gradient(#ff8caf, $page-background-color);
+.page-box {
+		position: relative;
+		border-radius: 50rpx;
+		width: 750rpx;
+		height: 675rpx;
+		//数据分析模块
+		.data-box {
+			display: flex;
+			flex-direction: row;
+			flex-wrap: wrap;
+			margin: 20rpx 20rpx 20rpx 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-weight: bold;
+					color: #FFFFFF;
+					margin: 30rpx 0 0 30rpx;
+				}
+				.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;
+					color: #FFFFFF;
+					font-weight: bold;
+				}
+				.item-number-mini{
+					font-size: 34rpx;
+					margin: 0rpx 0 10rpx 30rpx;
+					color: #FFFFFF;
+					font-weight: bold;
+				}
+				
+				.analysis-box{
+					display: flex;
+					align-items: center;
+					padding: 0 15rpx 15rpx 15rpx;
+					
+					.t-icon {
+						width: 100rpx;
+						height: 100rpx;
+					}
+					.icon-text-item {
+						font-size: 35rpx;
+						font-weight: bold;
+						color: #FFFFFF;
+						margin-left: 20rpx;
+					}
+				}
+			}
+		}
 	.tooltip {
 	.tooltip {
 			height: auto;
 			height: auto;
 			position: absolute;
 			position: absolute;
@@ -13,7 +76,8 @@
 				color: #FFFFFF;
 				color: #FFFFFF;
 				font-weight: bold;
 				font-weight: bold;
 			}
 			}
-		}
+		}
+		//头像区域
 		.children-box {
 		.children-box {
 			display: flex;
 			display: flex;
 			align-items: center;
 			align-items: center;
@@ -45,51 +109,51 @@
 					margin-top: 10rpx;
 					margin-top: 10rpx;
 				}
 				}
 			}
 			}
+		}
+		//图表区域
+		.chart-container {
+			margin: 20rpx;
+			border-radius: $card-border-radius;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			flex-direction: column;
+			background-color: #FFFFFF;
+			overflow: hidden;
+		
+			.chart-name {
+				width: 100%;
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				margin-left: 40rpx;
+				margin-top: 20rpx;
+		
+				.chart-name-text {
+					font-size: 30rpx;
+					font-weight: bold;
+					color: $color-title;
+					margin-left: 15rpx;
+				}
+		
+				.btn-box {
+					display: flex;
+					align-items: center;
+					margin-left: auto;
+					margin-right: 50rpx;
+					border-radius: $card-border-radius;
+					.btn {
+						margin-right: 10rpx;
+						line-height: 60rpx;
+						color: $color-title;
+						font-size: 28rpx;
+					}
+				}
+			}
+		
+			.charts-box {
+				width: 100%;
+				height: 550rpx;
+			}
 		}
 		}
-
-		.chart-container {
-			margin: 20rpx;
-			border-radius: $card-border-radius;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex-direction: column;
-			background-color: #FFFFFF;
-			overflow: hidden;
-
-			.chart-name {
-				width: 100%;
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				margin-left: 40rpx;
-				margin-top: 20rpx;
-
-				.chart-name-text {
-					font-size: 30rpx;
-					font-weight: bold;
-					color: $color-title;
-					margin-left: 15rpx;
-				}
-
-				.btn-box {
-					display: flex;
-					align-items: center;
-					margin-left: auto;
-					margin-right: 50rpx;
-					border-radius: $card-border-radius;
-					.btn {
-						margin-right: 10rpx;
-						line-height: 60rpx;
-						color: $color-title;
-						font-size: 28rpx;
-					}
-				}
-			}
-
-			.charts-box {
-				width: 100%;
-				height: 550rpx;
-			}
-		}
-	}
+	}

+ 0 - 62
gradepkg/common/databox.scss

@@ -1,62 +0,0 @@
-	.data-box {
-		display: flex;
-		flex-direction: row;
-		flex-wrap: wrap;
-		margin: 40rpx 20rpx 0 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-weight: bold;
-				color: #FFFFFF;
-				margin: 30rpx 0 0 30rpx;
-			}
-			.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;
-				color: #FFFFFF;
-				font-weight: bold;
-			}
-			.item-number-mini{
-				font-size: 34rpx;
-				margin: 0rpx 0 10rpx 30rpx;
-				color: #FFFFFF;
-				font-weight: bold;
-			}
-			
-			.analysis-box{
-				display: flex;
-				align-items: center;
-				padding: 0 15rpx 15rpx 15rpx;
-				
-				.t-icon {
-					width: 100rpx;
-					height: 100rpx;
-				}
-				.icon-text-item {
-					font-size: 35rpx;
-					font-weight: bold;
-					color: #FFFFFF;
-					margin-left: 20rpx;
-				}
-			}
-		}
-	}
-
-	

+ 0 - 1
gradepkg/rank-chart/rank-chart.vue

@@ -61,7 +61,6 @@
 
 
 <style lang="scss">
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
 	@import '@/gradepkg/common/chartpage.scss';
-	@import '@/gradepkg/common/databox.scss';
 
 
 	.page-box {
 	.page-box {
 		background: linear-gradient($color-pink, $page-background-color);
 		background: linear-gradient($color-pink, $page-background-color);

+ 110 - 117
gradepkg/single-chart/single-chart.vue

@@ -1,118 +1,111 @@
-<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-bind:style="{background: gradeData.recentTestChart.recentRank.series[0].color}">
-				<view class="item-text">本次考试超过年级中:</view>
-				<view class="item-number">{{gradeData.recentTestChart.recentRank.series[0].data/0.01}}% 同学</view>
-				<view class="analysis-box">
-					<view v-if="gradeData.recentTestChart.recentRank.series[0].data<0.4"
-						class="t-icon t-icon-jiangbei-20"></view>
-					<view
-						v-if="gradeData.recentTestChart.recentRank.series[0].data>=0.4 && gradeData.recentTestChart.recentRank.series[0].data<0.7"
-						class="t-icon t-icon-jiangbei-19"></view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[0].data>=0.7"
-						class="t-icon t-icon-jiangbei-18"></view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[0].data<0.4" class="icon-text-item">要加把劲!
-					</view>
-					<view
-						v-if="gradeData.recentTestChart.recentRank.series[0].data>=0.4 && gradeData.recentTestChart.recentRank.series[0].data<0.7"
-						class="icon-text-item">再接再厉!</view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[0].data>=0.7" class="icon-text-item">
-						非常优秀!</view>
-				</view>
-			</view>
-		
-			<view class="data-box-item"
-				v-bind:style="{background: gradeData.recentTestChart.recentRank.series[1].color}">
-				<view class="item-text">本次考试超过班级中:</view>
-				<view class="item-number">{{gradeData.recentTestChart.recentRank.series[1].data/0.01}}% 同学</view>
-				<view class="analysis-box">
-					<view v-if="gradeData.recentTestChart.recentRank.series[1].data<0.4"
-						class="t-icon t-icon-jiangbei-20"></view>
-					<view
-						v-if="gradeData.recentTestChart.recentRank.series[1].data>=0.4 && gradeData.recentTestChart.recentRank.series[1].data<0.7"
-						class="t-icon t-icon-jiangbei-19"></view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[1].data>=0.7"
-						class="t-icon t-icon-jiangbei-18"></view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[1].data<0.4" class="icon-text-item">还需提升!
-					</view>
-					<view
-						v-if="gradeData.recentTestChart.recentRank.series[1].data>=0.4 && gradeData.recentTestChart.recentRank.series[1].data<0.7"
-						class="icon-text-item">继续努力!</view>
-					<view v-if="gradeData.recentTestChart.recentRank.series[1].data>=0.7" class="icon-text-item">
-						格外出色!</view>
-				</view>
-			</view>
-		</view>
-		
-		
-		<!-- 图表列表 -->
-		<!-- 近期成绩对比自身 -->
-		<view class="chart-container">
-			<view class="chart-name">
-				<view class="t-icon t-icon-castle"></view>
-				<text class="chart-name-text">近期成绩对比</text>
-			</view>
-			<view class="charts-box">
-				<qiun-data-charts type="column" :chartData="gradeData.recentTestChart.recentComparison"
-					:loadingType="4" tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId19998"/>
-			</view>
-		</view>
-		<!-- 单次排行分析 -->
-		<view class="chart-container">
-			<view class="chart-name">
-				<view class="t-icon t-icon-waterfall"></view>
-				<text class="chart-name-text">近期排行占比分析</text>
-			</view>
-			<view class="charts-box" style="margin: 20rpx 0 -20rpx 0;">
-				<qiun-data-charts type="arcbar" :chartData="gradeData.recentTestChart.recentRank" :loadingType="4"
-					tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId312412"/>
-			</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';
-	@import '@/gradepkg/common/databox.scss';
-
-	.page-box {
-		background: linear-gradient($color-yellow, $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/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>
+					<view v-if="item.data>=0.7" class="t-icon t-icon-jiangbei-3"></view>
+					<view v-if="item.data<0.4" class="icon-text-item">要加把劲!</view>
+					<view v-if="item.data>=0.4 && item.data<0.7" class="icon-text-item">再接再厉!</view>
+					<view v-if="item.data>=0.7" class="icon-text-item">非常优秀!</view>
+				</view>
+			</view>
+		</view>
+
+
+		<!-- 图表列表 -->
+		<!-- 近期成绩对比自身 -->
+		<view class="chart-container">
+			<view class="chart-name">
+				<view class="t-icon t-icon-castle"></view>
+				<text class="chart-name-text">近期成绩对比</text>
+			</view>
+			<view class="charts-box">
+				<qiun-data-charts type="column" :chartData="gradeData.recentTestChart.recentComparison" :loadingType="4"
+					tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId19998" />
+			</view>
+		</view>
+		<!-- 单次排行分析 -->
+		<view class="chart-container">
+			<view class="chart-name">
+				<view class="t-icon t-icon-waterfall"></view>
+				<text class="chart-name-text">近期排行占比分析</text>
+			</view>
+			<view class="charts-box" style="margin: 20rpx 0 -20rpx 0;">
+				<qiun-data-charts type="arcbar" :chartData="gradeData.recentTestChart.recentRank" :loadingType="4"
+					tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId312412" />
+			</view>
+		</view>
+
+
+
+	</view>
+</template>
+
+<script>
+	import {
+		mapState
+	} from 'vuex'
+
+	export default {
+		computed: {
+			...mapState('m_children', ['childreninfo']),
+			...mapState('m_chart', ['gradeData'])
+		},
+
+		data() {
+			return {
+				//分析模块数据
+				analysisData:
+				[{
+					title: '本次考试超过年级中:',
+					data: '',
+					color: '',
+				},{
+					title: '本次考试超过班级中:',
+					data: '',
+					color: '',
+				}],
+				
+				
+			};
+		},
+		methods: {
+			getData(){
+				this.analysisData[0].data = 
+				this.gradeData.recentTestChart.recentRank.series[0].data
+				this.analysisData[1].data = 
+				this.gradeData.recentTestChart.recentRank.series[1].data
+				this.analysisData[0].color = 
+				this.gradeData.recentTestChart.recentRank.series[0].color
+				this.analysisData[1].color = 
+				this.gradeData.recentTestChart.recentRank.series[1].color
+			}
+		},
+		onLoad() {
+			this.getData()
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/gradepkg/common/chartpage.scss';
+
+	.page-box {
+		background: $color-yellow;
+	}
 </style>
 </style>

+ 0 - 1
gradepkg/subject-chart/subject-chart.vue

@@ -113,7 +113,6 @@
 
 
 <style lang="scss">
 <style lang="scss">
 	@import '@/gradepkg/common/chartpage.scss';
 	@import '@/gradepkg/common/chartpage.scss';
-	@import '@/gradepkg/common/databox.scss';
 
 
 	.page-box {
 	.page-box {
 		background: linear-gradient(#a5c6ff, $page-background-color);
 		background: linear-gradient(#a5c6ff, $page-background-color);

+ 6 - 6
information/children.js

@@ -19,32 +19,32 @@ export default{
 					name: '语文',
 					name: '语文',
 					teacher: '王老师',
 					teacher: '王老师',
 					time: '09:00-09:50',
 					time: '09:00-09:50',
-					timeFrame: '上午'
+					timeFrame: '上午第一节'
 				},{
 				},{
 					name: '数学',
 					name: '数学',
 					teacher: '李老师',
 					teacher: '李老师',
 					time: '10:00-10:50',
 					time: '10:00-10:50',
-					timeFrame: '上午'
+					timeFrame: '上午第二节'
 				},{
 				},{
 					name: '外语',
 					name: '外语',
 					teacher: '张老师',
 					teacher: '张老师',
 					time: '11:00-11:50',
 					time: '11:00-11:50',
-					timeFrame: '上午'
+					timeFrame: '上午第三节'
 				},{
 				},{
 					name: '思品',
 					name: '思品',
 					teacher: '史老师',
 					teacher: '史老师',
 					time: '14:00-14:50',
 					time: '14:00-14:50',
-					timeFrame: '下午'
+					timeFrame: '下午第一节'
 				},{
 				},{
 					name: '体育',
 					name: '体育',
 					teacher: '李老师',
 					teacher: '李老师',
 					time: '15:00-15:50',
 					time: '15:00-15:50',
-					timeFrame: '下午'
+					timeFrame: '下午第二节'
 				},{
 				},{
 					name: '科学',
 					name: '科学',
 					teacher: '张老师',
 					teacher: '张老师',
 					time: '16:00-16:50',
 					time: '16:00-16:50',
-					timeFrame: '上午'
+					timeFrame: '上午第三节'
 				}],
 				}],
 		
 		
 	}),
 	}),

+ 2 - 1
pages/common/mainpage.scss

@@ -27,7 +27,8 @@
 				.card-info {
 				.card-info {
 					display: flex;
 					display: flex;
 					align-items: center;
 					align-items: center;
-					padding: 20rpx;
+					padding: 20rpx;
+					z-index: 3;
 
 
 					.info-text {
 					.info-text {
 						font-size: 30rpx;
 						font-size: 30rpx;

+ 19 - 5
pages/home/home.vue

@@ -12,11 +12,17 @@
 
 
 			<!-- 今日课程 -->
 			<!-- 今日课程 -->
 			<view class="card-item" style="width: 100%;">
 			<view class="card-item" style="width: 100%;">
-				<view class="card-info" style="padding-bottom: 5rpx;">
+				<view class="card-info" style="padding-bottom: 30rpx;">
 					<view :class="icon.class"></view>
 					<view :class="icon.class"></view>
 					<text class="info-text">今日课程</text>
 					<text class="info-text">今日课程</text>
+					<view style="display: flex; align-items: center;margin: 0 20rpx 0 auto;">
+						<u-icon name="list-dot" @click="navClass"></u-icon>
+						<view class="msg" style="margin-left: 10rpx;" @click="navClass">课程列表</view>
+
+					</view>
+
 				</view>
 				</view>
-				<todayclass-box :classCurrent="classIndex"></todayclass-box>
+				<todayclass-box :classCurrent="classCurrent"></todayclass-box>
 			</view>
 			</view>
 
 
 			<!-- 今日打卡 -->
 			<!-- 今日打卡 -->
@@ -103,7 +109,7 @@
 				//滚动通知
 				//滚动通知
 				noticeMsg: '',
 				noticeMsg: '',
 				//当前课程索引
 				//当前课程索引
-				classIndex: '',
+				classCurrent: '',
 				//首页数据
 				//首页数据
 				homeData: {
 				homeData: {
 					//出勤状况
 					//出勤状况
@@ -185,11 +191,14 @@
 					}
 					}
 					i++
 					i++
 				}
 				}
-				this.classIndex = i
+				if (i > this.classList.length) {
+					i = -1
+				}
+				this.classCurrent = i
 				i = 0
 				i = 0
 			},
 			},
 			//处理打卡时间
 			//处理打卡时间
-			getAttendanceTimeAfter(){
+			getAttendanceTimeAfter() {
 				this.homeData.attendanceTimeAfter = this.homeData.attendanceTime.split(':')
 				this.homeData.attendanceTimeAfter = this.homeData.attendanceTime.split(':')
 			},
 			},
 			navHomework(index) {
 			navHomework(index) {
@@ -202,6 +211,11 @@
 					url: '/subpkg/calendarmsg/calendarmsg'
 					url: '/subpkg/calendarmsg/calendarmsg'
 				})
 				})
 			},
 			},
+			navClass() {
+				uni.navigateTo({
+					url: '/subpkg/classmsg/classmsg'
+				})
+			},
 			//设置圆环图描述更新
 			//设置圆环图描述更新
 			setOpts() {
 			setOpts() {
 				//圆环图标题和副标题动态变化
 				//圆环图标题和副标题动态变化

+ 20 - 24
pages/homework/homework.vue

@@ -15,17 +15,17 @@
 				<view class="card" :style="{backgroundColor: `${item.color}`}">
 				<view class="card" :style="{backgroundColor: `${item.color}`}">
 					<view class="box">
 					<view class="box">
 						<view class="flex">
 						<view class="flex">
-							<text class="card-title">{{item.title}}</text>
+							<text class="card-title">今日{{item.name}}数:</text>
 							<text class="card-title" style="margin-left: 20rpx;">{{item.detail.data.length}}</text>
 							<text class="card-title" style="margin-left: 20rpx;">{{item.detail.data.length}}</text>
 						</view>
 						</view>
-						<view class="box" style="margin-top: 20rpx;">
+						<view class="box" style="margin: 10rpx 0 0 0;">
 							<view class="flex">
 							<view class="flex">
-								<text class="card-subtitle">{{item.subtitle}}</text>
+								<text class="card-subtitle">{{item.name}}完成数量:</text>
 								<text class="card-subtitle"
 								<text class="card-subtitle"
 									style="margin-left: 20rpx;">{{item.detail.finishData.length}}</text>
 									style="margin-left: 20rpx;">{{item.detail.finishData.length}}</text>
 							</view>
 							</view>
 							<view class="flex">
 							<view class="flex">
-								<text class="card-subtitle">完成情况: </text>
+								<text class="card-subtitle">{{item.name}}完成情况: </text>
 								<text class="card-subtitle" style="margin-left: 20rpx;">{{item.level}}</text>
 								<text class="card-subtitle" style="margin-left: 20rpx;">{{item.level}}</text>
 							</view>
 							</view>
 						</view>
 						</view>
@@ -119,7 +119,7 @@
 	} from 'vuex'
 	} from 'vuex'
 	export default {
 	export default {
 		computed: {
 		computed: {
-			...mapState('m_chart', ['homeworkData', 'todayData']),
+			...mapState('m_chart', ['homeworkData']),
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
@@ -137,11 +137,10 @@
 				timeStamp: '',
 				timeStamp: '',
 				//卡片内容
 				//卡片内容
 				card: [{
 				card: [{
-					title: '今日评测数:',
-					subtitle: '评测已完成:',
+					name: '评测',
 					level: '良好',
 					level: '良好',
 					color: '#0080ff;',
 					color: '#0080ff;',
-					image: 'https://ouch-cdn2.icons8.com/gpV8ZT40juL5H5uR0cv7ptJaV0vbUu64ANLmkch6cr4/rs:fit:1289:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvNTE3/L2M0Zjg4MDUzLTMx/ZDUtNDlhZS05M2Nj/LWU4YWM3YTNjODAx/My5zdmc.png',
+					image: 'https://ouch-cdn2.icons8.com/yFl5NWU3aVehLBlQf9ctvnZPqtm5U0hqM3IzWvFDCaQ/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvNzY5/LzY1ZTQxZmZjLTg1/YWQtNDYyMi1hYzU0/LWQ3NDEzZmY2NGI1/YS5wbmc.png',
 					detail: {
 					detail: {
 						nav: '评测信息',
 						nav: '评测信息',
 						title: '评测列表',
 						title: '评测列表',
@@ -191,11 +190,10 @@
 						}]
 						}]
 					}
 					}
 				}, {
 				}, {
-					title: '今日作业数:',
-					subtitle: '作业已完成:',
-					level: '完美',
+					name: '作业',
+					level: '优秀',
 					color: '#ff8caf;',
 					color: '#ff8caf;',
-					image: 'https://ouch-cdn2.icons8.com/XuAMXajgkDqsOY7cp6uY1LQivtTxahNZjWM1Qk2bfoY/rs:fit:1216:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvMzE4/LzdjYTU2NDM4LTc4/MTktNDVhNi1hMjZh/LTMyZWE5NDE4YzI5/My5zdmc.png',
+					image: 'https://ouch-cdn2.icons8.com/AVOwJ9emg_ZOeHvQaunQAZlgeLsG-b1cGhiYvgoJ06g/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvNTAw/LzI5YjU1YWQ4LWMw/YTEtNDE1MS1iYmQw/LWIyMDdhYmRkOTE0/Mi5wbmc.png',
 					detail: {
 					detail: {
 						nav: '作业信息',
 						nav: '作业信息',
 						title: '作业列表',
 						title: '作业列表',
@@ -234,11 +232,10 @@
 						}]
 						}]
 					}
 					}
 				}, {
 				}, {
-					title: '今日活动数:',
-					subtitle: '活动已完成:',
+					name: '活动',
 					level: '优秀',
 					level: '优秀',
 					color: '#f9c752;',
 					color: '#f9c752;',
-					image: 'https://ouch-cdn2.icons8.com/xrmiKHmKAqKegMFWYXXUHk6mqTXXTqoU0wsTFULoboQ/rs:fit:1002:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvNzcy/LzczYWVmZjhkLTk4/N2ItNDI2Ny04NmNk/LTA1NTI4YjhiMTIw/Ni5zdmc.png',
+					image: 'https://ouch-cdn2.icons8.com/_4A1w0L4Q9HE-2zatixwLLnowvI6Qkocg9-XZtFiWI4/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvNzcx/L2M5ZjhlMjg1LTMx/YTItNDdiMC1hNzkx/LTA3ZmQ3NTU1NWFh/MC5wbmc.png',
 					detail: {
 					detail: {
 						nav: '活动信息',
 						nav: '活动信息',
 						title: '活动列表',
 						title: '活动列表',
@@ -358,9 +355,8 @@
 				temp.series[0].data = this.historyData.activity
 				temp.series[0].data = this.historyData.activity
 				let activityDataTemp = JSON.parse(JSON.stringify(temp))
 				let activityDataTemp = JSON.parse(JSON.stringify(temp))
 				this.updateActivityColumn(activityDataTemp)
 				this.updateActivityColumn(activityDataTemp)
-
 			}
 			}
-
+			
 		}
 		}
 	}
 	}
 </script>
 </script>
@@ -387,13 +383,13 @@
 			border-radius: $card-border-radius;
 			border-radius: $card-border-radius;
 
 
 			.card-title {
 			.card-title {
-				font-size: 45rpx;
+				font-size: 48rpx;
 				font-weight: bold;
 				font-weight: bold;
 				color: #FFF;
 				color: #FFF;
 			}
 			}
 
 
 			.card-subtitle {
 			.card-subtitle {
-				font-size: 28rpx;
+				font-size: 30rpx;
 				color: #FFF;
 				color: #FFF;
 			}
 			}
 
 
@@ -407,22 +403,21 @@
 
 
 			.image {
 			.image {
 				position: relative;
 				position: relative;
-				top: -40rpx;
+				top: -30rpx;
 				right: -30rpx;
 				right: -30rpx;
 				height: 300rpx;
 				height: 300rpx;
 				width: 300rpx;
 				width: 300rpx;
-				background-size: contain;
+				background-size: 100%;
 				background-repeat: no-repeat;
 				background-repeat: no-repeat;
 				z-index: 2;
 				z-index: 2;
 			}
 			}
 		}
 		}
-
 		//头部卡片
 		//头部卡片
 		.box {
 		.box {
 			display: flex;
 			display: flex;
 			flex-direction: column;
 			flex-direction: column;
-			justify-content: center;
-			margin-left: 20rpx;
+			justify-content: space-around;
+			margin: 25rpx 0;
 		}
 		}
 
 
 		//中间标题
 		//中间标题
@@ -478,5 +473,6 @@
 	.flex {
 	.flex {
 		display: flex;
 		display: flex;
 		align-items: center;
 		align-items: center;
+		margin-left: 20rpx;
 	}
 	}
 </style>
 </style>

TEMPAT SAMPAH
static/image/guid.png


+ 1 - 1
subpkg/guide/guide.vue

@@ -29,7 +29,7 @@
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
-				image: '/static/image/guid.png'
+				image: 'https://image.meiye.art/pic_1631411821366jJzYRG2jdJOxwXZk_jz7o'
 			};
 			};
 		},
 		},
 		methods: {
 		methods: {

+ 14 - 14
subpkg/zsy-calendar/dateBox.vue

@@ -2,21 +2,23 @@
 	<!-- 日期显示 -->
 	<!-- 日期显示 -->
 	<view class="date_box">
 	<view class="date_box">
 		<view v-for="(dateInfo, dateIndex) in dates" :key="dateIndex" class="calendar_date__box">
 		<view v-for="(dateInfo, dateIndex) in dates" :key="dateIndex" class="calendar_date__box">
-			<!-- <view class="attendance_box" :style="{backgroundColor: dateAttendanceColor}"> -->
-				<view class="calendar_date" :class="{ isSelected: dateInfo.isSelected }" :style="{
+			<view class="">
+				
+			</view>
+			<view class="calendar_date" :class="{ isSelected: dateInfo.isSelected }" :style="{
 						height: cellHeight + 'rpx',
 						height: cellHeight + 'rpx',
 						width: cellHeight + 'rpx',
 						width: cellHeight + 'rpx',
 						color: swiperMode === 'open' ? dateInfo.type === 'cur' ? '#2C2C2C' : '#959595' : '#2C2C2C',
 						color: swiperMode === 'open' ? dateInfo.type === 'cur' ? '#2C2C2C' : '#959595' : '#2C2C2C',
 						backgroundColor: dateInfo.isSelected ? dateActiveColor : ''
 						backgroundColor: dateInfo.isSelected ? dateActiveColor : ''
 					}" @tap="chooseDate(dateInfo, dateIndex)">
 					}" @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>
-			<!-- </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>
+
+	</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -24,14 +26,14 @@
 	export default {
 	export default {
 		props: {
 		props: {
 			dates: {
 			dates: {
-				type: Array,
+				type: Array, //日期列表
 				default: []
 				default: []
 			},
 			},
 			cellHeight: { // 一列的高度
 			cellHeight: { // 一列的高度
 				type: Number,
 				type: Number,
 				default: 75
 				default: 75
 			},
 			},
-			dateAttendanceColor: {
+			dateAttendanceColor: { // 完成打卡颜色
 				type: String,
 				type: String,
 				default: '#89d0ff'
 				default: '#89d0ff'
 			},
 			},
@@ -47,6 +49,7 @@
 		methods: {
 		methods: {
 			chooseDate(dateInfo, dateIndex) {
 			chooseDate(dateInfo, dateIndex) {
 				this.$emit('chooseDate', dateInfo, dateIndex)
 				this.$emit('chooseDate', dateInfo, dateIndex)
+				console.log('dateInfo',dateInfo);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -64,9 +67,6 @@
 		width: calc(100% / 7);
 		width: calc(100% / 7);
 		margin-top: 20rpx;
 		margin-top: 20rpx;
 	}
 	}
-	.date_box .attendance_box{
-		border-radius: 50%;
-	}
 
 
 	.calendar_date__box .calendar_date {
 	.calendar_date__box .calendar_date {
 		text-align: center;
 		text-align: center;

+ 15 - 1
subpkg/zsy-calendar/zsy-calendar.vue

@@ -212,7 +212,8 @@
 				// 解决swiperMode初始化为收缩时没有初始化日历收缩轮播日期信息
 				// 解决swiperMode初始化为收缩时没有初始化日历收缩轮播日期信息
 				if (this.swiperMode === 'close') {
 				if (this.swiperMode === 'close') {
 					this.initCalendarShrinkSwiperDates()
 					this.initCalendarShrinkSwiperDates()
-				}
+				}
+				this.initAttendanceList() //获取打卡列表
 			},
 			},
 			// 初始化周数
 			// 初始化周数
 			initWeek() {
 			initWeek() {
@@ -535,6 +536,19 @@
 					date
 					date
 				}
 				}
 				this.$emit('change', e)
 				this.$emit('change', e)
+			},
+			//获得打卡数组
+			initAttendanceList(){
+				// const AttendanceList = await uni.$http.get('')
+				const AttendanceList = [{
+					year: '2022',
+					month: '3',
+					date: '30'
+				},{
+					year: '2022',
+					month: '3',
+					date: '29'
+				}]
 			}
 			}
 		}
 		}
 	}
 	}

+ 2 - 1
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js

@@ -121,7 +121,8 @@ const cfu = {
 			return category + ' ' + item.name + ': ' + item.data + ' % '
 			return category + ' ' + item.name + ': ' + item.data + ' % '
 		},
 		},
 		"HomeworkPercent": function(item, category, index, opts) {
 		"HomeworkPercent": function(item, category, index, opts) {
-			return category + ' ' + item.name + '第'+(index+1)+'天: ' + item.data + ' % '
+			let value = item.data >= 50? (item.data >= 80? '优秀' : '良好') : '一般'
+			return category + ' ' + item.name + '完成情况:' + value+ ' ' + item.data + ' % '
 		},
 		},
 		"tooltipHour": function(item, category, index, opts) {
 		"tooltipHour": function(item, category, index, opts) {
 			return item.name + ': ' + item.data + ' 小时 '
 			return item.name + ': ' + item.data + ' 小时 '