소스 검색

update: 总成绩分析模块,页面背景图,组件优化等等

KELECHUAN 3 년 전
부모
커밋
f63665c1e7
62개의 변경된 파일423개의 추가작업 그리고 146개의 파일을 삭제
  1. BIN
      .vs/slnx.sqlite
  2. BIN
      .vs/teammodelwxapp/v17/.suo
  3. BIN
      .vs/teammodelwxapp/v17/workspaceFileList.bin
  4. 5 5
      common/global_js/MockData.js
  5. 2 2
      common/global_scss/pages_style.scss
  6. 2 1
      components/top-semester/top-semester.vue
  7. 16 0
      pages/style/tab_pages.scss
  8. 8 3
      pages/tab_exam/tab_exam.vue
  9. 11 20
      pages/tab_home/tab_home.vue
  10. 8 3
      pages/tab_swap/tab_swap.vue
  11. 8 3
      pages/tab_work/tab_work.vue
  12. 39 19
      subpkg/datalist/classdetail.vue
  13. 15 4
      subpkg/gradelist/single.vue
  14. 142 20
      subpkg/gradelist/total.vue
  15. 1 0
      subpkg/statslist/workstats.vue
  16. 3 3
      subpkg/userinfo/childinfo.vue
  17. 3 3
      subpkg/userinfo/parentinfo.vue
  18. 1 1
      subpkg/userinfo/subscribeinfo.vue
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/classdetail.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/gradelist/single.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/gradelist/total.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/statslist/workstats.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/childinfo.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/parentinfo.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/subscribeinfo.js.map
  32. 2 2
      unpackage/dist/dev/mp-weixin/common/main.wxss
  33. 3 3
      unpackage/dist/dev/mp-weixin/common/vendor.js
  34. 1 1
      unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxml
  35. 1 0
      unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxss
  36. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.js
  37. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml
  38. 15 0
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss
  39. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js
  40. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml
  41. 15 3
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss
  42. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.js
  43. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml
  44. 15 0
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss
  45. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.js
  46. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml
  47. 15 0
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss
  48. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.js
  49. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxml
  50. 14 10
      unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxss
  51. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/gradelist/single.wxml
  52. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/gradelist/total.js
  53. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/gradelist/total.wxml
  54. 1 0
      unpackage/dist/dev/mp-weixin/subpkg/statslist/workstats.wxss
  55. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxml
  57. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxss
  58. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.js
  59. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxml
  60. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxss
  61. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/subscribeinfo.js
  62. 44 7
      utils/RequestHandler.js

BIN
.vs/slnx.sqlite


BIN
.vs/teammodelwxapp/v17/.suo


BIN
.vs/teammodelwxapp/v17/workspaceFileList.bin


+ 5 - 5
common/global_js/MockData.js

@@ -100,7 +100,7 @@ const subjectData = [
 					90,
 					95,
 					62,
-					100,
+					69,
 					88,
 					99
 				]
@@ -144,7 +144,7 @@ const subjectData = [
 					90,
 					75,
 					92,
-					100,
+					77,
 					88,
 					99
 				]
@@ -189,7 +189,7 @@ const subjectData = [
 					95,
 					92,
 					50,
-					88,
+					56,
 					99
 				]
 			},
@@ -233,7 +233,7 @@ const subjectData = [
 					95,
 					92,
 					70,
-					88,
+					66,
 					99
 				]
 			},
@@ -278,7 +278,7 @@ const subjectData = [
 					92,
 					60,
 					88,
-					99
+					72
 				]
 			},
 			{

+ 2 - 2
common/global_scss/pages_style.scss

@@ -132,7 +132,7 @@ page{
 		height: 900rpx;
 		background-size: 100%;
 		background-repeat: no-repeat;
-		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)),url('https://images.unsplash.com/photo-1527066579998-dbbae57f45ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80');
+		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 50%),url('https://image.meiye.art/pic_1628634662880');
 		// left: 50%;
 		// right: 50%;
 		// transform: translate(-50%, -30%);
@@ -149,7 +149,7 @@ page{
 		height: 900rpx;
 		background-size: 100%;
 		background-repeat: no-repeat;
-		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)),url('https://images.unsplash.com/photo-1630638865523-fd3a48512b0e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80');
+		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 50%),url('https://image.meiye.art/pic_1628634712718');
 		
 // 		position: fixed;
 // 		left: 50%;

+ 2 - 1
components/top-semester/top-semester.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<!-- 页面标题内容 -->
-		<view class="flex_row" style="margin: 140rpx 50rpx 0 50rpx;">
+		<view class="flex_row" style="margin: 140rpx 40rpx 0 40rpx;">
 			<view class="flex_cloumn">
 				<view class="flex_baseline">
 					<view class="content_title" style="font-size: 60rpx;">{{childInfo.semester.split('学年')[0]}}</view>
@@ -67,6 +67,7 @@
 			transform: skew(-15deg);
 			color: #FFF;
 			z-index: 2;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 		}
 
 		.content_subtitle {

+ 16 - 0
pages/style/tab_pages.scss

@@ -221,4 +221,20 @@
 		background-origin: padding-box, border-box;
 		background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0.0));
 		z-index: 3;
+	}
+	
+	.image_box{
+		display: flex;
+		flex-direction: column;
+		height: 100%;
+		align-items: center;
+		margin-bottom: 30rpx;
+	}
+	.detail_image_none {
+		margin-top: -50rpx;
+	  width: 100%;
+	  height: 450rpx;
+	  background-size: cover; //背景图片自适应
+	  background-repeat: no-repeat;
+	  z-index: 50;
 	}

+ 8 - 3
pages/tab_exam/tab_exam.vue

@@ -48,13 +48,13 @@
 				<view class="card_title">
 					<view class="front_tag"></view>
 					<view class="title">今日评测</view>
-					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navExamList">
+					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navExamList" v-if="examData.length != 0">
 						<view class="t-icon t-icon-fenlei"></view>
 						<view class="title" style="color: #4169E1;margin-left: 10rpx;">评测列表</view>
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" :style="{borderImage: item.examInfo.progress === 'finish'?none:'linear-gradient(to right, #ff8caf, #FFF) 1'}" v-for="(item,index) in examData" :key="index" @click="navExamData(index)">
+					<view class="class_item" :style="{borderImage: item.examInfo.progress === 'finish'?none:'linear-gradient(to right, #ff8caf, #FFF) 1'}" v-for="(item,index) in examData" :key="index" @click="navExamData(index)" v-if="examData.length != 0">
 						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-examicon" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn" style="height:92rpx;justify-content: space-between;">
@@ -78,6 +78,10 @@
 							</view>
 						</view>
 					</view>
+					<view class="image_box" v-if="examData.length === 0">
+						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></view>
+						<view class="subtitle">今日孩子暂无评测活动</view>
+					</view>
 				</view>
 			</view>
 
@@ -140,7 +144,8 @@
 				performance: '',
 				//完成数据
 				finishData: '',
-				timeStamp: ''
+				timeStamp: '',
+				image1:'https://image.meiye.art/pic_1631411821365LA63Wc70BLbmyHhj2XjiL'
 			};
 		},
 		onLoad() {

+ 11 - 20
pages/tab_home/tab_home.vue

@@ -199,16 +199,16 @@
 						<view class="front_tag"></view>
 						<view class="title">今日课程</view>
 					</view>
-					<view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
+					<view class="detail_image_none" :style="{backgroundImage:`url(${image})`}"></view>
 					<view class="class_list">
 						<view class="class_item" style="height: 120rpx;">
-							<view class="flex_row_home" style="justify-content: space-around;">
-								<view class="class_item_title">{{classList.length === 0 ? '自由安排' : '准备上课'}}</view>
+							<view class="flex_row" style="justify-content: space-around;">
+								<view class="class_item_title">{{classList.length === 0 ? '假期充电' : '课间休息'}}</view>
 								<view class="tag" style="margin: 0;">
 									<view class="tag_text">{{classList.length === 0 ? '无课程' : '已下课'}}</view>
 								</view>
-								<view class="class_item_subtitle">{{classList.length === 0 ? '假期' : '课间'}}</view>
-								<view class="flex_row_home" @click="navClassDetail">
+								<view class="class_item_subtitle" style="font-weight: 400;font-size: 26rpx;">{{classList.length === 0 ? '合理规划' : '准备上课'}}</view>
+								<view class="flex_row" @click="navClassDetail">
 									<view class="t-icon t-icon-fenlei"></view>
 									<view class="class_item_title" style="color: #4169E1;margin-left: 10rpx;">课程列表
 									</view>
@@ -265,7 +265,6 @@
 							:style="{backgroundImage: clockState === '已打卡'?`url(${image2})`:`url(${image1})`}">
 						</view>
 					</view>
-
 				</view>
 				<!-- 今日出席模块 -->
 				<view class="card_item" style="background-color: #f3f4f9;justify-content: space-between;">
@@ -424,7 +423,7 @@
 				//已上课程
 				finishClassNum: 0,
 				//课程缺省image
-				image: 'https://image.meiye.art/pic_1631411820764Vm5iw82gnV2lVKWRokFmU',
+				image: 'https://image.meiye.art/pic_1631411821366fqhkuMI110LbOlAIdv1SV',
 				//时间戳
 				timeStamp: '',
 				//今日时间
@@ -507,6 +506,7 @@
 					}
 					i++
 				}
+				this.finishClassNum = i
 				//判断是否不在任意一个时间段内并存入已上课程
 				if (i > this.classList.length) {
 					let j = 1
@@ -514,18 +514,15 @@
 						let timeArr = item.time.split("-")
 						let res = CompareDateStart(timeArr[0])
 						if (res) {
-							j = index -1
+							j = index - 1
 							i = -1
-						}else {
+						} else {
 							j = this.classList.length
 							i = -1
 						}
 					})
 					this.finishClassNum = j
-					console.log('j',j);
-					console.log('i',i);
 				}
-
 				//判断是否不在任意一个时间段内
 				// if (i > this.classList.length) {
 				// 	i = -1
@@ -621,10 +618,7 @@
 				let finishClassData = []
 				for (let i = 0; i < this.finishClassNum; i++) {
 					finishClassData.push(this.classList[i])
-					console.log('单个课程', this.classList[i]);
-
 				}
-				console.log('完成课程', finishClassData);
 				if (finishClassData.length != 0) {
 					let isAttendArr = finishClassData.filter(x => x.attendance === true)
 					this.classAttendanceQuality = isAttendArr.length === this.finishClassNum ? '全勤' : '缺勤'
@@ -632,8 +626,9 @@
 			},
 			//导航
 			navClassDetail() {
+				let current = this.classCurrent
 				uni.navigateTo({
-					url: '/subpkg/datalist/classdetail'
+					url: `/subpkg/datalist/classdetail?index=${current}`
 				})
 			},
 			navTab(index) {
@@ -690,10 +685,6 @@
 		margin-left: 20rpx;
 	}
 
-	.detail_image {
-		margin-top: -80rpx;
-	}
-
 	.item_box1 {
 		display: flex;
 		align-items: center;

+ 8 - 3
pages/tab_swap/tab_swap.vue

@@ -46,13 +46,13 @@
 				<view class="card_title">
 					<view class="front_tag"></view>
 					<view class="title">今日活动</view>
-					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navSwapList">
+					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navSwapList" v-if="swapData.length != 0">
 						<view class="t-icon t-icon-fenlei"></view>
 						<view class="title" style="color: #4169E1;margin-left: 10rpx;">活动列表</view>
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" :style="{borderImage: item.survey.progress === 'finish' || item.vote.progress === 'finish'?none:'linear-gradient(to right, #FF6D31, #FFF) 1'}" v-for="(item,index) in swapData" :key="index" @click="navSwapData(index)">
+					<view class="class_item" :style="{borderImage: item.survey.progress === 'finish' || item.vote.progress === 'finish'?none:'linear-gradient(to right, #FF6D31, #FFF) 1'}" v-for="(item,index) in swapData" :key="index" @click="navSwapData(index)" v-if="swapData.length != 0">
 						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-swapfont" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn">
@@ -79,6 +79,10 @@
 							</view>
 						</view>
 					</view>
+					<view class="image_box" v-if="swapData.length === 0">
+						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></view>
+						<view class="subtitle">今日暂无投票问卷活动</view>
+					</view>
 				</view>
 			</view>
 
@@ -134,7 +138,8 @@
 				performance: '',
 				//完成数据
 				finishData: '',
-				timeStamp: ''
+				timeStamp: '',
+				image1: 'https://image.meiye.art/pic_1631411820764Vm5iw82gnV2lVKWRokFmU'
 			};
 		},
 		onLoad() {

+ 8 - 3
pages/tab_work/tab_work.vue

@@ -46,13 +46,13 @@
 				<view class="card_title">
 					<view class="front_tag"></view>
 					<view class="title">今日作业</view>
-					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navWorkList">
+					<view class="flex_row" style="margin: 0 0 0 auto;" @click="navWorkList" v-if="workData.length != 0">
 						<view class="t-icon t-icon-fenlei"></view>
 						<view class="title" style="color: #4169E1;margin-left: 10rpx;">作业列表</view>
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" :style="{borderImage: item.work.progress === 'finish'?none:'linear-gradient(to right, #f9c752, #FFF) 1'}" v-for="(item,index) in workData" :key="index" @click="navWorkData(index)">
+					<view class="class_item" :style="{borderImage: item.work.progress === 'finish'?none:'linear-gradient(to right, #f9c752, #FFF) 1'}" v-for="(item,index) in workData" :key="index" @click="navWorkData(index)" v-if="workData.length != 0">
 						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-workicon" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn">
@@ -75,6 +75,10 @@
 							</view>
 						</view>
 					</view>
+					<view class="image_box" v-if="workData.length === 0">
+						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></view>
+						<view class="subtitle">今日孩子暂无作业活动</view>
+					</view>
 				</view>
 			</view>
 
@@ -122,7 +126,8 @@
 				performance: '',
 				//完成数据
 				finishData: '',
-				timeStamp: ''
+				timeStamp: '',
+				image1: 'https://image.meiye.art/pic_16314118207650DBDbJB8Ao3fE8_1bY3Fj'
 			};
 		},
 		onLoad() {

+ 39 - 19
subpkg/datalist/classdetail.vue

@@ -30,7 +30,9 @@
 						<view class="_title">{{item.weekNum}}</view>
 						<view class="_day">{{item.dayNum}}</view>
 						<view class="tag_fill" v-if="isactive == index">
-							<view class="tag_text" v-if="isactive == index && currentClassList.length != 0">{{currentClassList.length}} 节课</view>
+							<view class="tag_text" v-if="isactive == index && currentClassList.length != 0">
+								{{currentClassList.length}} 节课
+							</view>
 							<view class="tag_text" v-if="isactive == index && currentClassList.length === 0">无课程</view>
 						</view>
 					</view>
@@ -46,18 +48,27 @@
 					<view class="title">{{weekList[isactive].weekNum}}课程表</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" v-for="(item,index) in currentClassList" :key="index">
+					<view class="class_item"
+						:style="{borderImage: index == current&& isactive == 0?'linear-gradient(to right, #4169E1, #FFF) 1': none}"
+						v-for="(item,index) in currentClassList" :key="index">
 						<view class="flex_row" style="justify-content: space-around;">
-							<view class="class_item_title">{{item.name}}</view>
+							<view class="t-icon t-icon-shuji2"></view>
+							<view class="class_item_title"
+								:style="{color: index == current && isactive == 0?'#4169E1':'#303133'}">{{item.name}}
+							</view>
 							<view class="tag" style="margin: 0;">
 								<view class="tag_text">{{item.teacher}}</view>
 							</view>
-							<view class="class_item_subtitle" style="font-size: 24rpx;">{{item.timeFrame}}</view>
-							<view class="class_item_title">{{item.time}}</view>
+							<view class="class_item_subtitle"
+								:style="{color: index == current && isactive == 0?'#4169E1':'#909399',fontSize: 24 + 'rpx'}">
+								{{index == current && isactive == 0?'进行中课程':item.timeFrame}}</view>
+							<view class="class_item_title"
+								:style="{color: index == current && isactive == 0?'#4169E1':'#303133'}">{{item.time}}
+							</view>
 						</view>
 					</view>
 				</view>
-				<view style="display: flex;flex-direction: column;height: 100%;align-items: center;margin-bottom: 70rpx;" v-if="!currentClassList">
+				<view class="image_box" v-if="!currentClassList">
 					<view class="detail_image1" :style="{backgroundImage:`url(${image1})`}"></view>
 					<view class="subtitle">当前选中日期孩子暂无课程</view>
 					<view class="subtitle" style="margin-top: 20rpx;">注意劳逸结合</view>
@@ -106,10 +117,12 @@
 				currentClassList: '',
 				weekClassData: MockData.classData,
 				image1: 'https://ouch-cdn2.icons8.com/kO20yenejB3M-ElZUGZMtv3FCQ4fbFa7TbOKX5dGf0w/rs:fit:456:456/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvNDY4/LzU4OWMzZTZkLWQz/OTAtNGQ0My04NTgx/LTY4NDkzMGZiNWRk/ZC5zdmc.png',
+				current: '',
 			};
 		},
-		onLoad() {
+		onLoad(parameter) {
 			this.getPageData()
+			this.current = parameter.index
 		},
 		methods: {
 			getPageData() {
@@ -128,10 +141,11 @@
 					item.dayNum = new Date(dateTime).format('d') + ' 号'
 				});
 			},
-			chooseDay(index,item) {
+			//选中日期
+			chooseDay(index, item) {
 				this.isactive = index
 				for (const key in this.weekClassData) {
-					if(key === item.weekNum){
+					if (key === item.weekNum) {
 						this.currentClassList = this.weekClassData[key]
 					}
 				}
@@ -192,7 +206,7 @@
 				display: flex;
 				flex-direction: column;
 				align-items: center;
-				justify-content: space-around;
+				justify-content: space-between;
 
 				.tag_fill {
 					border-radius: 6rpx;
@@ -223,22 +237,18 @@
 		display: flex;
 		flex-direction: column;
 		justify-content: space-between;
-		margin: 0 20rpx 20rpx 20rpx;
+		margin: 0 30rpx 20rpx 30rpx;
 
 		.class_item {
 			display: flex;
 			flex-direction: column;
 			justify-content: space-around;
 			margin: 10rpx 0;
-			padding: 10rpx;
+			padding: 10rpx 0;
 			height: 100rpx;
-			background-color: $page-color;
-			border-radius: $border-radius;
-			background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px)0 64px;
-			background-color: rgba(0, 0, 0, 0);
-			background-size: auto, auto;
-			background-color: #f3f4f9;
-			background-size: 64px 128px;
+			border-bottom: 4rpx solid #f3f4f9;
+			border-top: 4rpx solid #f3f4f9;
+			border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 
 			&_title {
 				font-size: 32rpx;
@@ -276,6 +286,7 @@
 			transform: skew(-15deg);
 			color: #FFF;
 			z-index: 2;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 		}
 
 		.content_subtitle {
@@ -284,6 +295,15 @@
 			z-index: 2;
 		}
 	}
+
+	.image_box {
+		display: flex;
+		flex-direction: column;
+		height: 100%;
+		align-items: center;
+		margin-bottom: 70rpx;
+	}
+
 	.detail_image1 {
 		width: 500rpx;
 		height: 600rpx;

+ 15 - 4
subpkg/gradelist/single.vue

@@ -20,24 +20,35 @@
 				</view>
 			</view>
 			<!-- 图表 -->
+
 			<view class="card_item" style="width: 100%;">
 				<view class="card_title">
 					<view class="front_tag"></view>
-					<view class="title">最近单科对比</view>
+					<view class="title">最近考试单科对比</view>
 				</view>
 				<view class="chart_box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[0]"
-						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="single_chart1" />
+						tooltipFormat='tooltipScore' />
 				</view>
 			</view>
 			<view class="card_item" style="width: 100%;">
 				<view class="card_title">
 					<view class="front_tag"></view>
-					<view class="title">最近单科排行</view>
+					<view class="title">最近单科平均对比</view>
 				</view>
 				<view class="chart_box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[1]"
-						tooltipFormat='subjectRankColum' :canvas2d="true" canvasId="single_chart2" />
+						tooltipFormat='tooltipScore' />
+				</view>
+			</view>
+			<view class="card_item" style="width: 100%;">
+				<view class="card_title">
+					<view class="front_tag"></view>
+					<view class="title">最近考试单科排行</view>
+				</view>
+				<view class="chart_box">
+					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[2]"
+						tooltipFormat='subjectRankColum' />
 				</view>
 			</view>
 		</view>

+ 142 - 20
subpkg/gradelist/total.vue

@@ -7,8 +7,57 @@
 		<top-semester></top-semester>
 		<!-- 分析列表 -->
 		<view class="card_view">
-<!-- 			<view class="card_item"></view>
-			<view class="card_item"></view> -->
+
+			<view class="card_item" style="background-color: #4169E1;height: 200rpx;">
+				<view class="analysis_box">
+					<view class="analysis_text">{{analysisData[0].title}}</view>
+
+					<view class="flex_baseline">
+						<view class="analysis_data" style="font-size: 44rpx;">{{totalSemAvg}}</view>
+						<view class="analysis_text" style="margin-right: 20rpx;font-size: 26rpx;">分</view>
+						<view class="analysis_text" style="font-size: 26rpx;" v-if="analysisData[0].data != 'btm'">超过</view>
+						<view class="analysis_text" style="font-size: 26rpx;" v-if="analysisData[0].data === 'btm'">未超过</view>
+					</view>
+
+					<view class="flex_baseline">
+						<view class="analysis_text">
+							{{analysisData[0].data === 'top' ? '班级和年级平均分':(analysisData[0].data === 'midClass'? '班级学期平均分':(analysisData[0].data === 'midGrade'?'年级学期平均分':'班级或年级平均分'))}}
+						</view>
+					</view>
+				</view>
+				<view class="icon_box">
+					<view v-if="analysisData[0].data==='top'" class="t-icon t-icon-a-bianzu6"></view>
+					<view v-if="analysisData[0].data==='midGrade'||analysisData[0].data === 'midClass'" class="t-icon t-icon-a-bianzu7">
+					</view>
+					<view v-if="analysisData[0].data==='btm'" class="t-icon t-icon-a-bianzu8"></view>
+				</view>
+			</view>
+			
+			<view class="card_item" style="background-color: #ff8caf;height: 200rpx;">
+				<view class="analysis_box">
+					<view class="analysis_text">{{analysisData[1].title}}</view>
+			
+					<view class="flex_baseline">
+						<view class="analysis_data" style="font-size: 44rpx;">{{singleSemAvg}}</view>
+						<view class="analysis_text" style="margin-right: 20rpx;font-size: 26rpx;">分</view>
+						<view class="analysis_text" style="font-size: 26rpx;" v-if="analysisData[1].data != 'btm'">超过</view>
+						<view class="analysis_text" style="font-size: 26rpx;" v-if="analysisData[1].data === 'btm'">未超过</view>
+					</view>
+			
+					<view class="flex_baseline">
+						<view class="analysis_text">
+							{{analysisData[1].data === 'top' ? '班级和年级平均分':(analysisData[1].data === 'midClass'? '班级学期平均分':(analysisData[1].data === 'midGrade'?'年级学期平均分':'班级或年级平均分'))}}
+						</view>
+					</view>
+				</view>
+				<view class="icon_box">
+					<view v-if="analysisData[1].data==='top'" class="t-icon t-icon-a-bianzu6"></view>
+					<view v-if="analysisData[1].data==='midGrade'||analysisData[1].data === 'midClass'" class="t-icon t-icon-a-bianzu7">
+					</view>
+					<view v-if="analysisData[1].data==='btm'" class="t-icon t-icon-a-bianzu8"></view>
+				</view>
+			</view>
+
 			<!-- 总成绩对比 -->
 			<view class="card_item" style="width: 100%;">
 				<view class="card_title">
@@ -17,7 +66,8 @@
 					<!-- <view class="t-icon t-icon-tishi2" style="margin-left: auto;"></view> -->
 				</view>
 				<view class="chart_box">
-					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[0]" tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart1" />
+					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[0]"
+						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart1" />
 				</view>
 			</view>
 			<!-- 单科与平均对比 -->
@@ -31,7 +81,8 @@
 					</view>
 				</view>
 				<view class="chart_box">
-					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[1]" tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart2" />
+					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[1]"
+						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart2" />
 				</view>
 			</view>
 			<!-- 个人单科对比 -->
@@ -45,19 +96,20 @@
 					</view>
 				</view>
 				<view class="chart_box" v-if="scoreTypeCurrent === '得分'">
-					<qiun-data-charts type="line" ontouch="true" :chartData="examChartData.totalChartData[2]" tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart3" />
+					<qiun-data-charts type="line" ontouch="true" :chartData="examChartData.totalChartData[2]"
+						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart3" />
 				</view>
 				<view class="chart_box" v-if="scoreTypeCurrent === '得分率'">
-					<qiun-data-charts type="line" ontouch="true" :chartData="examChartData.totalChartData[2]" tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="total_chart4" />
+					<qiun-data-charts type="line" ontouch="true" :chartData="examChartData.totalChartData[2]"
+						tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="total_chart4" />
 				</view>
 			</view>
 		</view>
 		<!-- 选择器 -->
 		<!-- 科目选择 -->
-		<u-picker :show="subjectPicker" :columns="subjectList" @confirm="subjectConfirm" @cancel="cancel"/>
+		<u-picker :show="subjectPicker" :columns="subjectList" @confirm="subjectConfirm" @cancel="cancel" />
 		<!-- 模式选择 -->
-		<u-picker :show="scoreTypePicker" :columns="scoreTypeList" @confirm="scoreTypeConfirm"
-			@cancel="cancel"/>
+		<u-picker :show="scoreTypePicker" :columns="scoreTypeList" @confirm="scoreTypeConfirm" @cancel="cancel" />
 	</view>
 </template>
 
@@ -69,7 +121,7 @@
 	} from 'vuex'
 	export default {
 		computed: {
-			...mapState('m_chart', ['examChartData','subjectExamData']),
+			...mapState('m_chart', ['examChartData', 'subjectExamData']),
 		},
 		watch: {
 			subjectCurrent: {
@@ -78,6 +130,7 @@
 					let temp = this.examChartData
 					temp.totalChartData[1] = subjectChartData
 					this.updateExamChartData(temp)
+					this.chooseAnalysisSubject()
 				},
 				immediate: false
 			},
@@ -89,44 +142,113 @@
 				subjectPicker: false,
 				scoreTypePicker: false,
 				//选择器内容
-				subjectList:'',
-				scoreTypeList: [['得分', '得分率']],
+				subjectList: '',
+				scoreTypeList: [
+					['得分', '得分率']
+				],
 				//当前选中
 				subjectCurrent: '',
 				scoreTypeCurrent: '',
+				//分析模块数据
+				analysisData: [{
+					title: '学期平均总得分',
+					data: '',
+					color: '#4169E1',
+				}, {
+					title: '学期平均分',
+					data: '',
+					color: '#ff8caf',
+				}],
+				//学期平均总得分
+				totalSemAvg: '',
+				//单科学期平均得分
+				singleSemAvg: ''
 			}
 		},
 		onLoad() {
 			this.init()
 		},
 		methods: {
-			...mapMutations('m_chart',['updateExamChartData']),
-			init(){
+			...mapMutations('m_chart', ['updateExamChartData']),
+			init() {
 				this.setChartOptions()
+				this.getAnalysisData()
+			},
+			//获得分析数据
+			getAnalysisData() {
+				function arrSum(array) {
+					let cont = 0
+					for (let i = 0; i < array.length; i++) {
+						cont += array[i]
+					}
+					return cont;
+				}
+				let totalSemAvg = parseInt((arrSum(this.examChartData.totalChartData[0].series[0].data) / this.examChartData.totalChartData[0].series[0].data.length).toFixed(0))
+				this.totalSemAvg = totalSemAvg
+				let classSemAvg = parseInt((arrSum(this.examChartData.totalChartData[0].series[1].data) / this.examChartData.totalChartData[0].series[1].data.length).toFixed(0))
+				console.log('班级平均总分', classSemAvg);
+				let gradeSemAvg = parseInt((arrSum(this.examChartData.totalChartData[0].series[2].data) / this.examChartData.totalChartData[0].series[2].data.length).toFixed(0))
+				console.log('年级平均总分', gradeSemAvg);
+				if (totalSemAvg > classSemAvg && totalSemAvg > gradeSemAvg) {
+					this.analysisData[0].data = 'top'
+				} else if (totalSemAvg > classSemAvg && totalSemAvg >= gradeSemAvg) {
+					this.analysisData[0].data = 'midClass'
+				} else if (totalSemAvg > gradeSemAvg && totalSemAvg >= classSemAvg) {
+					this.analysisData[0].data = 'midGrade'
+				} else {
+					this.analysisData[0].data = 'btm'
+				}
+			},
+			chooseAnalysisSubject(){
+				function arrSum(array) {
+					let cont = 0
+					for (let i = 0; i < array.length; i++) {
+						cont += array[i]
+					}
+					return cont;
+				}
+				this.analysisData[1].title = this.subjectCurrent + '学期平均分'
+				console.log(this.examChartData.totalChartData[1]);
+				let singleSemAvg = parseInt((arrSum(this.examChartData.totalChartData[1].series[0].data) / this.examChartData.totalChartData[1].series[0].data.length).toFixed(0))
+				this.singleSemAvg = singleSemAvg
+				let classSemSinAvg = parseInt((arrSum(this.examChartData.totalChartData[1].series[1].data) / this.examChartData.totalChartData[1].series[1].data.length).toFixed(0))
+				console.log('班级平均单科总分', classSemSinAvg);
+				let gradeSemSinAvg = parseInt((arrSum(this.examChartData.totalChartData[1].series[2].data) / this.examChartData.totalChartData[1].series[2].data.length).toFixed(0))
+				console.log('年级平均单科总分', gradeSemSinAvg);
+				if (singleSemAvg > classSemSinAvg && singleSemAvg > gradeSemSinAvg) {
+					this.analysisData[1].data = 'top'
+				} else if (singleSemAvg > classSemSinAvg && singleSemAvg >= gradeSemSinAvg) {
+					this.analysisData[1].data = 'midClass'
+				} else if (singleSemAvg > gradeSemSinAvg && singleSemAvg >= classSemSinAvg) {
+					this.analysisData[1].data = 'midGrade'
+				} else {
+					this.analysisData[1].data = 'btm'
+				}
 			},
 			//初始化选择器内容(图表配置)
-			setChartOptions(){
+			setChartOptions() {
 				if (this.scoreTypeCurrent === '')
 					this.scoreTypeCurrent = this.scoreTypeList[0][0]
 				if (this.subjectList === '') {
 					let arr = []
 					arr.push(this.subjectExamData.subjectList)
 					this.subjectList = arr
-					if (this.subjectCurrent === '')
-						this.subjectCurrent = this.subjectList[0][0]
+					this.subjectCurrent = this.subjectList[0][0]
+				}else{
+					this.subjectCurrent = this.subjectList[0][0]
 				}
 			},
 			//切换科目
-			subjectConfirm(e){
+			subjectConfirm(e) {
 				this.subjectCurrent = e.value[0]
 				this.subjectPicker = false
 			},
 			//切换模式
-			scoreTypeConfirm(e){
+			scoreTypeConfirm(e) {
 				this.scoreTypeCurrent = e.value[0]
 				this.scoreTypePicker = false
 			},
-			cancel(){
+			cancel() {
 				this.subjectPicker = false
 				this.scoreTypePicker = false
 			}

+ 1 - 0
subpkg/statslist/workstats.vue

@@ -89,6 +89,7 @@
 			transform: skew(-15deg);
 			color: #FFF;
 			z-index: 2;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 		}
 	
 		.content_subtitle {

+ 3 - 3
subpkg/userinfo/childinfo.vue

@@ -2,7 +2,7 @@
 	<view class="page_view">
 		<top-return text="孩子名片" color="#FFF"></top-return>
 		<view class="detail_image"
-			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)),url(${image})`}"></view>
+			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 60%),url(${image})`}"></view>
 		<!-- 孩子头部信息 -->
 		<view class="top_info">
 			<image class="top_avatar" v-if="childInfo.avatar === '默认'"
@@ -79,7 +79,7 @@
 		},
 		data() {
 			return {
-				image: 'https://images.unsplash.com/photo-1520454974749-611b7248ffdb?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80',
+				image: 'https://image.meiye.art/pic_1628493302098',
 				medals: [
 
 				],
@@ -124,7 +124,7 @@
 	.detail_image {
 		position: fixed;
 		width: 100%;
-		height: 1000rpx;
+		height: 800rpx;
 	}
 
 	.top_info {

+ 3 - 3
subpkg/userinfo/parentinfo.vue

@@ -2,7 +2,7 @@
 	<view class="page_view">
 		<top-return text="个人信息" color="#FFF"></top-return>
 		<view class="detail_image"
-			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)),url(${image})`}"></view>
+			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 60%),url(${image})`}"></view>
 		<!-- 个人头部信息 -->
 		<view class="top_info">
 			<image class="top_avatar" :src="parentInfo.avatarUrl"></image>
@@ -81,7 +81,7 @@
 		},
 		data() {
 			return {
-				image: 'https://images.unsplash.com/photo-1568269477456-11e3f3b5c7a5?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80',
+				image: 'https://image.meiye.art/pic_1628493294944',
 			};
 		},
 		methods: {
@@ -114,7 +114,7 @@
 	.detail_image {
 		position: fixed;
 		width: 100%;
-		height: 1000rpx;
+		height: 800rpx;
 	}
 
 	.top_info {

+ 1 - 1
subpkg/userinfo/subscribeinfo.vue

@@ -159,7 +159,7 @@
 					subtitle: '次季¥40续费可随时取消'
 				}],
 				isactive: 1,
-				image: 'https://images.unsplash.com/photo-1454817481404-7e84c1b73b4a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80'
+				image: 'https://image.meiye.art/pic_1632705853492qQO3MFUSDC-SNRS4re5uL'
 			};
 		},
 		onLoad() {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/classdetail.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/gradelist/single.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/gradelist/total.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/statslist/workstats.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/childinfo.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/parentinfo.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/subscribeinfo.js.map


+ 2 - 2
unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -550,7 +550,7 @@ page {
   height: 900rpx;
   background-size: 100%;
   background-repeat: no-repeat;
-  background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)), url("https://images.unsplash.com/photo-1527066579998-dbbae57f45ce?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80");
+  background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 50%), url("https://image.meiye.art/pic_1628634662880");
 }
 .bg_card {
   position: fixed;
@@ -558,7 +558,7 @@ page {
   height: 900rpx;
   background-size: 100%;
   background-repeat: no-repeat;
-  background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)), url("https://images.unsplash.com/photo-1630638865523-fd3a48512b0e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80");
+  background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 50%), url("https://image.meiye.art/pic_1628634712718");
 }
 /*uView配置 */
 .u-line-1 {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 3
unpackage/dist/dev/mp-weixin/common/vendor.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxml


+ 1 - 0
unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxss

@@ -9,6 +9,7 @@
           transform: skew(-15deg);
   color: #FFF;
   z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 }
 .flex_cloumn .content_subtitle {
   font-size: 40rpx;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml


+ 15 - 0
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss

@@ -204,6 +204,21 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
+.image_box {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  align-items: center;
+  margin-bottom: 30rpx;
+}
+.detail_image_none {
+  margin-top: -50rpx;
+  width: 100%;
+  height: 450rpx;
+  background-size: cover;
+  background-repeat: no-repeat;
+  z-index: 50;
+}
 .bg1 {
   background-color: #ff8caf;
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml


+ 15 - 3
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss

@@ -204,6 +204,21 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
+.image_box {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  align-items: center;
+  margin-bottom: 30rpx;
+}
+.detail_image_none {
+  margin-top: -50rpx;
+  width: 100%;
+  height: 450rpx;
+  background-size: cover;
+  background-repeat: no-repeat;
+  z-index: 50;
+}
 .bg2 {
   margin-top: -1065rpx;
   height: 1200rpx;
@@ -224,9 +239,6 @@
 .tag {
   margin-left: 20rpx;
 }
-.detail_image {
-  margin-top: -80rpx;
-}
 .item_box1 {
   display: flex;
   align-items: center;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml


+ 15 - 0
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss

@@ -204,6 +204,21 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
+.image_box {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  align-items: center;
+  margin-bottom: 30rpx;
+}
+.detail_image_none {
+  margin-top: -50rpx;
+  width: 100%;
+  height: 450rpx;
+  background-size: cover;
+  background-repeat: no-repeat;
+  z-index: 50;
+}
 .bg1 {
   background-color: #FF6D31;
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml


+ 15 - 0
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss

@@ -204,6 +204,21 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
+.image_box {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  align-items: center;
+  margin-bottom: 30rpx;
+}
+.detail_image_none {
+  margin-top: -50rpx;
+  width: 100%;
+  height: 450rpx;
+  background-size: cover;
+  background-repeat: no-repeat;
+  z-index: 50;
+}
 .bg1 {
   background-color: #f9c752;
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxml


+ 14 - 10
unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxss

@@ -45,7 +45,7 @@
   display: flex;
   flex-direction: column;
   align-items: center;
-  justify-content: space-around;
+  justify-content: space-between;
 }
 .week_view .week_item_select .item_box .tag_fill {
   border-radius: 6rpx;
@@ -69,22 +69,18 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  margin: 0 20rpx 20rpx 20rpx;
+  margin: 0 30rpx 20rpx 30rpx;
 }
 .class_list .class_item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   margin: 10rpx 0;
-  padding: 10rpx;
+  padding: 10rpx 0;
   height: 100rpx;
-  background-color: #f3f4f9;
-  border-radius: 12rpx;
-  background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px) 0 64px;
-  background-color: rgba(0, 0, 0, 0);
-  background-size: auto, auto;
-  background-color: #f3f4f9;
-  background-size: 64px 128px;
+  border-bottom: 4rpx solid #f3f4f9;
+  border-top: 4rpx solid #f3f4f9;
+  border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 }
 .class_list .class_item_title {
   font-size: 32rpx;
@@ -118,12 +114,20 @@
           transform: skew(-15deg);
   color: #FFF;
   z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 }
 .flex_cloumn .content_subtitle {
   font-size: 35rpx;
   color: #FFF;
   z-index: 2;
 }
+.image_box {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  align-items: center;
+  margin-bottom: 70rpx;
+}
 .detail_image1 {
   width: 500rpx;
   height: 600rpx;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/gradelist/single.wxml


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/gradelist/total.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/gradelist/total.wxml


+ 1 - 0
unpackage/dist/dev/mp-weixin/subpkg/statslist/workstats.wxss

@@ -14,6 +14,7 @@
           transform: skew(-15deg);
   color: #FFF;
   z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 }
 .flex_cloumn .content_subtitle {
   font-size: 35rpx;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxss

@@ -14,7 +14,7 @@
 .detail_image {
   position: fixed;
   width: 100%;
-  height: 1000rpx;
+  height: 800rpx;
 }
 .top_info {
   display: flex;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxss

@@ -14,7 +14,7 @@
 .detail_image {
   position: fixed;
   width: 100%;
-  height: 1000rpx;
+  height: 800rpx;
 }
 .top_info {
   display: flex;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/subscribeinfo.js


+ 44 - 7
utils/RequestHandler.js

@@ -965,7 +965,7 @@ function initHome() {
 		title: '思想品德教育',
 		name: '思品',
 		teacher: '史老师',
-		time: '11:50-14:50',
+		time: '11:55-14:50',
 		timeFrame: '下午第一节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg2.mp4',
 		attendance: true
@@ -973,7 +973,7 @@ function initHome() {
 		title: '户外运动锻炼',
 		name: '体育',
 		teacher: '李老师',
-		time: '14:50-17:55',
+		time: '14:50-16:25',
 		timeFrame: '下午第二节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg1.mp4',
 		attendance: true
@@ -1098,7 +1098,7 @@ function initExam() {
 		totalChartData: [{
 				categories: testList,
 				series: [{
-						name: "孩子总",
+						name: "孩子总成绩",
 						data: [
 							556,
 							577,
@@ -1208,7 +1208,7 @@ function initExam() {
 		singleChartData: [{
 				categories: subjectList,
 				series: [{
-						name: "最近成绩",
+						name: "当前测验成绩",
 						data: [
 							91,
 							92,
@@ -1219,7 +1219,7 @@ function initExam() {
 						]
 					},
 					{
-						name: "上次成绩",
+						name: "上次测验成绩",
 						data: [
 							88,
 							84,
@@ -1231,10 +1231,47 @@ function initExam() {
 					}
 				],
 			},
+			{
+					categories: subjectList,
+					series: [{
+							name: "当前测验成绩",
+							data: [
+								99,
+								72,
+								84,
+								92,
+								77,
+								93
+							]
+						},
+						{
+							name: "班级平均",
+							data: [
+								88,
+								84,
+								79,
+								82,
+								89,
+								83
+							]
+						},
+						{
+							name: "年级平均",
+							data: [
+								78,
+								74,
+								77,
+								86,
+								78,
+								79
+							]
+						}
+					],
+				},
 			{
 				categories: subjectList,
 				series: [{
-						name: "最近成绩",
+						name: "当前测验成绩",
 						data: [
 							71,
 							62,
@@ -1245,7 +1282,7 @@ function initExam() {
 						]
 					},
 					{
-						name: "上次成绩",
+						name: "上次测验成绩",
 						data: [
 							48,
 							64,