Ver código fonte

update:视频列表,活动详情

KELECHUAN 3 anos atrás
pai
commit
869c84ee75

BIN
.vs/slnx.sqlite


+ 4 - 4
components/interactive-box/interactive-box.vue

@@ -15,13 +15,13 @@
 						
 						<view style="display: flex;align-items: baseline;" v-if="item.numData === '记录一下'">
 							<text class="module-item-num">记录</text>
-							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;">今日时长</text>
+							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;margin-left: 6rpx">今日时长</text>
 						</view>
 						<view style="display: flex;align-items: baseline;" v-else>
 							<text class="module-item-num">{{item.numData.split('小时')[0]}}</text>
-							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;">小时</text>
-							<text class="module-item-num">{{item.numData.split('小时')[1].replace('分','')}}</text>
-							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;">分钟</text>
+							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;margin-left: 6rpx">小时</text>
+							<text class="module-item-num" style="margin-left: 6rpx">{{item.numData.split('小时')[1].replace('分','')}}</text>
+							<text class="module-item-num" style="font-size: 30rpx;opacity:0.8;margin-left: 6rpx">分钟</text>
 						</view>
 					</view>
 					<view :class="item.icon"></view>

+ 27 - 9
components/todayclass-box/todayclass-box.vue

@@ -15,7 +15,7 @@
 					<view class="block-subtitle">休息时间</view>
 					<view style="display: flex; align-items: center;" @click="navClass">
 						<view class="t-icon t-icon-fenlei" style="width: 40rpx;height: 40rpx;"></view>
-						<view style="font-size: 30rpx;color: #4169E1;">课程列表</view>
+						<view style="font-size: 30rpx;color: #4169E1;margin-left: 10rpx;">课程列表</view>
 					</view>
 
 				</view>
@@ -30,7 +30,9 @@
 					</view>
 					<view class="block-subtitle">更早</view>
 					<view class="block-title">{{classList[classCurrent-3].time}}</view>
-					<view class="t-icon t-icon-sheying" @click="navVideoBefore(classCurrent-3)"></view>
+					<view class="btn" @click="navVideoBefore(classCurrent-3)">
+						<view class="t-icon t-icon-bofang3"></view>
+					</view>
 				</view>
 				<!-- 上节 -->
 				<view class="class-block" v-if="classCurrent >= 2">
@@ -40,7 +42,9 @@
 					</view>
 					<view class="block-subtitle">上节</view>
 					<view class="block-title">{{classList[classCurrent-2].time}}</view>
-					<view class="t-icon t-icon-sheying" @click="navVideoBefore(classCurrent-2)"></view>
+					<view class="btn" @click="navVideoBefore(classCurrent-2)">
+						<view class="t-icon t-icon-bofang3"></view>
+					</view>
 				</view>
 				<!-- 当前 -->
 				<view class="class-block" style="background-color: #FFF;">
@@ -50,7 +54,9 @@
 					</view>
 					<view class="block-index">当前</view>
 					<view class="block-title" style="color: #4169E1;">{{classList[classCurrent-1].time}}</view>
-					<view class="t-icon t-icon-shipinsheying" @click="navVideoNow(classCurrent-1)"></view>
+					<view class="btn" style="background-color: #ff5959" @click="navVideoNow(classCurrent-1)">
+						<view class="t-icon t-icon-zhibo"></view>
+					</view>
 				</view>
 				<!-- 下节 -->
 				<view class="class-block" v-if="!(classCurrent === classList.length)">
@@ -60,7 +66,9 @@
 					</view>
 					<view class="block-subtitle">下节</view>
 					<view class="block-title">{{classList[classCurrent].time}}</view>
-					<view class="t-icon t-icon-tonggao" style="width: 64rpx;height: 64rpx;margin-right: 18rpx;"></view>
+					<view class="btn" style="background-color: #aaaaaa">
+						<view class="t-icon t-icon-daojishi"></view>
+					</view>
 				</view>
 				<!-- 下下节 -->
 				<view class="class-block" v-if="classCurrent === 1">
@@ -70,7 +78,9 @@
 					</view>
 					<view class="block-subtitle">更晚</view>
 					<view class="block-title">{{classList[classCurrent+1].time}}</view>
-					<view class="t-icon t-icon-tonggao" style="width: 62rpx;height: 62rpx;margin-right: 18rpx;"></view>
+					<view class="btn" style="background-color: #aaaaaa">
+						<view class="t-icon t-icon-daojishi"></view>
+					</view>
 				</view>
 			</view>
 
@@ -154,8 +164,16 @@
 	}
 
 	.t-icon {
-		width: 70rpx;
-		height: 70rpx;
-		margin-right:10rpx;
+		width: 46rpx;
+		height: 46rpx;
+	}
+	.btn{
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		background-color: $color-green;
+		width: 100rpx;
+		height: 60rpx;
+		border-radius: 8rpx;
 	}
 </style>

+ 4 - 4
gradepkg/ability-chart/ability-chart.vue

@@ -21,8 +21,8 @@
 				</view>
 				
 				<view class="module-item-box">
-					<view v-if="mainExamUndulate>=quizExamUndulate" class="t-icon t-icon-a-bianzu7"></view>
-					<view v-if="mainExamUndulate<quizExamUndulate" class="t-icon t-icon-a-bianzu6"></view>
+					<view v-if="mainExamUndulate>=quizExamUndulate" class="t-icon t-icon-a-bianzu7" style="opacity:0.85;"></view>
+					<view v-if="mainExamUndulate<quizExamUndulate" class="t-icon t-icon-a-bianzu6" style="opacity:0.85;"></view>
 				</view>
 			</view>
 
@@ -36,8 +36,8 @@
 				</view>
 				
 				<view class="module-item-box">
-					<view v-if="avgMain<avgquiz" class="t-icon t-icon-a-bianzu7"></view>
-					<view v-if="avgMain>=avgquiz" class="t-icon t-icon-a-bianzu6"></view>
+					<view v-if="avgMain<avgquiz" class="t-icon t-icon-a-bianzu7" style="opacity:0.85;"></view>
+					<view v-if="avgMain>=avgquiz" class="t-icon t-icon-a-bianzu6" style="opacity:0.85;"></view>
 				</view>
 			</view>
 		</view>

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

@@ -173,7 +173,6 @@
 			},
 			//取消picker
 			pickerCancel() {
-				uni.$showMsg('取消选择', 1000)
 				this.setSubjectPicker = false
 				this.switchScoreTypePicker = false
 			},

+ 2 - 7
gradepkg/rank-chart/rank-chart.vue

@@ -22,7 +22,7 @@
 				</view>
 				
 				<view class="module-item-box">
-					<view :class="item.data>=40?(item.data>=70?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'"></view>
+					<view :class="item.data>=40?(item.data>=70?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'" style="opacity:0.85;"></view>
 				</view>
 			</view>
 		</view>
@@ -57,7 +57,7 @@
 		</view>
 		
 		<!-- 科目选择 -->
-		<u-picker :show="setSubjectPicker" :columns="subjectList" @confirm="pickerConfirm" @cancel="pickerCancel"
+		<u-picker :show="setSubjectPicker" :columns="subjectList" @confirm="pickerConfirm" @cancel="setSubjectPicker = false"
 			:closeOnClickOverlay="true" :immediateChange="true">
 		</u-picker>
 	</view>
@@ -136,11 +136,6 @@
 				uni.$showMsg('切换完成', 1000)
 				this.setSubjectPicker = false
 			},
-			//取消picker
-			pickerCancel() {
-				uni.$showMsg('取消选择', 1000)
-				this.setSubjectPicker = false
-			},
 			//获得分析模块数据
 			getData() {
 				//学期平均排行占比

+ 1 - 1
gradepkg/single-chart/single-chart.vue

@@ -22,7 +22,7 @@
 				</view>
 				
 				<view class="module-item-box">
-					<view :class="item.data>=0.4?(item.data>=0.7?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'"></view>
+					<view :class="item.data>=0.4?(item.data>=0.7?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'" style="opacity:0.85;"></view>
 				</view>
 			</view>
 		</view>

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

@@ -20,7 +20,7 @@
 					</view>
 				
 				<view class="module-item-box">
-					<view :class="item.data.value>=40?(item.data.value>=70?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'"></view>
+					<view :class="item.data.value>=40?(item.data.value>=70?'t-icon t-icon-a-bianzu6':'t-icon t-icon-a-bianzu7'): 't-icon t-icon-a-bianzu8'" style="opacity:0.85;"></view>
 				</view>
 			</view>
 		</view>

+ 1 - 1
subpkg/classlist/classlist.vue

@@ -13,7 +13,7 @@
 					<view class="msg">课程数:</view>
 					<view class="card-content">{{classList.length}}</view>
 					<view style="display: flex; align-items: center; margin-left: auto; margin-right: 30rpx;">
-						<view class="t-icon t-icon-time-square-svgrepo-com"></view>
+						<view class="t-icon t-icon-yuyue-lishi-shijian"></view>
 						<view class="msg" style="margin-left: 10rpx;">{{today}}</view>
 						<view class="msg" style="margin-left: 10rpx;">{{week}}</view>
 					</view>

+ 91 - 0
subpkg/common/detaillistpage.scss

@@ -0,0 +1,91 @@
+.detail-box {
+		margin: -30rpx 20rpx 20rpx 20rpx;
+
+		.detail-item {
+			display: flex;
+			flex-direction: column;
+			border-radius: $card-border-radius;
+			margin-bottom: 20rpx;
+			background-color: #fff;
+			padding: 20rpx;
+				.index{
+					height: 36rpx;
+					width: 10rpx;
+					border-radius: 100rpx;
+					margin-left: -5rpx;
+				}
+				.name {
+					font-size: 36rpx;
+					line-height: 36rpx;
+					font-weight: bold;
+					margin-left: 15rpx;
+					margin-bottom: 4rpx;
+				}
+			}
+
+		.content-box {
+			display: flex;
+			flex-direction: column;
+
+			.subtitle {
+				font-size: 26rpx;
+				color: $color-subtitle;
+			}
+			.subtitle-info{
+				font-size: 30rpx;
+				font-weight: bold;
+				color: $color-title;
+			}
+			
+			.content-detail-box{
+				margin: 40rpx 0 0 0;
+				padding: 20rpx;
+				background-color: #f6f6f6;
+				border-radius: 10rpx;
+				.title-box{
+					position: relative;
+					top: -35rpx;
+					width:fit-content;
+					height: 36rpx;
+					border-radius: 10rpx;
+					padding: 5rpx 20rpx;
+				}
+				.content-detail {
+					font-size: 30rpx;
+					font-weight: bold;
+					color: $color-title;
+					word-break: break-all;
+				}
+				.option-box{
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width:120rpx;
+					height: 50rpx;
+					border-radius: 10rpx;
+					padding: 5rpx;
+				}
+				.content-subtitle {
+					font-size: 25rpx;
+					font-weight: bold;
+					color: #FFF;
+				}
+			}
+		}
+	}
+
+	.flex {
+		display: flex;
+		align-items: center;
+	}
+
+	.block-tag-box {
+		border-radius: 6rpx;
+		border: 1rpx solid $color-mixblue;
+		padding: 5rpx 14rpx;
+
+		.block-tag {
+			font-size: 22rpx;
+			color: $color-mixblue;
+		}
+	}

+ 63 - 69
subpkg/common/detailpage.scss

@@ -1,91 +1,85 @@
-.detail-box {
-		margin: -30rpx 20rpx 20rpx 20rpx;
-
-		.detail-item {
-			display: flex;
-			flex-direction: column;
-			border-radius: $card-border-radius;
-			margin-bottom: 20rpx;
-			background-color: #fff;
-			padding: 20rpx;
-				.index{
-					height: 36rpx;
-					width: 10rpx;
-					border-radius: 100rpx;
-					margin-left: -5rpx;
-				}
-				.name {
-					font-size: 36rpx;
-					line-height: 36rpx;
-					font-weight: bold;
-					margin-left: 15rpx;
-					margin-bottom: 4rpx;
-				}
+.detail-item {
+		display: flex;
+		flex-direction: column;
+		margin-bottom: 20rpx;
+		background-color: #fff;
+		padding: 20rpx;
+			.index{
+				height: 36rpx;
+				width: 10rpx;
+				border-radius: 100rpx;
+				margin-left: -5rpx;
 			}
-
-		.content-box {
-			display: flex;
-			flex-direction: column;
-
-			.subtitle {
-				font-size: 26rpx;
-				color: $color-subtitle;
+			.name {
+				font-size: 36rpx;
+				line-height: 36rpx;
+				font-weight: bold;
+				margin-left: 15rpx;
+				margin-bottom: 4rpx;
 			}
-			.subtitle-info{
+		}
+	
+	.content-box {
+		display: flex;
+		flex-direction: column;
+	
+		.subtitle {
+			font-size: 26rpx;
+			color: $color-subtitle;
+		}
+		.subtitle-info{
+			font-size: 30rpx;
+			font-weight: bold;
+			color: $color-title;
+		}
+		
+		.content-detail-box{
+			margin: 40rpx 0 0 0;
+			padding: 20rpx;
+			background-color: #f6f6f6;
+			border-radius: 10rpx;
+			.title-box{
+				position: relative;
+				top: -35rpx;
+				width:fit-content;
+				height: 36rpx;
+				border-radius: 10rpx;
+				padding: 5rpx 20rpx;
+			}
+			.content-detail {
 				font-size: 30rpx;
 				font-weight: bold;
 				color: $color-title;
+				word-break: break-all;
 			}
-			
-			.content-detail-box{
-				margin: 40rpx 0 0 0;
-				padding: 20rpx;
-				background-color: #f6f6f6;
+			.option-box{
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width:120rpx;
+				height: 50rpx;
 				border-radius: 10rpx;
-				.title-box{
-					position: relative;
-					top: -35rpx;
-					width:fit-content;
-					height: 36rpx;
-					border-radius: 10rpx;
-					padding: 5rpx 20rpx;
-				}
-				.content-detail {
-					font-size: 30rpx;
-					font-weight: bold;
-					color: $color-title;
-					word-break: break-all;
-				}
-				.option-box{
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width:120rpx;
-					height: 50rpx;
-					border-radius: 10rpx;
-					padding: 5rpx;
-				}
-				.content-subtitle {
-					font-size: 25rpx;
-					font-weight: bold;
-					color: #FFF;
-				}
+				padding: 5rpx;
+			}
+			.content-subtitle {
+				font-size: 25rpx;
+				font-weight: bold;
+				color: #FFF;
 			}
 		}
 	}
-
 	.flex {
 		display: flex;
 		align-items: center;
 	}
-
+	
 	.block-tag-box {
 		border-radius: 6rpx;
 		border: 1rpx solid $color-mixblue;
 		padding: 5rpx 14rpx;
-
+	
 		.block-tag {
 			font-size: 22rpx;
 			color: $color-mixblue;
 		}
-	}
+	}

Diferenças do arquivo suprimidas por serem muito extensas
+ 48 - 4
subpkg/common/iconfont-weapp-icon.css


+ 14 - 19
subpkg/common/videopage.scss

@@ -25,7 +25,7 @@
 			align-items: center;
 			justify-content: space-between;
 			padding: 30rpx 50rpx;
-			height: 150rpx;
+			height: 145rpx;
 			background-color: #FFF;
 		
 		
@@ -36,7 +36,7 @@
 			}
 		
 			.info-time {
-				font-size: 22rpx;
+				font-size: 28rpx;
 				color: $color-subtitle;
 			}
 			
@@ -56,7 +56,7 @@
 		.list-name-box{
 			display: flex; 
 			align-items: center; 
-			margin:30rpx 0 30rpx 50rpx;
+			margin:20rpx 0 20rpx 50rpx;
 			
 			.list-name{
 				margin-left:15rpx; 
@@ -68,7 +68,7 @@
 			}
 		}
 		.video-list{
-			margin: 20rpx 30rpx;
+			margin: 14rpx 0;
 			display: flex;
 			align-items: center;
 			justify-content: center;
@@ -78,13 +78,13 @@
 				flex-direction: column;
 				justify-content: center;
 				background-color: #FFF;
-				border-radius: 10rpx;
-				padding: 20rpx;
-				height: 60rpx;
+				padding: 16rpx 30rpx;
+				height: 110rpx;
+				width: 100%;
 				
 				.content-box{
-					width: 620rpx;
-					display: flex; 
+					width: 100%;
+					display: flex;
 					align-items: center; 
 					justify-content: space-between;
 					// margin-top: -32rpx;
@@ -121,6 +121,7 @@
 		}
 		.flex{
 			display: flex;
+			align-items: center;
 			justify-content: space-between;
 		}
 		.t-icon {
@@ -157,16 +158,10 @@
 				width: 80rpx;
 				height: 80rpx;
 			}
-			.flex-box{
-				display: flex;
-				justify-content: space-between;
-				flex-direction: column;
-				align-items: center;
-				.text{
-					margin-top: 20rpx;
-					color: $color-title;
-					font-size:30rpx;
-				}
+			.text{
+				margin-top: 20rpx;
+				color: $color-title;
+				font-size:30rpx;
 			}
 		}
 		.timeInfo{

+ 83 - 2
subpkg/detail/activity.vue

@@ -1,7 +1,82 @@
 <template>
 	<view class="container">
 		<!-- 返回按钮 -->
-		<back :text="singleDetail.vote.name||singleDetail.survey.name"></back>
+		<back text="活动详情"></back>
+		<!-- 单个数据详情 -->
+		<view class="detail-item">
+			<view class="flex" style="width: 100%;height: 90rpx;">
+				<view class="flex" style="margin: -30rpx 0 0 10rpx;">
+					<view class="index"
+						:style="{backgroundColor: singleDetail.survey.progress === 'finish'||singleDetail.vote.progress === 'finish'? '#23b46c': '#f9c752' }">
+					</view>
+					<view class="name">{{singleDetail.survey.name||singleDetail.vote.name}}</view>
+				</view>
+		
+				<view class="t-icon t-icon-yiwancheng1"
+					v-if="singleDetail.survey.progress === 'finish'||singleDetail.vote.progress === 'finish'"
+					style="margin-left: auto; width: 90rpx; height: 90rpx;"></view>
+				<view class="t-icon t-icon-jinhangzhong-copy"
+					v-if="singleDetail.survey.progress === 'going'||singleDetail.vote.progress === 'going'"
+					style="margin-left: auto; width: 90rpx; height: 90rpx;"></view>
+			</view>
+			<!-- 正文 -->
+			<view class="content-box">
+				<view style="display:flex;flex-direction: column;padding: 0 30rpx;">
+					<rich-text class="subtitle-info" style="margin-bottom: 15rpx;"
+						:nodes="singleDetail.survey.description||singleDetail.vote.description">
+					</rich-text>
+					<view class="flex">
+						<view class="subtitle">布置老师:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;">
+							{{singleDetail.survey.creatorId||singleDetail.vote.creatorId}}
+						</view>
+						<view class="subtitle" style="margin-left: 20rpx;">截止时间:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;" v-if="singleDetail.survey">
+							{{$timestampToTime(singleDetail.survey.endTime)}}
+						</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;" v-if="singleDetail.vote">
+							{{$timestampToTime(singleDetail.vote.endTime)}}
+						</view>
+					</view>
+				</view>
+				<!-- 内容 -->
+				<view class="content-detail-box">
+					<!-- 问卷 -->
+					<view class="title-box"
+						:style="{backgroundColor: singleDetail.survey.progress === 'finish'? '#23b46c': '#f9c752' }"
+						v-if="singleDetail.survey">
+						<view class="content-subtitle">问卷详情</view>
+					</view>
+					<view class="flex" style="justify-content: space-around;">
+						<view class="option-box"
+							:style="{backgroundColor: singleDetail.survey.progress === 'finish'? '#23b46c': '#f9c752' }"
+							v-for="(option,i) in singleDetail.survey.answers[0]" :key="i">
+							<view class="content-subtitle" style="font-size: 30rpx;">{{option}}</view>
+						</view>
+					</view>
+					
+					<!-- 投票 -->
+					<view class="title-box"
+						:style="{backgroundColor: singleDetail.vote.progress === 'finish'? '#23b46c': '#f9c752' }"
+						v-if="singleDetail.vote">
+						<view class="content-subtitle">{{singleDetail.vote.secret ? '匿名投票':'普通投票'}}</view>
+					</view>
+					<view class="flex" style="justify-content: space-around;">
+						<view class="flex-colum" v-for="(option,j) in singleDetail.vote.options" :key="j">
+							<rich-text class="subtitle-info" style="margin-bottom: 15rpx;" :nodes="option.value">
+							</rich-text>
+							<view class="option-box"
+								:style="{backgroundColor: singleDetail.vote.progress === 'finish'? '#23b46c': '#f9c752' }">
+								<view class="content-subtitle" style="font-size: 30rpx;">{{option.code}}</view>
+							</view>
+						</view>
+					</view>
+		
+		
+				</view>
+			</view>
+		
+		</view>
 	</view>
 </template>
 
@@ -26,5 +101,11 @@
 	}
 </script>
 
-<style>
+<style lang="scss">
+	@import '@/subpkg/common/detailpage.scss';
+	.flex-colum{
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+	}
 </style>

+ 44 - 2
subpkg/detail/exam.vue

@@ -1,7 +1,48 @@
 <template>
 	<view class="container">
 		<!-- 返回按钮 -->
-		<back :text="singleDetail.examInfo.name"></back>
+		<back text="评测详情"></back>
+		<!-- 单个详情 -->
+		<view class="detail-item">
+			<view class="flex" style="width: 100%;height: 90rpx;">
+				<view class="flex" style="margin: -30rpx 0 0 10rpx;">
+					<view class="index" :style="{backgroundColor: singleDetail.examInfo.progress === 'finish'? '#23b46c': '#4169E1' }">
+					</view>
+					<view class="name">{{singleDetail.examInfo.name}}</view>
+				</view>
+		
+				<view :class="singleDetail.examInfo.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong'" style="margin-left: auto; width: 90rpx; height: 90rpx;"></view>
+		
+			</view>
+			<!-- 正文 -->
+			<view class="content-box">
+				<view style="display:flex;flex-direction: column;padding: 0 30rpx;">
+					<view class="flex" style="margin-bottom: 15rpx;">
+						<view class="block-tag-box">
+							<view class="block-tag">{{singleDetail.examInfo.subjects[0].name}}</view>
+						</view>
+						<view class="block-tag-box" style="margin-left: 20rpx;">
+							<view class="block-tag">{{singleDetail.examInfo.examType.name}}</view>
+						</view>
+					</view>
+					<view class="flex">
+						<view class="subtitle">布置老师:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;">{{singleDetail.examInfo.creatorId}}</view>
+						<view class="subtitle" style="margin-left: 20rpx;">截止时间:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;">
+							{{$timestampToTime(singleDetail.examInfo.endTime)}}</view>
+					</view>
+				</view>
+		
+				<view class="content-detail-box">
+					<view class="title-box" :style="{backgroundColor: singleDetail.examInfo.progress === 'finish'? '#23b46c': '#4169E1' }">
+						<view class="content-subtitle">{{singleDetail.examInfo.papers[0].name}}</view>
+					</view>
+					<view class="content-detail"></view>
+				</view>
+			</view>
+		
+		</view>
 	</view>
 </template>
 
@@ -26,5 +67,6 @@
 	}
 </script>
 
-<style>
+<style lang="scss">
+	@import '@/subpkg/common/detailpage.scss';
 </style>

+ 65 - 4
subpkg/detail/homework.vue

@@ -1,9 +1,56 @@
 <template>
 	<view class="container">
 		<!-- 返回按钮 -->
-		<back :text="singleDetail.work.name"></back>
+		<back text="作业详情"></back>
+		<view class="detail-item">
+			<view class="flex" style="width: 100%;height: 90rpx;">
+				<view class="flex" style="margin: -30rpx 0 0 10rpx;">
+					<view class="index" :style="{backgroundColor: singleDetail.work.progress === 'finish'? '#23b46c': '#ff8caf' }"></view>
+					<view class="name">{{singleDetail.work.name}}</view>
+				</view>
+			
+				<view class="t-icon t-icon-yiwancheng1" v-if="singleDetail.work.progress === 'finish'"
+					style="margin-left: auto; width: 90rpx; height: 90rpx;"></view>
+				<view class="t-icon t-icon-jinhangzhong-copy1" v-if="singleDetail.work.progress === 'going'"
+					style="margin-left: auto; width: 90rpx; height: 90rpx;"></view>
+			</view>
+			<!-- 正文 -->
+			<view class="content-box">
+		
+				<view class="flex-colum" style="padding: 0 30rpx;">
+					<rich-text class="subtitle-info" style="margin-bottom: 15rpx;" :nodes="singleDetail.work.description"></rich-text>
+					<view class="flex">
+						<view class="subtitle">布置老师:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;">{{singleDetail.work.creatorId}}</view>
+						<view class="subtitle" style="margin-left: 20rpx;">截止时间:</view>
+						<view class="subtitle-info" style="margin-left: 10rpx;">{{$timestampToTime(singleDetail.work.endTime)}}</view>
+					</view>
+					
+				</view>
+		
+				<view class="content-detail-box" style="padding: 0 20rpx;">
+					<view class="title-box" :style="{backgroundColor: singleDetail.work.progress === 'finish'? '#23b46c': '#ff8caf',top: -15 +'rpx' }">
+						<view class="content-subtitle">作业附件</view>
+					</view>
+					<view v-for="(attachment,i) in singleDetail.work.attachments" :key="i" style="margin-bottom: 20rpx;">
+						<view class="attachment-box" @click="openDocument(attachment.url)">
+							<view v-if="attachment.type == 'word'" class="t-icon t-icon-WORD"></view>
+							<view v-if="attachment.type == 'excel'" class="t-icon t-icon-ECEL"></view>
+							<view v-if="attachment.type == 'pdf'" class="t-icon t-icon-PDF"></view>
+							<view v-if="attachment.type == 'image'" class="t-icon t-icon-tupianziliao"></view>
+							<view class="flex-colum" style="margin-left: 20rpx;">
+								<view class="content-detail">文件名: {{attachment.name}}</view>
+								<view class="content-subtitle" style="color: #aaa;">文件大小: {{fixNum(attachment.size/8/1024)}}KB</view>
+							</view>
+						</view>
+					</view>
+					
+				</view>
+			</view>
+		
+		</view>
 	</view>
-</template>
+</template>
 
 <script>
 	import {
@@ -21,10 +68,24 @@
 		onLoad() {
 		},
 		methods:{
-
+			fixNum(num){
+				return num.toFixed(2)
+			},
 		}
 	}
 </script>
 
-<style>
+<style lang="scss">
+	@import '@/subpkg/common/detailpage.scss';
+	.attachment-box{
+		display: flex;
+		align-items: center;
+		padding: 15rpx 20rpx;
+		background-color: #FFF;
+		border-radius: 10rpx;
+	}
+	.flex-colum{
+		display: flex;
+		flex-direction: column;
+	}
 </style>

+ 10 - 3
subpkg/detaillist/activitylist.vue

@@ -9,7 +9,7 @@
 		</view>
 
 		<view class="detail-box" v-if="!loading">
-			<view class="detail-item" v-for="(item,index) in detailList" :key="index">
+			<view class="detail-item" v-for="(item,index) in detailList" :key="index" @click="navSingleData(item)">
 				<view class="flex" style="width: 100%;height: 90rpx;">
 					<view class="flex" style="margin: -30rpx 0 0 10rpx;">
 						<view class="index"
@@ -109,14 +109,21 @@
 			})
 		},
 		methods: {
-
+			...mapMutations('m_children', ['updateDetail']),
+			//导航到详情页面
+			navSingleData(item){
+				this.updateDetail(item)
+				uni.navigateTo({
+					url: `/subpkg/detail/activity`
+				})
+			},
 
 		}
 	}
 </script>
 
 <style lang="scss">
-	@import '@/subpkg/common/detailpage.scss';
+	@import '@/subpkg/common/detaillistpage.scss';
 	.flex-colum{
 		display: flex;
 		flex-direction: column;

+ 10 - 18
subpkg/detaillist/examlist.vue

@@ -9,7 +9,7 @@
 		</view>
 
 		<view class="detail-box" v-if="!loading">
-			<view class="detail-item" v-for="(item,index) in detailList" :key="index">
+			<view class="detail-item" v-for="(item,index) in detailList" :key="index" @click="navSingleData(item)">
 				<view class="flex" style="width: 100%;height: 90rpx;">
 					<view class="flex" style="margin: -30rpx 0 0 10rpx;">
 						<view class="index"
@@ -79,27 +79,19 @@
 			})
 		},
 		methods: {
-			openDocument() {
-				//下载并打开文档
-				uni.downloadFile({
-					url: 'https://cdn.zhoukaiwen.com/kevin.pdf',
-					success: function(res) {
-						var filePath = res.tempFilePath;
-						uni.openDocument({
-							filePath: filePath,
-							success: function(res) {
-								console.log('打开文档成功');
-							}
-						});
-					}
+			...mapMutations('m_children', ['updateDetail']),
+			//导航到详情页面
+			navSingleData(item){
+				this.updateDetail(item)
+				uni.navigateTo({
+					url: `/subpkg/detail/exam`
 				})
-			}
-
-
+			},
+			
 		}
 	}
 </script>
 
 <style lang="scss">
-	@import '@/subpkg/common/detailpage.scss';
+	@import '@/subpkg/common/detaillistpage.scss';
 </style>

+ 25 - 17
subpkg/detaillist/homeworklist.vue

@@ -9,7 +9,7 @@
 		</view>
 
 		<view class="detail-box" v-if="!loading">
-			<view class="detail-item" v-for="(item,index) in detailList" :key="index">
+			<view class="detail-item" v-for="(item,index) in detailList" :key="index" @click="navSingleData(item)">
 				<view class="flex" style="width: 100%;height: 90rpx;">
 					<view class="flex" style="margin: -30rpx 0 0 10rpx;">
 						<view class="index" :style="{backgroundColor: item.work.progress === 'finish'? '#23b46c': '#ff8caf' }"></view>
@@ -40,7 +40,7 @@
 							<view class="content-subtitle">作业附件</view>
 						</view>
 						<view v-for="(attachment,i) in item.work.attachments" :key="i" style="margin-bottom: 20rpx;">
-							<view class="attachment-box" @click="openDocument(attachment.url)">
+							<view class="attachment-box">
 								<view v-if="attachment.type == 'word'" class="t-icon t-icon-WORD"></view>
 								<view v-if="attachment.type == 'excel'" class="t-icon t-icon-ECEL"></view>
 								<view v-if="attachment.type == 'pdf'" class="t-icon t-icon-PDF"></view>
@@ -83,24 +83,32 @@
 			})
 		},
 		methods: {
+			...mapMutations('m_children', ['updateDetail']),
 			fixNum(num){
 				return num.toFixed(2)
 			},
-			openDocument(url) {
-				//下载并打开文档
-				uni.downloadFile({
-					url: url,
-					success: function(res) {
-						var filePath = res.tempFilePath;
-						uni.openDocument({
-							filePath: filePath,
-							success: function(res) {
-								console.log('打开文档成功');
-							}
-						});
-					}
+			//导航到详情页面
+			navSingleData(item){
+				this.updateDetail(item)
+				uni.navigateTo({
+					url: `/subpkg/detail/homework`
 				})
-			}
+			},
+			// openDocument(url) {
+			// 	//下载并打开文档
+			// 	uni.downloadFile({
+			// 		url: url,
+			// 		success: function(res) {
+			// 			var filePath = res.tempFilePath;
+			// 			uni.openDocument({
+			// 				filePath: filePath,
+			// 				success: function(res) {
+			// 					console.log('打开文档成功');
+			// 				}
+			// 			});
+			// 		}
+			// 	})
+			// }
 			
 			
 		}
@@ -108,7 +116,7 @@
 </script>
 
 <style lang="scss">
-	@import '@/subpkg/common/detailpage.scss';
+	@import '@/subpkg/common/detaillistpage.scss';
 	.attachment-box{
 		display: flex;
 		align-items: center;

+ 19 - 13
subpkg/mydata/subscribepage.vue

@@ -9,7 +9,7 @@
 		<view class="vipcard" style="display: flex; align-items: center;">
 			<view style="height: 100%; display: flex; flex-direction: column; justify-content: space-around;">
 				<view class="flex">
-					<view class="t-icon t-icon-huiyuan1"></view>
+					<view class="t-icon t-icon-huiyuan2"></view>
 					<view class="card-title">{{myData.subscribeLevel}}</view>
 				</view>
 				<view class="card-detail">{{endTime}} 到期</view>
@@ -40,7 +40,7 @@
 			<u-tag text="专属功能" color="#fff" bgColor="#333" borderColor="#333" shape="circle"></u-tag>
 			<view class="line"></view>
 		</view>
-		
+
 		<view class="flex" style="margin: 50rpx 0 0 50rpx;justify-content: space-around;">
 			<view class="flex" style="flex-direction: column;" v-for="(item,index) in data" :key="index">
 				<view class="circle-box">
@@ -49,7 +49,7 @@
 				<view style="color: #FFF; font-size: 28rpx;margin-top: 20rpx;">{{item.text}}</view>
 			</view>
 		</view>
-		
+
 		<!-- <view class="bg3" :style="{backgroundImage: `url(${image})`}"></view> -->
 
 	</view>
@@ -66,8 +66,7 @@
 		data() {
 			return {
 				endTime: '',
-				data:[
-					{
+				data: [{
 						icon: 't-icon t-icon-huiyuan',
 						text: '测试测试1'
 					},
@@ -106,6 +105,7 @@
 		background-color: #404148;
 		z-index: -1;
 	}
+
 	.bg2 {
 		position: fixed;
 		left: 50%;
@@ -117,6 +117,7 @@
 		background-color: #979797;
 		z-index: -2;
 	}
+
 	.bg3 {
 		position: fixed;
 		left: 50%;
@@ -141,6 +142,12 @@
 		padding: 50rpx;
 		overflow: hidden;
 
+		.t-icon {
+			height: 40rpx;
+			width: 80rpx;
+			background-repeat: no-repeat;
+		}
+
 		.card-title {
 			margin-left: 20rpx;
 			font-size: 50rpx;
@@ -162,7 +169,7 @@
 			.border-box {
 				border-radius: 100rpx;
 				border: 1rpx solid #7e5320;
-				padding: 10rpx;
+				padding: 10rpx 15rpx;
 
 				.btn-text {
 					font-size: 26rpx;
@@ -176,17 +183,14 @@
 		display: flex;
 		align-items: center;
 	}
+
 	.line {
 		height: 4rpx;
 		width: 100%;
 		background-color: #333;
 	}
-	.t-icon {
-		height: 40rpx;
-		width: 40rpx;
-		background-repeat: no-repeat;
-	}
-	.circle-box{
+
+	.circle-box {
 		display: flex;
 		justify-content: center;
 		align-items: center;
@@ -194,13 +198,15 @@
 		height: 80rpx;
 		border-radius: 50%;
 		background-color: #FFF;
+
 		.t-icon {
 			height: 80rpx;
 			width: 80rpx;
 			background-repeat: no-repeat;
 		}
 	}
-	.border-right{
+
+	.border-right {
 		margin-left: 120rpx;
 		height: 500rpx;
 		width: 500rpx;

+ 32 - 12
subpkg/video/livepage.vue

@@ -10,7 +10,7 @@
 		<!-- 信息模块 -->
 		<view class="info-box">
 			<view class="flex-box" style="width: 70%;height: 100%;">
-				<view style="display: flex;align-items: center;">
+				<view class="flex">
 					<view class="info-name">{{classInfo.title}}</view>
 				</view>
 
@@ -37,7 +37,6 @@
 				</view>
 			</view>
 		</view>
-
 		<!-- 列表名 -->
 		<view class="list-name-box">
 			<view class="index"></view>
@@ -49,16 +48,36 @@
 			<!-- 正文 -->
 			<view class="class-block">
 				<view class="content-box">
-					<view style="display: flex;align-items: center;">
-						<view :class="index<classCurrent-1? 't-icon t-icon-tick-square-svgrepo-com':(index===classCurrent-1? 't-icon t-icon-a-play-svgrepo-com1':'t-icon t-icon-time-square-svgrepo-com')">
-						</view>
-						<view class="content-info" style="margin-left: 10rpx;font-size: 34rpx;line-height: 50rpx;">{{item.name}}</view>
+
+					<view
+						:class="index<classCurrent-1? 't-icon t-icon-chenggong':(index===classCurrent-1? 't-icon t-icon-bofang1':'t-icon t-icon-yuyue-lishi-shijian')">
 					</view>
-					
-					<view class="block-tag-box">
-						<view class="block-tag">{{item.teacher}}</view>
+					<view class="flex" style="flex-direction: column;">
+						<!-- 上 -->
+						<view style="display: flex;align-items: center;width: 460rpx;margin-left: 20rpx;">
+							<view class="content-info" style="font-size: 34rpx;line-height: 50rpx;">
+								{{item.title}}
+							</view>
+							<view class="block-tag-box" style="margin-left: 40rpx;">
+								<view class="block-tag">{{item.name}}</view>
+							</view>
+							<view class="block-tag-box" style="margin-left: 10rpx;">
+								<view class="block-tag">{{item.teacher}}</view>
+							</view>
+						</view>
+						<!-- 下 -->
+						<view style="display: flex;align-items: center;width: 460rpx; margin:10rpx 0 0 20rpx;">
+							<view style="display: flex;align-items: baseline;">
+								<view class="info-time" style="font-size: 30rpx;">
+									{{item.timeFrame.replace('午','午-').split('-')[0]}}</view>
+								<view class="info-time" style="margin-left: 10rpx;">
+									{{item.timeFrame.replace('午','午-').split('-')[1]}}</view>
+								<view class="info-time" style="font-size: 30rpx;margin-left: 40rpx;">
+									{{item.time.split('-')[0]}}</view>
+								<view class="info-time" style="margin-left: 10rpx;">开始</view>
+							</view>
+						</view>
 					</view>
-					<view class="info-time">{{item.time}}</view>
 					<!-- 按钮 -->
 					<view class="btn" v-if="index<classCurrent-1" :style="{backgroundColor:'#23b46c'}"
 						@click="showVideo(index)">
@@ -155,12 +174,13 @@
 
 			},
 			showVideo(index) {
-				uni.navigateTo({
+				console.log('导航到回放页面');
+				uni.redirectTo({
 					url: `/subpkg/video/videopage?info=${index}`
 				})
 			},
 			showLive(index) {
-				if (index === this.classCurrent-1) {
+				if (index === this.classCurrent - 1) {
 					uni.$showMsg('当前正在播放此课程')
 				} else {
 					this.classInfo = this.classList[index]

+ 42 - 16
subpkg/video/videopage.vue

@@ -10,7 +10,7 @@
 		<!-- 信息模块 -->
 		<view class="info-box">
 			<view class="flex-box" style="width: 70%;height: 100%;">
-				<view style="display: flex;align-items: center;">
+				<view class="flex">
 					<view class="info-name">{{classInfo.title}}</view>
 				</view>
 				<view style="display: flex;align-items: baseline;">
@@ -48,16 +48,39 @@
 			<!-- 正文 -->
 			<view class="class-block">
 				<view class="content-box">
-					<view style="display: flex;align-items: center;">
-						<view :class="index<classCurrent-1? 't-icon t-icon-tick-square-svgrepo-com':(index===classCurrent-1? 't-icon t-icon-a-play-svgrepo-com1':'t-icon t-icon-time-square-svgrepo-com')">
+					<view
+						:class="index<classCurrent-1? 't-icon t-icon-chenggong':(index===classCurrent-1? 't-icon t-icon-bofang1':'t-icon t-icon-yuyue-lishi-shijian')">
+					</view>
+					<view class="flex" style="flex-direction: column;">
+						<!-- 上 -->
+						<view style="display: flex;align-items: center;width: 460rpx;margin-left: 20rpx;">
+							<view class="content-info" style="font-size: 34rpx;line-height: 50rpx;">
+								{{item.title}}
+							</view>
+							<view class="block-tag-box" style="margin-left: 40rpx;">
+								<view class="block-tag">{{item.name}}</view>
+							</view>
+							<view class="block-tag-box" style="margin-left: 10rpx;">
+								<view class="block-tag">{{item.teacher}}</view>
+							</view>
+						</view>
+						<!-- 下 -->
+						<view style="display: flex;align-items: center;width: 460rpx; margin:10rpx 0 0 20rpx;">
+							<view style="display: flex;align-items: baseline;">
+								<view class="info-time" style="font-size: 30rpx;">
+									{{item.timeFrame.replace('午','午-').split('-')[0]}}
+								</view>
+								<view class="info-time" style="margin-left: 10rpx;">
+									{{item.timeFrame.replace('午','午-').split('-')[1]}}
+								</view>
+								<view class="info-time" style="font-size: 30rpx;margin-left: 40rpx;">
+									{{item.time.split('-')[0]}}
+								</view>
+								<view class="info-time" style="margin-left: 10rpx;">开始</view>
+							</view>
 						</view>
-						<view class="content-info" style="margin-left: 10rpx;font-size: 34rpx;line-height: 50rpx;">{{item.name}}</view>
 					</view>
 
-					<view class="block-tag-box">
-						<view class="block-tag">{{item.teacher}}</view>
-					</view>
-					<view class="info-time">{{item.time}}</view>
 					<!-- 按钮 -->
 					<view class="btn" v-if="index<classCurrent-1" :style="{backgroundColor:'#23b46c'}"
 						@click="showVideo(index)">
@@ -92,7 +115,7 @@
 			</view>
 		</u-action-sheet>
 		<!-- 下载 -->
-		<u-action-sheet :show="downLoadShow" @close="downLoadShow = false" title="视频下载" :round="10">
+		<u-action-sheet :show="downLoadShow" @close="downLoadShow = false" title="下载视频" :round="10">
 			<view class="flex-icon" style="padding: 50rpx 60rpx 70rpx 60rpx;">
 				<view class="confirm" @click="downLoadShow = false" style="background-color: #aaa;">
 					<view class="subtitle">取消</view>
@@ -117,15 +140,15 @@
 			return {
 				classInfo: '',
 				today: '',
-				//正在播放第几个视频
-				tempIndex: '',
 				actionShow: false,
 				downLoadShow: false,
-				noClick: true
+				noClick: true,
+				tempIndex: '',
 			};
 		},
 		onLoad(options) {
 			this.classInfo = this.classList[options.info]
+			this.tempIndex = options.info
 			this.getToday()
 			this.videoContext = uni.createVideoContext('classVideo')
 		},
@@ -205,16 +228,19 @@
 			},
 			//切换播放课程
 			showVideo(index) {
-				if (index === this.tempIndex) {
+				if (index == this.tempIndex) {
 					uni.$showMsg('当前正在播放此课程')
 				} else {
-					this.classInfo = this.classList[index]
-					this.tempIndex = index
+					// this.classInfo = this.classList[index]
+					// this.tempIndex = index
+					uni.redirectTo({
+						url: `/subpkg/video/videopage?info=${index}`
+					})
 				}
 			},
 			//切换直播
 			showLive(index) {
-				uni.navigateTo({
+				uni.redirectTo({
 					url: `/subpkg/video/livepage?info=${index}`
 				})
 			}

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

@@ -212,7 +212,7 @@
 								month: month === 1 ? 12 : month - 1,
 								date: prevMonthDates - i,
 								type: 'prev',
-								isAttend: 0,
+								isAttend: 0,//未打卡
 							}
 							this.theDateIsToday(item)
 							calendarDate.unshift(item)

+ 15 - 3
utils/APIHandler.js

@@ -837,14 +837,14 @@ function initHome() {
 		title: '计算练习',
 		name: '数学',
 		teacher: '李老师',
-		time: '10:00-10:50',
+		time: '09:50-10:50',
 		timeFrame: '上午第二节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
 	}, {
 		title: '阅读专项训练',
 		name: '外语',
 		teacher: '张老师',
-		time: '11:00-11:50',
+		time: '10:50-11:50',
 		timeFrame: '上午第三节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4',
 	}, {
@@ -858,7 +858,7 @@ function initHome() {
 		title: '户外运动锻炼',
 		name: '体育',
 		teacher: '李老师',
-		time: '14:50-17:50',
+		time: '14:50-17:55',
 		timeFrame: '下午第二节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
 	}, {
@@ -868,6 +868,13 @@ function initHome() {
 		time: '17:55-20:50',
 		timeFrame: '上午第三节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4',
+	}, {
+		title: '随堂测验',
+		name: '数学',
+		teacher: '李老师',
+		time: '20:50-21:50',
+		timeFrame: '下午第四节',
+		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
 	}]
 	this.$store.commit('m_children/updateClassList', classList)
 	let records = [{
@@ -995,6 +1002,11 @@ function initHome() {
 		month: 5,
 		year: 2022,
 		time: '08:17'
+	}, {
+		date: 11,
+		month: 5,
+		year: 2022,
+		time: '08:07'
 	}]
 	this.$store.commit('m_children/updateRecords', records)
 	let homeChartData = {