Przeglądaj źródła

update: 规范项目,优化算法

KELECHUAN 2 lat temu
rodzic
commit
7bc1c16709
100 zmienionych plików z 1731 dodań i 1579 usunięć
  1. BIN
      .vs/slnx.sqlite
  2. BIN
      .vs/teammodelwxapp/v17/.suo
  3. BIN
      .vs/teammodelwxapp/v17/workspaceFileList.bin
  4. 26 20
      common/global_scss/pages_style.scss
  5. 16 19
      components/top-info/top-info.vue
  6. 21 16
      components/top-semester/top-semester.vue
  7. 1 0
      main.js
  8. 1 2
      pages/init/init.vue
  9. 60 91
      pages/style/tab_pages.scss
  10. 138 89
      pages/tab_exam/tab_exam.vue
  11. 213 166
      pages/tab_home/tab_home.vue
  12. 64 43
      pages/tab_mine/tab_mine.vue
  13. 52 52
      pages/tab_swap/tab_swap.vue
  14. 69 57
      pages/tab_work/tab_work.vue
  15. 124 0
      subpkg/datalist/data_pages.scss
  16. 10 21
      subpkg/datalist/examdata.vue
  17. 31 115
      subpkg/datalist/examlist.vue
  18. 9 19
      subpkg/datalist/swapdata.vue
  19. 75 111
      subpkg/datalist/swaplist.vue
  20. 8 19
      subpkg/datalist/workdata.vue
  21. 34 109
      subpkg/datalist/worklist.vue
  22. 1 1
      subpkg/exam/gradelist_pages.scss
  23. 4 4
      subpkg/exam/level.vue
  24. 4 4
      subpkg/exam/ranking.vue
  25. 4 4
      subpkg/exam/single.vue
  26. 4 4
      subpkg/exam/subject.vue
  27. 10 10
      subpkg/exam/total.vue
  28. 18 26
      subpkg/home/classlist.vue
  29. 4 4
      subpkg/home/clockstats.vue
  30. 14 16
      subpkg/mine/childinfo.vue
  31. 16 16
      subpkg/mine/parentinfo.vue
  32. 18 18
      subpkg/mine/subscribeinfo.vue
  33. 36 48
      subpkg/startup/guide.vue
  34. 2 2
      subpkg/startup/login.vue
  35. 2 2
      subpkg/startup/options.vue
  36. 4 6
      subpkg/startup/startup_pages.scss
  37. 13 13
      subpkg/swap/swapstats.vue
  38. 7 7
      subpkg/work/workstats.vue
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-info/top-info.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/init/init.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_mine/tab_mine.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examdata.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examlist.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swapdata.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swaplist.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/workdata.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/worklist.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/exercisesinfo.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/level.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/ranking.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/single.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/subject.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/total.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/classlist.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/clockstats.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/recommendinfo.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/childinfo.js.map
  65. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/messagelist.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/parentinfo.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/subscribeinfo.js.map
  68. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/guide.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/login.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/options.js.map
  71. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/swap/swapstats.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/workstats.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/wrongbookinfo.js.map
  74. 1 1
      unpackage/dist/dev/mp-weixin/common/main.js
  75. 10 4
      unpackage/dist/dev/mp-weixin/common/main.wxss
  76. 2 2
      unpackage/dist/dev/mp-weixin/common/vendor.js
  77. 1 1
      unpackage/dist/dev/mp-weixin/components/top-info/top-info.wxml
  78. 10 10
      unpackage/dist/dev/mp-weixin/components/top-info/top-info.wxss
  79. 1 1
      unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxml
  80. 12 2
      unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxss
  81. 1 1
      unpackage/dist/dev/mp-weixin/pages/init/init.js
  82. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.js
  83. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml
  84. 81 76
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss
  85. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js
  86. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml
  87. 119 95
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss
  88. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.js
  89. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.wxml
  90. 27 4
      unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.wxss
  91. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml
  92. 53 88
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss
  93. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml
  94. 71 83
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss
  95. 1 1
      unpackage/dist/dev/mp-weixin/project.private.config.json
  96. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/datalist/examdata.wxml
  97. 106 6
      unpackage/dist/dev/mp-weixin/subpkg/datalist/examdata.wxss
  98. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/datalist/examlist.wxml
  99. 77 25
      unpackage/dist/dev/mp-weixin/subpkg/datalist/examlist.wxss
  100. 0 0
      unpackage/dist/dev/mp-weixin/subpkg/datalist/swapdata.wxml

BIN
.vs/slnx.sqlite


BIN
.vs/teammodelwxapp/v17/.suo


BIN
.vs/teammodelwxapp/v17/workspaceFileList.bin


+ 26 - 20
common/global_scss/pages_style.scss

@@ -26,6 +26,12 @@ page{
 	color: $title;
 	font-family: YSfont;
 }
+.YS-subtitle{
+	line-height: 32rpx;
+	font-size: 32rpx;
+	color: $subtitle;
+	font-family: YSfont;
+}
 //标题头
 .front-tag {
 	margin-right: 20rpx;
@@ -100,22 +106,22 @@ page{
 	}
 }
 //横向flex布局
-.flex_row{
+.flex-row{
 	display:flex;
 	align-items: center;
 }
 //竖向flex布局
-.flex_cloumn{
+.flex-column{
 	display:flex;
 	flex-direction: column;
 }
 //横向baseline布局
-.flex_baseline{
+.flex-baseline{
 	display: flex;
 	align-items: baseline;
 }
 //插画
-.detail_image {
+.detail-image {
 	width: 100%;
 	height: 450rpx;
 	background-size: cover; //背景图片自适应
@@ -132,19 +138,19 @@ page{
     background-size: 100%;
 }
 //头部背景
-	.bg-box1 {
-		position: fixed;
-		width: 100%;
-		height: 800rpx;
-		background-size: 100%;
-		background-repeat: no-repeat;
-		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634662880');
-	}
-	.bg-box2{
-		position: fixed;
-		width: 100%;
-		height: 800rpx;
-		background-size: 100%;
-		background-repeat: no-repeat;
-		background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634712718');
-	}
+.bg-box1 {
+	position: fixed;
+	width: 100%;
+	height: 800rpx;
+	background-size: 100%;
+	background-repeat: no-repeat;
+	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634662880');
+}
+.bg-box2{
+	position: fixed;
+	width: 100%;
+	height: 800rpx;
+	background-size: 100%;
+	background-repeat: no-repeat;
+	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634712718');
+}

+ 16 - 19
components/top-info/top-info.vue

@@ -1,27 +1,24 @@
 <template>
 	<view>
-		<view class="info_box">
+		<view class="info-box">
 			<image class="avatar" v-if="childInfo.avatar === '默认'"
 				:src="childInfo.gender==='男'?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'">
 			</image>
 			<image class="avatar" v-if="childInfo.avatar != '默认'" :src="childInfo.avatar"></image>
-			<view class="flex_cloumn">
-				<view class="content_name">{{childInfo.name}}</view>
-				<view class="content_class">{{childInfo.class}}</view>
+			<view class="flex-column">
+				<view class="info-name">{{childInfo.name}}</view>
+				<view class="info-class">{{childInfo.class}}</view>
 			</view>
-			<view class="user_data">
-
-				<view class="time_stamp">
+			<view class="capsule-box">
+				<view class="time-stamp">
 					{{timeStamp}}更新
 				</view>
-
-				<view class="subscribe-tag" @click="navSubscribe">
+				<view class="sub-tag" @click="navSubscribe">
 					<view class="t-icon t-icon-huangguan1"></view>
-					<view class="subscribe-tag-text">
+					<view class="sub-tag-text">
 						{{userData.subscribeLevel}}
 					</view>
 				</view>
-
 			</view>
 		</view>
 	</view>
@@ -68,7 +65,7 @@
 </script>
 
 <style lang="scss">
-	.info_box {
+	.info-box {
 		margin: 560rpx 50rpx 0 50rpx;
 		display: flex;
 		align-items: center;
@@ -83,20 +80,20 @@
 			z-index: 55;
 		}
 
-		.flex_cloumn {
+		.flex-column {
 			margin-left: 40rpx;
 			width: 200rpx;
 			height: 120rpx;
 			justify-content: space-around;
 
-			.content_name {
+			.info-name {
 				font-size: 55rpx;
 				font-family: YSfont;
 				color: #FFF;
 				z-index: 99;
 			}
 
-			.content_class {
+			.info-class {
 				font-size: 40rpx;
 				font-family: YSfont;
 				color: #FFF;
@@ -104,7 +101,7 @@
 			}
 		}
 
-		.user_data {
+		.capsule-box {
 			display: flex;
 			flex-direction: column;
 			align-items: center;
@@ -112,7 +109,7 @@
 			margin-left: auto;
 			height: 120rpx;
 
-			.subscribe-tag {
+			.sub-tag {
 				display: flex;
 				align-items: center;
 				border-radius: 6rpx;
@@ -121,7 +118,7 @@
 				background: #2f3137;
 				z-index: 99;
 
-				.subscribe-tag-text {
+				.sub-tag-text {
 					margin-left: 2rpx;
 					font-size: 28rpx;
 					font-family: YSfont;
@@ -137,7 +134,7 @@
 				}
 			}
 
-			.time_stamp {
+			.time-stamp {
 				color: #FFF;
 				font-size: 24rpx;
 				font-family: YSfont;

+ 21 - 16
components/top-semester/top-semester.vue

@@ -1,20 +1,17 @@
 <template>
 	<view>
 		<!-- 页面标题内容 -->
-		<view class="flex_row" style="margin: 140rpx 40rpx 0 40rpx;">
-			<view class="flex_cloumn">
-				<view class="flex_baseline">
-					<view class="content_title">{{childInfo.semester.split('学年')[0]}}</view>
-					<view class="content_title" style="margin-left: 20rpx;font-size: 40rpx;">学年</view>
-					<view class="content_title" style="margin-left: 20rpx;">
+		<view class="flex-row" style="margin: 140rpx 40rpx 0 40rpx;">
+			<view class="info-box">
+				<view class="flex-baseline">
+					<view class="info-title">{{childInfo.semester.split('学年')[0]}}</view>
+					<view class="info-subtitle">学年</view>
+					<view class="info-title" style="margin-left: 20rpx;">
 						{{childInfo.semester.split('学年')[1].split('学期')[0]}}
 					</view>
-					<view class="content_title" style="margin-left: 20rpx;font-size: 40rpx;">学期</view>
-
+					<view class="info-subtitle">学期</view>
 				</view>
-
-				<view class="flex_baseline">
-
+				<view class="flex-baseline">
 					<view class="tag" style="margin-left: 0;">
 						<view class="tag-text">{{childInfo.school}}</view>
 					</view>
@@ -24,12 +21,9 @@
 					<view class="tag">
 						<view class="tag-text">{{childInfo.name}}同学</view>
 					</view>
-
 				</view>
 			</view>
-			<!-- <image class="avatar" :src="childInfo.avatar"></image> -->
 		</view>
-
 	</view>
 </template>
 
@@ -56,17 +50,28 @@
 </script>
 
 <style lang="scss">
-	.flex_cloumn {
+	.info-box {
+		display: flex;
+		flex-direction: column;
 		height: 170rpx;
 		justify-content: space-around;
 
-		.content_title {
+		.info-title {
 			font-size: 70rpx;
 			font-family: YSfont;
 			color: #FFF;
 			z-index: 2;
 			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 		}
+
+		.info-subtitle {
+			font-size: 40rpx;
+			font-family: YSfont;
+			color: #FFF;
+			z-index: 2;
+			margin-left: 20rpx;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+		}
 	}
 
 	.tag {

+ 1 - 0
main.js

@@ -8,6 +8,7 @@ import Request from '@/utils/RequestHandler.js'
 Vue.prototype.$noMultipleClicks = Common.noMultipleClicks
 Vue.prototype.$getRecentDateArray = Common.getRecentDateArray
 Vue.prototype.$timeStampToTime = Common.timeStampToTime
+Vue.prototype.$logOut = Common.logOut
 Date.prototype.format = Common.dateUtil
 
 Vue.prototype.$initStart = Request.initStart

+ 1 - 2
pages/init/init.vue

@@ -48,10 +48,9 @@
 						url: '/pages/tab_home/tab_home'
 					})
 				} catch (e) {
-					console.log(e);
+					this.$logOut()
 				}
 			},
-
 		}
 	}
 </script>

+ 60 - 91
pages/style/tab_pages.scss

@@ -10,14 +10,14 @@
 		background-color: $color-blue;
 		z-index: 2;
 	
-		.scroll_view {
+		.scroll-view {
 			white-space: nowrap;
 			height: 400rpx;
 			margin: 70rpx 0 50rpx 0;
 	
-			.view_box{
+			.view-box{
 				margin: 0 50rpx;
-				.scroll_view_item {
+				.scroll-view-item {
 					position: relative;
 					display: inline-block;
 					vertical-align: top;
@@ -27,7 +27,7 @@
 					border-radius: 30rpx;
 					background-color: #FFF;
 					
-					.card_info {
+					.card-info {
 						position: relative;
 						display: flex;
 						align-items: center;
@@ -40,7 +40,7 @@
 						}
 					}
 					
-					.chart_box {
+					.chart-box {
 						width: 100%;
 						height: 300rpx;
 					}
@@ -48,14 +48,14 @@
 			}
 		}
 	}
-	//课程表列
-	.class_list {
+	//数据表列
+	.data-list {
 		display: flex;
 		flex-direction: column;
 		justify-content: space-between;
 		margin: 0 30rpx 20rpx 30rpx;
 
-		.class_item {
+		.data-item {
 			display: flex;
 			flex-direction: column;
 			justify-content: space-around;
@@ -65,13 +65,13 @@
 			border-bottom: 4rpx solid #f3f4f9;
 			border-top: 4rpx solid #f3f4f9;
 
-			&_title {
-				font-size: 32rpx;
-				font-weight: bold;
+			.item-title {
+				font-size: 38rpx;
+				font-family: YSfont;
 				color: $title;
 			}
 
-			&_subtitle {
+			.item-subtitle {
 				font-size: 30rpx;
 				font-weight: bold;
 				color: $subtitle; 
@@ -80,17 +80,17 @@
 				white-space: nowrap;
 			}
 
-			&_detail {
+			.item-detail {
 				margin-left: 40rpx;
 				line-height: 30rpx;
-				font-size: 26rpx;
-				font-weight: bold;
+				font-size: 36rpx;
+				font-family: YSfont;
 				color: $subtitle;
 			}
 		}
 	}
 	//统计卡片
-	.total_card{
+	.stat-card{
 		display: flex;
 		justify-content: space-around;
 		margin: 2% 0;
@@ -98,71 +98,48 @@
 		height: 220rpx;
 		background-color: $color-pink;
 		border-radius: $border-radius;
+		.card-column{
+			display: flex;
+			flex-direction: column;
+			justify-content: space-around;
+			margin: 20rpx 0 20rpx 20rpx;
+		}
+		// 卡片字体
+		._title{
+			font-size: 54rpx;	
+			font-family: YSfont;
+			color: #FFF;
+		}
+		._subtitle{
+			font-size: 34rpx;
+			font-family: YSfont;
+			color: #FFF;
+		}
+		._unit{
+			margin-left: 20rpx;
+			font-size: 30rpx;
+			font-family: YSfont;
+			opacity: 0.7;
+			color: #FFF;
+		}
+		// 卡片图片
+		.card-image {
+			position: relative;
+			top: -40rpx;
+			right: -40rpx;
+			height: 300rpx;
+			width: 300rpx;
+			background-size: cover;
+			background-repeat: no-repeat;
+			z-index: 2;
+		}
 	}
-	// 卡片图片
-	.image {
-		position: relative;
-		top: -40rpx;
-		right: -40rpx;
-		height: 300rpx;
-		width: 300rpx;
-		background-size: cover;
-		background-repeat: no-repeat;
-		z-index: 2;
-	}
-	// 卡片字体
-	._title{
-		font-size: 54rpx;	
-		font-family: YSfont;
-		color: #FFF;
-	}
-	._subtitle{
-		font-size: 34rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-	._unit{
-		margin-left: 20rpx;
-		font-size: 30rpx;
-		font-family: YSfont;
-		opacity: 0.7;
-		color: #FFF;
-	}
-	.scroll_view_bottom{
+
+	.scroll-view-bottom{
 		white-space: nowrap;
 		height: 370rpx;
-		._item_box{
-			margin: 0 20rpx;
-			display: inline-block;
-			vertical-align: top;
-			height: 600rpx;
-			width: 84%;
-			.column_item_box{
-				height: 180rpx;
-				width: 100%;
-				margin-bottom: 20rpx;
-				border-radius: $border-radius;
-				background-color: #FFF;
-				overflow: hidden;
-				.image_item{
-					width: 180rpx;
-					height: 180rpx;
-					border-radius: $border-radius;
-					background-size: cover; //背景图片自适应
-					background-repeat: no-repeat;
-					z-index: 50;
-				}
-			}
-			.desc{
-				line-height: 26rpx;
-				font-size: 26rpx;
-				color: #909399;
-				white-space: nowrap;
-				overflow: hidden;
-				text-overflow: ellipsis;
-			}
-		}
-		._item{
+
+		.scroll-item{
 			margin: 0 20rpx;
 			display: inline-block;
 			vertical-align: top;
@@ -176,17 +153,9 @@
 				width: 120rpx;
 				height: 120rpx;
 			}
-			.image_box{
-				height: 220rpx;
-				width: 100%;
-				border-radius: $border-radius;
-				background-size: cover; //背景图片自适应
-				background-repeat: no-repeat;
-				z-index: 50;
-			}
 		}
 	}
-	.circle_line1 {
+	.circle-line1 {
 		position: absolute;
 		width: 352rpx;
 		height: 352rpx;
@@ -198,7 +167,7 @@
 		background-origin: padding-box, border-box;
 		background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
-	.circle_line2 {
+	.circle-line2 {
 		position: absolute;
 		width: 232rpx;
 		height: 232rpx;
@@ -211,7 +180,7 @@
 		background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0.0));
 		z-index: 2;
 	}
-	.circle_line3 {
+	.circle-line3 {
 		position: absolute;
 		width: 176rpx;
 		height: 176rpx;
@@ -225,14 +194,14 @@
 		z-index: 3;
 	}
 	
-	.image_box{
+	.image-box{
 		display: flex;
 		flex-direction: column;
 		height: 100%;
 		align-items: center;
 		margin-bottom: 30rpx;
 	}
-	.detail_image_none {
+	.detail-image-none {
 		margin-top: -50rpx;
 	  width: 100%;
 	  height: 450rpx;

+ 138 - 89
pages/tab_exam/tab_exam.vue

@@ -2,69 +2,66 @@
 	<view class="page-view">
 		<!-- 统计 -->
 		<view class="bg1">
-			<view class="circle_line1"></view>
-			<view class="circle_line2"></view>
-			<view class="circle_line3"></view>
+			<view class="circle-line1"></view>
+			<view class="circle-line2"></view>
+			<view class="circle-line3"></view>
 			<top-info :timeStamp="timeStamp"></top-info>
-			<scroll-view class="scroll_view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-				<view class="view_box">
-					<view class="scroll_view_item" v-for="(item,index) in cardList" :key="index"
+			<scroll-view class="scroll-view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+				<view class="view-box">
+					<view class="scroll-view-item" v-for="(item,index) in cardList" :key="index"
 						@click="navGradeList(index)">
-						<view class="card_info">
+						<view class="card-info">
 							<view :class="item.icon"></view>
 							<view class="title">{{item.title}}</view>
 						</view>
-						<view class="chart_box">
+						<view class="chart-box">
 							<qiun-data-charts :type="item.type" :chartData="item.data" />
 						</view>
 					</view>
 				</view>
 			</scroll-view>
 		</view>
-
 		<!-- 统计卡片 -->
 		<view class="card-view">
-			<view class="total_card">
-				<view class="flex_cloumn" style="justify-content: space-around;margin: 20rpx 0 20rpx 20rpx;">
-					<view class="flex_baseline">
+			<view class="stat-card">
+				<view class="card-column">
+					<view class="flex-baseline">
 						<text class="_title">今日评测</text>
 						<text class="_title" style="margin-left: 20rpx;">{{examData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">已完成</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{finishData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">完成情况</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{performance}}</text>
 					</view>
 				</view>
-				<view class="image" :style="{backgroundImage:`url(${image})`}"></view>
+				<view class="card-image" :style="{backgroundImage:`url(${image})`}"></view>
 			</view>
 			<!-- 列表卡片 -->
 			<view class="card-item" style="width: 100%;">
 				<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" v-if="examData.length != 0">
+					<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: none}"
-						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="data-list">
+					<view class="data-item" :style="{borderImage: none}" 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;">
-								<view class="flex_row" style="margin-left: 20rpx;">
-									<view class="class_item_title">{{item.examInfo.name}}</view>
+							<view class="flex-column" style="height:92rpx;justify-content: space-between;">
+								<view class="flex-row" style="margin-left: 20rpx;">
+									<view class="item-title">{{item.examInfo.name}}</view>
 								</view>
-								<view class="flex_row">
+								<view class="flex-row">
 									<view class="tag-fill">
 										<view class="tag-text">{{item.examInfo.subjects[0].name}}</view>
 									</view>
@@ -76,63 +73,50 @@
 										<view class="tag-text">{{item.examInfo.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>
-
 								</view>
 							</view>
 						</view>
 					</view>
-					<view class="image_box" v-if="examData.length === 0">
-						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></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>
 
-			<view class="flex_cloumn" style="margin: 15rpx 0 10rpx 20rpx;">
+			<view class="flex-column" style="margin: 15rpx 0 10rpx 20rpx;">
 				<view class="title" style="font-size: 32rpx;">评测练习</view>
 				<view class="bottom-tag"></view>
 			</view>
 
-			<view class="flex_row" style="width: 70%;"></view>
+			<view class="flex-row" style="width: 70%;"></view>
 		</view>
-		<scroll-view class="scroll_view_bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-			<view class="_item" v-for="(item,index) in examPractice" :key="index" @click="navExercisesInfo(index)">
-				<view class="flex_cloumn" style="height: 320rpx;">
-					<view class="flex_row" style="margin: 10rpx;">
-						<view class="t-icon t-icon-yuwen" v-if="item.subject === '语文'"></view>
-						<view class="t-icon t-icon-shuxue" v-if="item.subject === '数学'"></view>
-						<view class="t-icon t-icon-yingyu" v-if="item.subject === '英语'"></view>
-						<view class="t-icon t-icon-tiyu" v-if="item.subject === '体育'"></view>
-						<view class="t-icon t-icon-tianwen" v-if="item.subject === '科学'"></view>
-						<view class="t-icon t-icon-zuixinkecheng" v-if="item.subject === '思品'"></view>
-						<view class="t-icon t-icon-wuli" v-if="item.subject === '物理'"></view>
-						<view class="t-icon t-icon-huaxue" v-if="item.subject === '化学'"></view>
-						<view class="t-icon t-icon-meishu" v-if="item.subject === '美术'"></view>
-						<view class="t-icon t-icon-yinle" v-if="item.subject === '音乐'"></view>
-						<view class="t-icon t-icon-dili" v-if="item.subject === '地理'"></view>
-						<view class="t-icon t-icon-lishi" v-if="item.subject === '历史'"></view>
-						<view class="flex_cloumn" style="height: 100rpx;justify-content: space-around;">
+		<scroll-view class="scroll-view-bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+			<view class="scroll-item" v-for="(item,index) in examPractice" :key="index"
+				@click="navExercisesInfo(index)">
+				<view class="flex-column" style="height: 320rpx;">
+					<view class="flex-row" style="margin: 10rpx;">
+						<view :class="subjectIcon.find(x=>x.name === item.subject).icon"></view>
+						<view class="flex-title">
 							<view class="YS-title" style="font-size: 40rpx;">{{item.subject}}</view>
-							<view class="tag-fill"
-								style="background-color: #d8deff;width:fit-content;margin-left: 0;padding: 5rpx 10rpx;">
-								<view class="t-icon t-icon-zhengceguizhang"
-									style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
-								<view class="tag-text" style="color: #4169E1;">{{item.type}}</view>
+							<view class="tag-fill">
+								<view class="t-icon t-icon-zhengceguizhang"></view>
+								<view class="tag-text">{{item.type}}</view>
 							</view>
 						</view>
 					</view>
-					<view class="flex_cloumn" style="height: 100%;justify-content: space-around;margin: 0 30rpx 20rpx 30rpx;">
+					<view class="flex-desc">
 						<view class="YS-title">{{item.title}}</view>
 						<view class="YS-title" style="font-size: 30rpx;">「 {{item.modality}} 」</view>
-						<view class="flex_baseline">
-								<view class="subtitle" style="font-weight: 400;font-size: 28rpx;">评测题量,共</view>
-								<view class="subtitle" style="font-weight: 400;font-size: 40rpx;margin-left: 4rpx;">{{item.amount}}</view>
-								<view class="subtitle" style="font-weight: 400;font-size: 28rpx;margin-left: 4rpx;">题</view>
+						<view class="flex-baseline">
+							<view class="desc">评测题量,共</view>
+							<view class="num" style="margin-left: 4rpx;">
+								{{item.amount}}
+							</view>
+							<view class="desc" style="margin-left: 4rpx;">题</view>
 						</view>
-
 					</view>
 				</view>
-
 			</view>
 		</scroll-view>
 	</view>
@@ -175,6 +159,43 @@
 					type: 'mini-column',
 					data: ''
 				}],
+				subjectIcon: [{
+					icon: 't-icon t-icon-yuwen',
+					name: '语文'
+				}, {
+					icon: 't-icon t-icon-shuxue',
+					name: '数学'
+				}, {
+					icon: 't-icon t-icon-yingyu',
+					name: '英语'
+				}, {
+					icon: 't-icon t-icon-tiyu',
+					name: '体育'
+				}, {
+					icon: 't-icon t-icon-tianwen',
+					name: '科学'
+				}, {
+					icon: 't-icon t-icon-zuixinkecheng',
+					name: '思品'
+				}, {
+					icon: 't-icon t-icon-wuli',
+					name: '物理'
+				}, {
+					icon: 't-icon t-icon-huaxue',
+					name: '化学'
+				}, {
+					icon: 't-icon t-icon-meishu',
+					name: '美术'
+				}, {
+					icon: 't-icon t-icon-yinle',
+					name: '音乐'
+				}, {
+					icon: 't-icon t-icon-dili',
+					name: '地理'
+				}, {
+					icon: 't-icon t-icon-lishi',
+					name: '历史'
+				}],
 				image: 'https://ouch-cdn2.icons8.com/yFl5NWU3aVehLBlQf9ctvnZPqtm5U0hqM3IzWvFDCaQ/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvNzY5/LzY1ZTQxZmZjLTg1/YWQtNDYyMi1hYzU0/LWQ3NDEzZmY2NGI1/YS5wbmc.png',
 				//完成情况
 				performance: '',
@@ -227,31 +248,15 @@
 			},
 			//导航
 			navGradeList(index) {
-				if (index === 0) {
-					uni.navigateTo({
-						url: '/subpkg/exam/total'
-					})
-				}
-				if (index === 1) {
-					uni.navigateTo({
-						url: '/subpkg/exam/single'
-					})
-				}
-				if (index === 2) {
-					uni.navigateTo({
-						url: '/subpkg/exam/ranking'
-					})
-				}
-				if (index === 3) {
-					uni.navigateTo({
-						url: '/subpkg/exam/subject'
-					})
-				}
-				if (index === 4) {
-					uni.navigateTo({
-						url: '/subpkg/exam/level'
-					})
-				}
+				let urlArr = ['/subpkg/exam/total',
+					'/subpkg/exam/single',
+					'/subpkg/exam/ranking',
+					'/subpkg/exam/subject',
+					'/subpkg/exam/level'
+				]
+				uni.navigateTo({
+					url: urlArr[index]
+				})
 			},
 			navExamList() {
 				let value = this.finishRate
@@ -264,7 +269,7 @@
 					url: `/subpkg/datalist/examdata?index=${index}`
 				})
 			},
-			navExercisesInfo(index){
+			navExercisesInfo(index) {
 				uni.navigateTo({
 					url: `/subpkg/exam/exercisesinfo?index=${index}`
 				})
@@ -285,15 +290,59 @@
 		margin-left: 20rpx;
 	}
 
-	.circle_line1 {
+	.circle-line1 {
 		background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
 
-	.circle_line2 {
+	.circle-line2 {
 		background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
 
-	.circle_line3 {
+	.circle-line3 {
 		background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
+
+	.flex-title {
+		display: flex;
+		flex-direction: column;
+		height: 100rpx;
+		justify-content: space-around;
+
+		.tag-fill {
+			background-color: #d8deff;
+			width: fit-content;
+			margin-left: 0;
+			padding: 5rpx 10rpx;
+
+			.t-icon {
+				width: 30rpx;
+				height: 30rpx;
+				margin-right: 5rpx;
+			}
+
+			.tag-text {
+				color: #4169E1;
+			}
+		}
+	}
+
+	.flex-desc {
+		display: flex;
+		flex-direction: column;
+		height: 100%;
+		justify-content: space-around;
+		margin: 0 30rpx 20rpx 30rpx;
+
+		.desc {
+			line-height: 28rpx;
+			font-size: 28rpx;
+			color: $subtitle;
+		}
+
+		.num {
+			line-height: 40rpx;
+			font-size: 40rpx;
+			color: $subtitle;
+		}
+	}
 </style>

+ 213 - 166
pages/tab_home/tab_home.vue

@@ -6,25 +6,24 @@
 		<view class="page-view" v-if="isHomeLoad">
 			<!-- 成绩统计 -->
 			<view class="bg1">
-				<view class="circle_line1"></view>
-				<view class="circle_line2"></view>
-				<view class="circle_line3"></view>
+				<view class="circle-line1"></view>
+				<view class="circle-line2"></view>
+				<view class="circle-line3"></view>
 				<top-info :timeStamp="timeStamp"></top-info>
-				<scroll-view class="scroll_view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-					<view class="view_box">
-						<view class="scroll_view_item" v-for="(item,index) in cardList" :key="index"
+				<scroll-view class="scroll-view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+					<view class="view-box">
+						<view class="scroll-view-item" v-for="(item,index) in cardList" :key="index"
 							@click="navTab(index)">
-							<view class="card_info">
+							<view class="card-info">
 								<view :class="item.icon"></view>
 								<view class="title">{{item.title}}</view>
 							</view>
-							<view class="chart_box">
+							<view class="chart-box">
 								<qiun-data-charts type="arcbar" :chartData="item.data" :canvas2d='true'
 									:canvasId='item.canvasId' :opts="item.chartOpts" />
 							</view>
 						</view>
 					</view>
-
 				</scroll-view>
 			</view>
 			<!-- 通知 -->
@@ -41,19 +40,19 @@
 					<view class="card-title">
 						<view class="front-tag"></view>
 						<view class="title">今日课程</view>
-						<view class="flex_row" style="margin: 0 0 0 auto;" @click="navClassList">
+						<view class="flex-row" style="margin: 0 0 0 auto;" @click="navClassList">
 							<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="data-list">
 						<!-- 上上节 -->
-						<view class="class_item" v-if="classCurrent === classList.length">
-							<view class="flex_row">
+						<view class="data-item" v-if="classCurrent === classList.length">
+							<view class="flex-row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
-								<view class="flex_cloumn">
-									<view class="flex_row_home">
-										<view class="class_item_title">{{classList[classCurrent - 3].title}}</view>
+								<view class="flex-column">
+									<view class="row-margin">
+										<view class="item-title">{{classList[classCurrent - 3].title}}</view>
 										<view class="tag">
 											<view class="tag-text">{{classList[classCurrent - 3].name}}</view>
 										</view>
@@ -61,27 +60,28 @@
 											<view class="tag-text">{{classList[classCurrent - 3].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row_home">
-										<view class="class_item_subtitle">上节</view>
-										<view class="class_item_detail" style="font-size: 32rpx;">
+									<view class="row-margin">
+										<view class="item-subtitle">上节</view>
+										<view class="item-detail">
 											{{classList[classCurrent - 3].time}}
 										</view>
 									</view>
 								</view>
 
-								<view class="class_btn">
-									<view class="_text">{{classList[classCurrent - 3].attendance?'已出勤':'未出勤'}}</view>
+								<view class="state">
+									<view class="state-text">{{classList[classCurrent - 3].attendance?'已出勤':'未出勤'}}
+									</view>
 								</view>
 
 							</view>
 						</view>
 						<!-- 上节 -->
-						<view class="class_item" v-if="classCurrent >= 2">
-							<view class="flex_row">
+						<view class="data-item" v-if="classCurrent >= 2">
+							<view class="flex-row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
-								<view class="flex_cloumn">
-									<view class="flex_row_home">
-										<view class="class_item_title">{{classList[classCurrent - 2].title}}</view>
+								<view class="flex-column">
+									<view class="row-margin">
+										<view class="item-title">{{classList[classCurrent - 2].title}}</view>
 										<view class="tag">
 											<view class="tag-text">{{classList[classCurrent - 2].name}}</view>
 										</view>
@@ -89,27 +89,28 @@
 											<view class="tag-text">{{classList[classCurrent - 2].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row_home">
-										<view class="class_item_subtitle">上节</view>
-										<view class="class_item_detail" style="font-size: 32rpx;">
+									<view class="row-margin">
+										<view class="item-subtitle">上节</view>
+										<view class="item-detail">
 											{{classList[classCurrent - 2].time}}
 										</view>
 									</view>
 								</view>
 
-								<view class="class_btn">
-									<view class="_text">{{classList[classCurrent - 2].attendance?'已出勤':'未出勤'}}</view>
+								<view class="state">
+									<view class="state-text">{{classList[classCurrent - 2].attendance?'已出勤':'未出勤'}}
+									</view>
 								</view>
 
 							</view>
 						</view>
 						<!-- 当前 -->
-						<view class="class_item" style="border-image: linear-gradient(to right, #4169E1, #FFF) 1;">
-							<view class="flex_row">
+						<view class="data-item" style="border-image: linear-gradient(to right, #4169E1, #FFF) 1;">
+							<view class="flex-row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
-								<view class="flex_cloumn">
-									<view class="flex_row_home">
-										<view class="class_item_title" style="color: #4169E1;">
+								<view class="flex-column">
+									<view class="row-margin">
+										<view class="item-title" style="color: #4169E1;">
 											{{classList[classCurrent - 1].title}}
 										</view>
 										<view class="tag">
@@ -119,28 +120,29 @@
 											<view class="tag-text">{{classList[classCurrent - 1].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row_home">
-										<view class="class_item_subtitle" style="color: #4169E1;">当前</view>
-										<view class="class_item_detail" style="font-size: 32rpx;color: #4169E1;">
+									<view class="row-margin">
+										<view class="item-subtitle" style="color: #4169E1;">当前</view>
+										<view class="item-detail" style="color: #4169E1;">
 											{{classList[classCurrent - 1].time}}
 										</view>
 									</view>
 								</view>
 
-								<view class="class_btn" style="background-color: #ff5959;">
-									<view class="_text">{{classList[classCurrent - 1].attendance?'课程中':'未出勤'}}</view>
+								<view class="state" style="background-color: #ff5959;">
+									<view class="state-text">{{classList[classCurrent - 1].attendance?'课程中':'未出勤'}}
+									</view>
 								</view>
 
 							</view>
 						</view>
 						<!-- 下节 -->
-						<view class="class_item" v-if="classCurrent != classList.length">
-							<view class="flex_row">
+						<view class="data-item" v-if="classCurrent != classList.length">
+							<view class="flex-row">
 								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
 								</view>
-								<view class="flex_cloumn">
-									<view class="flex_row_home">
-										<view class="class_item_title">{{classList[classCurrent].title}}</view>
+								<view class="flex-column">
+									<view class="row-margin">
+										<view class="item-title">{{classList[classCurrent].title}}</view>
 										<view class="tag">
 											<view class="tag-text">{{classList[classCurrent].name}}</view>
 										</view>
@@ -148,28 +150,28 @@
 											<view class="tag-text">{{classList[classCurrent].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row_home">
-										<view class="class_item_subtitle">下节</view>
-										<view class="class_item_detail" style="font-size: 32rpx;">
+									<view class="row-margin">
+										<view class="item-subtitle">下节</view>
+										<view class="item-detail">
 											{{classList[classCurrent].time}}
 										</view>
 									</view>
 								</view>
 
-								<view class="class_btn" style="background-color: #909399;">
-									<view class="_text">未开始</view>
+								<view class="state" style="background-color: #909399;">
+									<view class="state-text">未开始</view>
 								</view>
 
 							</view>
 						</view>
 						<!-- 下下节 -->
-						<view class="class_item" v-if="classCurrent === 1">
-							<view class="flex_row">
+						<view class="data-item" v-if="classCurrent === 1">
+							<view class="flex-row">
 								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
 								</view>
-								<view class="flex_cloumn">
-									<view class="flex_row_home">
-										<view class="class_item_title">{{classList[classCurrent+1].title}}</view>
+								<view class="flex-column">
+									<view class="row-margin">
+										<view class="item-title">{{classList[classCurrent+1].title}}</view>
 										<view class="tag">
 											<view class="tag-text">{{classList[classCurrent+1].name}}</view>
 										</view>
@@ -177,16 +179,16 @@
 											<view class="tag-text">{{classList[classCurrent+1].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row_home">
-										<view class="class_item_subtitle">下节</view>
-										<view class="class_item_detail" style="font-size: 32rpx;">
+									<view class="row-margin">
+										<view class="item-subtitle">下节</view>
+										<view class="item-detail">
 											{{classList[classCurrent+1].time}}
 										</view>
 									</view>
 								</view>
 
-								<view class="class_btn" style="background-color: #909399;">
-									<view class="_text">未开始</view>
+								<view class="state" style="background-color: #909399;">
+									<view class="state-text">未开始</view>
 								</view>
 
 							</view>
@@ -199,29 +201,29 @@
 						<view class="front-tag"></view>
 						<view class="title">今日课程</view>
 					</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" style="justify-content: space-between;">
-								<view class="class_item_title" v-if="!isAfterDayClass">
+					<view class="detail-image-none" :style="{backgroundImage:`url(${image})`}"></view>
+					<view class="data-list">
+						<view class="data-item" style="height: 120rpx;">
+							<view class="flex-row" style="justify-content: space-between;">
+								<view class="item-title" v-if="!isAfterDayClass">
 									{{classList.length === 0 ? '假期充电' : '课间休息'}}
 								</view>
-								<view class="class_item_title" v-if="isAfterDayClass">课程完成</view>
+								<view class="item-title" v-if="isAfterDayClass">课程完成</view>
 								<view class="tag" style="margin: 0;">
 									<view class="tag-text" v-if="!isAfterDayClass">
 										{{classList.length === 0 ? '无课' : '下课'}}
 									</view>
 									<view class="tag-text" v-if="isAfterDayClass">放学</view>
 								</view>
-								<view class="class_item_subtitle" style="font-weight: 400;font-size: 26rpx;"
+								<view class="item-subtitle" style="font-weight: 400;font-size: 26rpx;"
 									v-if="!isAfterDayClass">
 									{{classList.length === 0 ? '合理规划' : '预习下节'}}
 								</view>
-								<view class="class_item_subtitle" style="font-weight: 400;font-size: 26rpx;"
+								<view class="item-subtitle" style="font-weight: 400;font-size: 26rpx;"
 									v-if="isAfterDayClass">巩固所学</view>
-								<view class="flex_row" @click="navClassList">
+								<view class="flex-row" @click="navClassList">
 									<view class="t-icon t-icon-fenlei"></view>
-									<view class="class_item_title" style="color: #4169E1;margin-left: 10rpx;">课程列表
+									<view class="item-title" style="color: #4169E1;margin-left: 10rpx;">课程列表
 									</view>
 								</view>
 							</view>
@@ -230,40 +232,40 @@
 				</view>
 				<!-- 今日打卡模块 -->
 				<view class="card-item" style="height: 300rpx;" @click="navClockStats">
-					<view class="flex_row" style="margin: 20rpx 20rpx 0 20rpx;">
-						<view class="icon_box" style="width: 110rpx;height: 110rpx; background-color: #d8deff;">
+					<view class="flex-row" style="margin: 20rpx 20rpx 0 20rpx;">
+						<view class="icon-box" style="width: 120rpx;height: 120rpx; background-color: #d8deff;">
 							<view class="t-icon t-icon-a-rilidaka" style="width: 60rpx;height: 60rpx;"></view>
 						</view>
-						<view class="item_block">
+						<view class="clock-block">
 							<view class="subtitle">打卡记录</view>
-							<view class="flex_baseline">
+							<view class="flex-baseline">
 								<view class="YS-title">{{dayTime.split('月')[0]}}</view>
-								<view class="YS-title" style="font-size: 28rpx; margin-left: 6rpx;">月</view>
+								<view class="YS-title" style="font-size: 30rpx; margin-left: 4rpx;">月</view>
 								<view class="YS-title" style="margin-left: 4rpx;">
 									{{dayTime.split('月')[1]}}
 								</view>
-								<view class="YS-title" style="font-size: 28rpx; margin-left: 6rpx;">日</view>
+								<view class="YS-title" style="font-size: 30rpx; margin-left: 4rpx;">日</view>
 							</view>
 						</view>
 					</view>
-					<view class="flex_row" style="margin: auto 20rpx 20rpx 20rpx;justify-content: space-between;">
-						<view class="item_block" style="margin-left: -10rpx;">
+					<view class="flex-row" style="margin: auto 20rpx 20rpx 20rpx;justify-content: space-between;">
+						<view class="clock-block">
 							<view class="subtitle">打卡时间</view>
 							<view class="YS-title" v-if="clockTime === '无记录'">
 								{{clockTime}}
 							</view>
-							<view class="flex_baseline" v-if="clockTime != '无记录'">
+							<view class="flex-baseline" v-if="clockTime != '无记录'">
 								<view class="YS-title">
 									{{clockTime.split(':')[0].replace('0','')}}
 								</view>
-								<view class="YS-title" style="font-size: 28rpx; margin-left: 6rpx;">点</view>
-								<view class="YS-title" style="margin-left: 6rpx;">
+								<view class="YS-title" style="font-size: 30rpx; margin-left: 4rpx;">点</view>
+								<view class="YS-title" style="margin-left: 4rpx;">
 									{{clockTime.split(':')[1]}}
 								</view>
-								<view class="YS-title" style="font-size: 28rpx; margin-left: 6rpx;">分</view>
+								<view class="YS-title" style="font-size: 30rpx; margin-left: 4rpx;">分</view>
 							</view>
 						</view>
-						<view class="icon_box" style="width: 110rpx;height: 110rpx;"
+						<view class="icon-box" style="width: 120rpx;height: 120rpx;"
 							:style="{backgroundColor: clockState === '未打卡' ? '#ff5959':'#4169E1'}">
 							<view class="YS-title" style="color: #FFF;font-size: 32rpx;">
 								{{clockState}}
@@ -271,7 +273,7 @@
 						</view>
 					</view>
 					<view style="width: 0;height: 0;">
-						<view class="image"
+						<view class="clock-image"
 							:style="{backgroundImage: clockState === '已打卡'?`url(${image2})`:`url(${image1})`}">
 						</view>
 					</view>
@@ -279,12 +281,11 @@
 				<!-- 今日出席模块 -->
 				<view class="card-item" style="background-color: #f3f4f9;justify-content: space-between;">
 					<!-- 当前课程 -->
-					<view class="item_box1">
-						<view class="icon_box" style="background-color: #d8deff; margin-left: 20rpx;">
+					<view class="class-box">
+						<view class="icon-box" style="background-color: #d8deff; margin-left: 20rpx;">
 							<view class="t-icon t-icon-shangke-"></view>
 						</view>
-						<view class="flex_cloumn"
-							style="align-items: center; justify-content: space-around;height: 80rpx;">
+						<view class="info-column">
 							<view class="subtitle" style="font-size: 24rpx;">当前课程</view>
 							<view class="YS-title" v-if="classCurrent!=-1">
 								{{classList[classCurrent - 1].name}}
@@ -292,7 +293,7 @@
 							<view class="YS-title" v-if="classCurrent===-1">无课程</view>
 						</view>
 						<view v-if="classCurrent != -1">
-							<view class="icon_box" style="margin-right: 20rpx;"
+							<view class="icon-box" style="margin-right: 20rpx;"
 								:style="{backgroundColor: classList[classCurrent - 1].attendance ? '#23b46c':'#ff5959'}">
 								<view class="YS-title" style="color: #FFF;font-size: 32rpx;">
 									{{classList[classCurrent - 1].attendance ? '出勤':'缺勤'}}
@@ -300,30 +301,30 @@
 							</view>
 						</view>
 						<view v-if="classCurrent === -1">
-							<view class="icon_box" style="margin-right: 20rpx;background-color: #f9c752;">
+							<view class="icon-box" style="margin-right: 20rpx;background-color: #f9c752;">
 								<view class="YS-title" style="color: #FFF;font-size: 32rpx;">休息</view>
 							</view>
 						</view>
 					</view>
 					<!-- 出勤课程统计 -->
-					<view class="item_box2">
-						<view class="icon_box" style="background-color: #d8deff;margin-left: 20rpx;">
+					<view class="class-box">
+						<view class="icon-box" style="background-color: #d8deff;margin-left: 20rpx;">
 							<view class="t-icon t-icon-shangkejilu"></view>
 						</view>
-						<view class="flex_cloumn"
-							style="align-items: center;justify-content: space-around;height: 80rpx;">
+						<view class="info-column">
 							<view class="subtitle" style="font-size: 24rpx;">出勤课程</view>
 							<view class="YS-title" v-if="classList">{{finishClassNum}}节课</view>
 							<view class="YS-title" v-if="!classList">0 节</view>
 						</view>
 						<view v-if="classList">
-							<view class="icon_box" style="margin-right: 20rpx;"
+							<view class="icon-box" style="margin-right: 20rpx;"
 								:style="{backgroundColor: classAttendanceQuality === '全勤' ? '#23b46c':'#ff5959'}">
-								<view class="YS-title" style="color: #FFF;font-size: 32rpx;">{{classAttendanceQuality}}</view>
+								<view class="YS-title" style="color: #FFF;font-size: 32rpx;">{{classAttendanceQuality}}
+								</view>
 							</view>
 						</view>
 						<view v-if="!classList">
-							<view class="icon_box" style="margin-right: 20rpx;background-color: #f9c752;">
+							<view class="icon-box" style="margin-right: 20rpx;background-color: #f9c752;">
 								<view class="YS-title" style="color: #FFF;font-size: 32rpx;">休息</view>
 							</view>
 						</view>
@@ -331,45 +332,38 @@
 				</view>
 
 				<!-- 推荐课例列表 -->
-				<view class="flex_cloumn" style="margin: 15rpx 0 10rpx 20rpx;">
+				<view class="flex-column" style="margin: 15rpx 0 10rpx 20rpx;">
 					<view class="title" style="font-size: 32rpx;">课程推荐</view>
 					<view class="bottom-tag"></view>
 				</view>
-				<view class="flex_row" style="width: 70%;"></view>
+				<view class="flex-row" style="width: 70%;"></view>
 			</view>
-			<scroll-view class="scroll_view_bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-				<view class="_item_box" v-for="(item,index) in classData" :key="index" @click="navRecommendInfo(index)">
-
-					<view class="column_item_box" v-for="(classItem,i) in item" :key="i">
-						<view style="display: flex; width: 100%;height: 100%;">
-							<view class="image_item" :style="{backgroundImage: `url(${classItem.coverImage})`}">
-							</view>
-							<view class="flex_cloumn"
-								style="margin: 20rpx 20rpx 20rpx 30rpx;justify-content: space-between;width: 400rpx;">
+			<scroll-view class="scroll-view-bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+				<view class="box-container" v-for="(item,index) in classData" :key="index"
+					@click="navRecommendInfo(index)">
+					<view class="clounm-container" v-for="(classItem,i) in item" :key="i">
+						<view class="item-box">
+							<view class="thumb" :style="{backgroundImage: `url(${classItem.coverImage})`}"></view>
+							<view class="info-box">
 								<view class="title" style="font-size: 32rpx;">{{classItem.title}}</view>
-								<view style="display: flex;align-items: center;">
-									<view class="tag-fill" style="background-color: #d8deff;width:fit-content;">
-										<view class="t-icon t-icon-a-wangluokechengzaixianjiaoyu"
-											style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
-										<view class="tag-text" style="color: #4169E1;">{{classItem.classHour}} 学时</view>
+								<view class="flex-row">
+									<view class="tag-fill">
+										<view class="t-icon t-icon-a-wangluokechengzaixianjiaoyu"></view>
+										<view class="tag-text">{{classItem.classHour}} 学时</view>
 									</view>
-									<view class="tag-fill"
-										style="background-color: #d8deff;width:fit-content;margin-left: 20rpx;">
-										<view class="t-icon t-icon-xiaoyuanredian"
-											style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
-										<view class="tag-text" style="color: #4169E1;">{{classItem.learnNum}} 已学</view>
+									<view class="tag-fill" style="margin-left: 20rpx;">
+										<view class="t-icon t-icon-xiaoyuanredian"></view>
+										<view class="tag-text">{{classItem.learnNum}} 已学</view>
 									</view>
 								</view>
 								<view class="desc">{{classItem.description}}</view>
 							</view>
 						</view>
 					</view>
-
 				</view>
 			</scroll-view>
 		</view>
 	</view>
-
 </template>
 
 <script>
@@ -626,11 +620,6 @@
 					this.clockState = '未打卡'
 					this.clockTime = '无记录'
 				}
-				// let isWeekend = new Date(today).getDay()
-				// if(isWeekend === 0 || isWeekend === 6){
-				// 	this.clockState = '放假中'
-				// 	this.clockTime = '无需打卡'
-				// }
 			},
 			//获取滚动通知
 			getNoticeData() {
@@ -658,28 +647,20 @@
 				})
 			},
 			navTab(index) {
-				if (index === 0) {
-					uni.switchTab({
-						url: '/pages/tab_exam/tab_exam'
-					})
-				}
-				if (index === 1) {
-					uni.switchTab({
-						url: '/pages/tab_work/tab_work'
-					})
-				}
-				if (index === 2) {
-					uni.switchTab({
-						url: '/pages/tab_swap/tab_swap'
-					})
-				}
+				let urlArr = 
+				['/pages/tab_exam/tab_exam', 
+				'/pages/tab_work/tab_work', 
+				'/pages/tab_swap/tab_swap']
+				uni.switchTab({
+					url: urlArr[index]
+				})
 			},
 			navClockStats() {
 				uni.navigateTo({
 					url: '/subpkg/home/clockstats'
 				})
 			},
-			navRecommendInfo(index){
+			navRecommendInfo(index) {
 				uni.navigateTo({
 					url: `/subpkg/home/recommendinfo?index=${index}`
 				})
@@ -706,7 +687,11 @@
 		}
 	}
 
-	.flex_row_home {
+	.YS-title {
+		font-size: 38rpx;
+	}
+
+	.row-margin {
 		display: flex;
 		align-items: center;
 		margin: 10rpx 20rpx;
@@ -716,7 +701,8 @@
 		margin-left: 20rpx;
 	}
 
-	.item_box1 {
+	//课程出勤
+	.class-box {
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
@@ -724,20 +710,17 @@
 		height: 140rpx;
 		background-color: #FFF;
 		border-radius: $border-radius;
-	}
 
-	.item_box2 {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		width: 100%;
-		height: 140rpx;
-		background-color: #FFF;
-		border-radius: $border-radius;
+		.info-column {
+			height: 80rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: space-around;
+		}
 	}
 
-
-	.icon_box {
+	.icon-box {
 		display: flex;
 		align-items: center;
 		justify-content: center;
@@ -752,16 +735,16 @@
 		}
 	}
 
-	.item_block {
+	.clock-block {
 		display: flex;
 		flex-direction: column;
-		width: 190rpx;
-		height: 110rpx;
+		width: 180rpx;
+		height: 120rpx;
 		justify-content: space-around;
 		align-items: center;
 	}
 
-	.class_btn {
+	.state {
 		display: flex;
 		align-items: center;
 		margin-left: auto;
@@ -774,7 +757,7 @@
 			height: 32rpx;
 		}
 
-		._text {
+		.state-text {
 			color: #FFF;
 			font-size: 24rpx;
 			font-weight: bold;
@@ -782,19 +765,83 @@
 		}
 	}
 
-	.image {
-		margin-top: -130rpx;
-		margin-left: -20rpx;
-		height: 170rpx;
-		width: 170rpx;
+	.clock-image {
+		margin-top: -160rpx;
+		margin-left: 20rpx;
+		height: 160rpx;
+		width: 160rpx;
 		background-size: 100%;
 		background-repeat: no-repeat;
 		opacity: 0.25;
 		z-index: 1;
 	}
 
-	.scroll_view_bottom {
+	.scroll-view-bottom {
 		white-space: nowrap;
 		height: 630rpx;
+
+		.box-container {
+			margin: 0 20rpx;
+			display: inline-block;
+			vertical-align: top;
+			height: 600rpx;
+			width: 84%;
+
+			.clounm-container {
+				height: 180rpx;
+				width: 100%;
+				margin-bottom: 20rpx;
+				border-radius: $border-radius;
+				background-color: #FFF;
+				overflow: hidden;
+
+				.item-box {
+					display: flex;
+					width: 100%;
+					height: 100%;
+
+					.thumb {
+						width: 180rpx;
+						height: 180rpx;
+						border-radius: $border-radius;
+						background-size: cover; //背景图片自适应
+						background-repeat: no-repeat;
+						z-index: 50;
+					}
+
+					.info-box {
+						display: flex;
+						flex-direction: column;
+						margin: 20rpx 20rpx 20rpx 30rpx;
+						justify-content: space-between;
+						width: 400rpx;
+
+						.tag-fill {
+							background-color: #d8deff;
+							width: fit-content;
+
+							.t-icon {
+								width: 30rpx;
+								height: 30rpx;
+								margin-right: 5rpx;
+							}
+
+							.tag-text {
+								color: #4169E1;
+							}
+						}
+
+						.desc {
+							line-height: 26rpx;
+							font-size: 26rpx;
+							color: #909399;
+							white-space: nowrap;
+							overflow: hidden;
+							text-overflow: ellipsis;
+						}
+					}
+				}
+			}
+		}
 	}
 </style>

+ 64 - 43
pages/tab_mine/tab_mine.vue

@@ -5,32 +5,30 @@
 			<view class="bg2"></view>
 			<view class="bg3"></view>
 			<!-- 个人信息 -->
-			<view class="info_box">
+			<view class="info-box">
 				<image class="avatar" :src="parentInfo.avatarUrl"></image>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="YS-title" style="font-size: 55rpx;">{{parentInfo.nickName}}</view>
-					<view class="YS-title" style="font-size: 40rpx;color: #909399;">{{childInfo.name}}家长</view>
+					<view class="YS-subtitle" style="font-size: 40rpx;">{{childInfo.name}}家长</view>
 				</view>
 			</view>
 			<!-- 卡片列表 -->
 			<view class="card-view" style="margin-top: 50rpx;">
 				<view class="card-item" style="background-color: #d7e4ff;" @click="navChooseChild">
-					<view class="flex_row">
-						<view class="t-icon t-icon-a-boshimaojiaoyu"
-							style="width: 60rpx;height: 60rpx;margin-left: 25rpx;"></view>
-						<view class="flex_cloumn" style="margin: 30rpx 0 30rpx 25rpx;">
-							<view class="YS-title" style="margin: 20rpx 0;font-size: 40rpx;font-size: 300">孩子切换</view>
-							<view class="YS-title" style="font-size:30rpx;margin: 10rpx 0;color: #909399;">查看更多信息</view>
+					<view class="flex-row">
+						<view class="t-icon t-icon-a-boshimaojiaoyu"></view>
+						<view class="flex-column">
+							<view class="box-title">孩子切换</view>
+							<view class="box-subtitle">查看更多信息</view>
 						</view>
 					</view>
 				</view>
 				<view class="card-item" style="background-color: #ffe1e7;" @click="navChildInfo">
-					<view class="flex_row">
-						<view class="t-icon t-icon-a-jiangpaijiangzhang"
-							style="width: 60rpx;height: 60rpx;margin-left: 25rpx;"></view>
-						<view class="flex_cloumn" style="margin: 30rpx 0 30rpx 25rpx;">
-							<view class="YS-title" style="margin: 20rpx 0;font-size: 40rpx;font-size: 300;">孩子名片</view>
-							<view class="YS-title" style="font-size:30rpx;margin: 10rpx 0;color: #909399;">晒出优秀表现</view>
+					<view class="flex-row">
+						<view class="t-icon t-icon-a-jiangpaijiangzhang"></view>
+						<view class="flex-column">
+							<view class="box-title">孩子名片</view>
+							<view class="box-subtitle">晒出优秀表现</view>
 						</view>
 					</view>
 				</view>
@@ -42,7 +40,7 @@
 								<view class="t-icon t-icon-zhanghu"></view>
 								<view class="cell-text">个人信息</view>
 							</view>
-							<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+							<view class="t-icon t-icon-you"></view>
 						</view>
 						<view class="cell" @click="navMsg">
 							<view class="cell-left">
@@ -53,7 +51,7 @@
 								<view style="margin-right: 20rpx;">
 									<u-badge type="warning" shape="horn" :value="userData.msgList.length"></u-badge>
 								</view>
-								<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+								<view class="t-icon t-icon-you"></view>
 							</view>
 						</view>
 						<view class="cell" @click="navSubscribe">
@@ -61,7 +59,7 @@
 								<view class="t-icon t-icon-shoucang"></view>
 								<view class="cell-text">订阅中心</view>
 							</view>
-							<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+							<view class="t-icon t-icon-you"></view>
 						</view>
 					</view>
 				</view>
@@ -73,25 +71,24 @@
 								<view class="t-icon t-icon-a-tuichulikai"></view>
 								<view class="cell-text">退出登录</view>
 							</view>
-							<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+							<view class="t-icon t-icon-you"></view>
 						</view>
 						<view class="cell">
 							<view class="cell-left">
 								<view class="t-icon t-icon-a-appyingyongchengxukaifa"></view>
 								<view class="cell-text">帮助中心</view>
 							</view>
-							<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+							<view class="t-icon t-icon-you"></view>
 						</view>
 						<view class="cell">
 							<view class="cell-left">
 								<view class="t-icon t-icon-shuji"></view>
 								<view class="cell-text">用户协议</view>
 							</view>
-							<view class="t-icon t-icon-you" style="width: 45rpx;height: 45rpx;"></view>
+							<view class="t-icon t-icon-you"></view>
 						</view>
 					</view>
 				</view>
-				<!-- 功能模块 -->
 			</view>
 		</view>
 	</view>
@@ -104,15 +101,16 @@
 	} from 'vuex'
 	export default {
 		computed: {
-			...mapState('m_parent', ['parentInfo', 'userData','childrenData']),
+			...mapState('m_parent', ['parentInfo', 'userData', 'childrenData']),
 			...mapState('m_children', ['childInfo'])
 		},
 		data() {
-			return {
-			};
+			return {};
 		},
-		methods:{
-			...mapMutations('m_parent', ['updateToken', 'updateParentInfo', 'updatePhoneNumber','updateChildrenData','updateUserData']),
+		methods: {
+			...mapMutations('m_parent', ['updateToken', 'updateParentInfo', 'updatePhoneNumber', 'updateChildrenData',
+				'updateUserData'
+			]),
 			...mapMutations('m_children', ['updateChildInfo']),
 			//退出登录事件
 			async logOut() {
@@ -121,15 +119,7 @@
 					content: '确认退出登录吗?'
 				}).catch(err => err)
 				if (succ && succ.confirm) {
-					this.updateToken()
-					this.updateParentInfo()
-					this.updatePhoneNumber()
-					this.updateChildrenData()
-					this.updateUserData()
-					this.updateChildInfo()
-					uni.reLaunch({
-						url: '/subpkg/startup/login'
-					})
+					this.$logOut()
 				}
 			},
 			//切换孩子
@@ -140,7 +130,9 @@
 			},
 			//孩子名片
 			navChildInfo() {
-				let tmdidArr = this.childrenData.map(x=>{return x.tmdid})
+				let tmdidArr = this.childrenData.map(x => {
+					return x.tmdid
+				})
 				let index = tmdidArr.indexOf(this.childInfo.tmdid)
 				uni.navigateTo({
 					url: `/subpkg/mine/childinfo?index=${index}`
@@ -159,13 +151,13 @@
 				})
 			},
 			//订阅信息
-			navSubscribe(){
+			navSubscribe() {
 				uni.navigateTo({
 					url: '/subpkg/mine/subscribeinfo'
 				})
 			}
-			
-			
+
+
 		}
 	}
 </script>
@@ -210,7 +202,7 @@
 			z-index: 4;
 		}
 
-		.info_box {
+		.info-box {
 			width: 100%;
 			margin-top: 200rpx;
 			margin-left: 40rpx;
@@ -226,7 +218,7 @@
 				box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.2);
 			}
 
-			.flex_cloumn {
+			.flex-column {
 				margin-left: 40rpx;
 				width: 200rpx;
 				height: 120rpx;
@@ -269,8 +261,11 @@
 
 					.cell-text {
 						color: #666;
-						font-size: 28rpx;
+						font-size: 30rpx;
+						line-height: 40rpx;
 						margin-left: 20rpx;
+						font-family: YSfont;
+						font-weight: 300;
 					}
 				}
 
@@ -285,4 +280,30 @@
 			}
 		}
 	}
+
+	.flex-row {
+		.flex-column {
+			margin: 30rpx 0 30rpx 25rpx;
+
+			.box-title {
+				font-size: 40rpx;
+				line-height: 80rpx;
+				color: $title;
+				font-family: YSfont;
+			}
+
+			.box-subtitle {
+				font-size: 30rpx;
+				line-height: 50rpx;
+				color: $subtitle;
+				font-family: YSfont;
+			}
+		}
+
+		.t-icon {
+			width: 60rpx;
+			height: 60rpx;
+			margin-left: 25rpx;
+		}
+	}
 </style>

+ 52 - 52
pages/tab_swap/tab_swap.vue

@@ -2,18 +2,18 @@
 	<view class="page-view">
 		<!-- 统计 -->
 		<view class="bg1">
-			<view class="circle_line1"></view>
-			<view class="circle_line2"></view>
-			<view class="circle_line3"></view>
+			<view class="circle-line1"></view>
+			<view class="circle-line2"></view>
+			<view class="circle-line3"></view>
 			<top-info :timeStamp="timeStamp"></top-info>
-			<scroll-view class="scroll_view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-				<view class="view_box">
-					<view class="scroll_view_item" v-for="(item,index) in cardList" :key="index" @click="navSwapStats">
-						<view class="card_info">
+			<scroll-view class="scroll-view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+				<view class="view-box">
+					<view class="scroll-view-item" v-for="(item,index) in cardList" :key="index" @click="navSwapStats">
+						<view class="card-info">
 							<view :class="item.icon"></view>
 							<view class="title">{{item.title}}</view>
 						</view>
-						<view class="chart_box">
+						<view class="chart-box">
 							<qiun-data-charts :type="item.type" :chartData="item.data" :opts="{legend:{show: false}}" />
 						</view>
 					</view>
@@ -22,42 +22,43 @@
 		</view>
 		<!-- 统计卡片 -->
 		<view class="card-view">
-			<view class="total_card" style="background-color:#FF6D31">
-				<view class="flex_cloumn" style="justify-content: space-around;margin: 20rpx 0 20rpx 20rpx;">
-					<view class="flex_baseline">
+			<view class="stat-card" style="background-color:#FF6D31">
+				<view class="card-column">
+					<view class="flex-baseline">
 						<text class="_title">今日活动</text>
 						<text class="_title" style="margin-left: 20rpx;">{{swapData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">已完成</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{finishData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">完成情况</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{performance}}</text>
 					</view>
 				</view>
-				<view class="image" :style="{backgroundImage:`url(${image})`}"></view>
+				<view class="card-image" :style="{backgroundImage:`url(${image})`}"></view>
 			</view>
 			<!-- 列表卡片 -->
 			<view class="card-item" style="width: 100%;">
 				<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" v-if="swapData.length != 0">
+					<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: none}" 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="data-list">
+					<view class="data-item" :style="{borderImage: none}" 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">
-								<view class="flex_row">
-									<view class="class_item_title">{{item.survey.name || item.vote.name}}</view>
+							<view class="flex-column">
+								<view class="flex-row">
+									<view class="item-title">{{item.survey.name || item.vote.name}}</view>
 									<view class="tag-fill" style="background-color: #FF6D31;">
 										<view class="tag-text">
 											{{item.survey.scope === 'private' ? '个人':'学校' || item.vote.scope === 'private' ? '个人':'学校'}}
@@ -70,37 +71,34 @@
 										</view>
 									</view>
 								</view>
-								<view class="flex_row"
-									style="width:510rpx;overflow: hidden;white-space: nowrap;text-overflow: ellipsis">
-									<view class="class_item_subtitle" style="font-size: 26rpx;font-weight: 400;">
+								<view class="row-desc">
+									<view class="item-subtitle" style="font-size: 26rpx;font-weight: 400;">
 										{{item.vote.description || item.survey.description}}
 									</view>
 								</view>
 							</view>
 						</view>
 					</view>
-					<view class="image_box" v-if="swapData.length === 0">
-						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></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>
 
-			<view class="flex_cloumn" style="margin: 15rpx 0 10rpx 20rpx;">
+			<view class="flex-column" style="margin: 15rpx 0 10rpx 20rpx;">
 				<view class="title" style="font-size: 32rpx;">家校互动</view>
 				<view class="bottom-tag"></view>
 			</view>
-
-			<view class="flex_row" style="width: 70%;"></view>
+<!-- 占位 -->
+			<view class="flex-row" style="width: 70%;"></view>
 		</view>
-		<scroll-view class="scroll_view_bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-			<view class="_item">
-				<view class="_item_inner"></view>
-			</view>
-			<view class="_item"></view>
-			<view class="_item"></view>
-			<view class="_item"></view>
-			<view class="_item"></view>
+		<scroll-view class="scroll-view-bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+			<view class="scroll-item"></view>
+			<view class="scroll-item"></view>
+			<view class="scroll-item"></view>
+			<view class="scroll-item"></view>
+			<view class="scroll-item"></view>
 		</scroll-view>
 	</view>
 </template>
@@ -246,32 +244,34 @@
 		background-color: $color-orange;
 	}
 
-	.flex_row {
+	.flex-row {
+		margin: 5rpx 20rpx;
+	}
+
+	.row-desc {
 		margin: 5rpx 20rpx;
+		display: flex;
+		align-items: center;
+		width: 510rpx;
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis
 	}
 
 	.tag-fill {
 		background-color: $color-orange;
 		margin-left: 20rpx;
 	}
-	.circle_line1 {
+
+	.circle-line1 {
 		background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
-	.circle_line2 {
+
+	.circle-line2 {
 		background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
-	.circle_line3 {
+
+	.circle-line3 {
 		background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
-	._item{
-		background-color: #ccc;
-		background-image: radial-gradient(#fff 50%, transparent 50%);
-		background-position: -5px -5px;
-		background-repeat: repeat;
-		background-size: 10px 10px;
-		padding: 5px;
-		._item_inner{
-			background-color: #ccc;
-		}
-	}
 </style>

+ 69 - 57
pages/tab_work/tab_work.vue

@@ -2,18 +2,18 @@
 	<view class="page-view">
 		<!-- 统计 -->
 		<view class="bg1">
-			<view class="circle_line1"></view>
-			<view class="circle_line2"></view>
-			<view class="circle_line3"></view>
+			<view class="circle-line1"></view>
+			<view class="circle-line2"></view>
+			<view class="circle-line3"></view>
 			<top-info :timeStamp="timeStamp"></top-info>
-			<scroll-view class="scroll_view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-				<view class="view_box">
-					<view class="scroll_view_item" v-for="(item,index) in cardList" :key="index" @click="navWorkStats">
-						<view class="card_info">
+			<scroll-view class="scroll-view" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+				<view class="view-box">
+					<view class="scroll-view-item" v-for="(item,index) in cardList" :key="index" @click="navWorkStats">
+						<view class="card-info">
 							<view :class="item.icon"></view>
 							<view class="title">{{item.title}}</view>
 						</view>
-						<view class="chart_box">
+						<view class="chart-box">
 							<qiun-data-charts :type="item.type" :chartData="item.data" />
 						</view>
 					</view>
@@ -22,45 +22,45 @@
 		</view>
 		<!-- 统计卡片 -->
 		<view class="card-view">
-			<view class="total_card" style="background-color:#f9c752">
-				<view class="flex_cloumn" style="justify-content: space-around;margin: 20rpx 0 20rpx 20rpx;">
-					<view class="flex_baseline">
+			<view class="stat-card" style="background-color:#f9c752">
+				<view class="card-column">
+					<view class="flex-baseline">
 						<text class="_title">今日作业</text>
 						<text class="_title" style="margin-left: 20rpx;">{{workData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">已完成</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{finishData.length}}</text>
 						<text class="_unit">例</text>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<text class="_subtitle">完成情况</text>
 						<text class="_subtitle" style="margin-left: 20rpx;">{{performance}}</text>
 					</view>
 				</view>
-				<view class="image" :style="{backgroundImage:`url(${image})`}"></view>
+				<view class="card-image" :style="{backgroundImage:`url(${image})`}"></view>
 			</view>
 			<!-- 列表卡片 -->
 			<view class="card-item" style="width: 100%;">
 				<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" v-if="workData.length != 0">
+					<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"
+				<view class="data-list">
+					<view class="data-item"
 						:style="{borderImage: none}"
 						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="flex-row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-workicon" style="width: 60rpx; height: 60rpx;"></view>
-							<view class="flex_cloumn">
-								<view class="flex_row">
-									<view class="class_item_title">{{item.work.name}}</view>
+							<view class="flex-column">
+								<view class="flex-row">
+									<view class="item-title">{{item.work.name}}</view>
 									<view class="tag-fill" style="background-color: #f9c752;">
 										<view class="tag-text">{{item.work.scope === 'private' ? '个人':'学校'}}</view>
 									</view>
@@ -70,50 +70,41 @@
 										</view>
 									</view>
 								</view>
-								<view class="flex_row"
-									style="width:510rpx;overflow: hidden;white-space: nowrap;text-overflow: ellipsis">
-									<view class="class_item_subtitle" style="font-size: 26rpx;font-weight: 400;">
+								<view class="row-desc">
+									<view class="item-subtitle" style="font-size: 26rpx;font-weight: 400;">
 										{{item.work.description}}
 									</view>
 								</view>
 							</view>
 						</view>
 					</view>
-					<view class="image_box" v-if="workData.length === 0">
-						<view class="detail_image_none" :style="{backgroundImage:`url(${image1})`}"></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>
 
-			<view class="flex_cloumn" style="margin: 15rpx 0 10rpx 20rpx;">
+			<view class="flex-column" style="margin: 15rpx 0 10rpx 20rpx;">
 				<view class="title" style="font-size: 32rpx;">错题本</view>
 				<view class="bottom-tag"></view>
 			</view>
 
-			<view class="flex_row" style="width: 70%;"></view>
+			<view class="flex-row" style="width: 70%;"></view>
 		</view>
-		<scroll-view class="scroll_view_bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
-			<view class="_item" v-for="(item,index) in mistakeData" :key="index" @click="navWrongBookInfo(index)">
-				<view class="flex_cloumn_book" :style="{backgroundColor: item.color}">
-					<view class="book_shadow"></view>
-
-					<view class="book_title">{{item.subject}}</view>
-
-					<view class="flex_cloumn_box">
-						<view class="YS-title" style="color: #FFF;font-size: 60rpx;margin-left: auto;">{{item.subject}}
-						</view>
-						<view class="flex_baseline" style="margin-left: auto;">
-							<view class="subtitle" style="font-size: 28rpx;color: #FFF;font-weight: 400;">收录错题</view>
-							<view class="subtitle"
-								style="color: #FFF;font-weight: 400;font-size: 40rpx;margin-left: 4rpx;">
-								{{item.amount}}
-							</view>
-							<view class="subtitle"
-								style="font-size: 28rpx;color: #FFF;font-weight: 400;margin-left: 4rpx;">道</view>
+		<scroll-view class="scroll-view-bottom" scroll-x="true" :scroll-with-animation="true" scroll-left="0">
+			<view class="scroll-item" v-for="(item,index) in mistakeData" :key="index" @click="navWrongBookInfo(index)">
+				<view class="flex-column-book" :style="{backgroundColor: item.color}">
+					<view class="book-shadow"></view>
+					<view class="bg-title">{{item.subject}}</view>
+					<view class="book-info">
+						<view class="book-title">{{item.subject}}</view>
+						<view class="flex-baseline" style="margin-left: auto;">
+							<view class="book-subtitle" style="margin-left: 0;">收录错题</view>
+							<view class="book-subtitle" style="font-size: 40rpx;">{{item.amount}}</view>
+							<view class="book-subtitle">道</view>
 						</view>
 					</view>
-
 				</view>
 			</view>
 		</scroll-view>
@@ -220,8 +211,17 @@
 		background-color: $color-yellow;
 	}
 
-	.flex_row {
+	.flex-row {
+		margin: 5rpx 20rpx;
+	}
+	.row-desc{
 		margin: 5rpx 20rpx;
+		display: flex;
+		align-items: center;
+		width: 510rpx;
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis
 	}
 
 	.tag-fill {
@@ -233,23 +233,23 @@
 		top: -50rpx;
 	}
 
-	.circle_line1 {
+	.circle-line1 {
 		background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
 
-	.circle_line2 {
+	.circle-line2 {
 		background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
 
-	.circle_line3 {
+	.circle-line3 {
 		background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0.0));
 	}
 
-	.scroll_view_bottom {
+	.scroll-view-bottom {
 		white-space: nowrap;
 		height: 350rpx;
 
-		._item {
+		.scroll-item {
 			margin: 4rpx 20rpx 0 20rpx;
 			display: inline-block;
 			vertical-align: top;
@@ -262,7 +262,7 @@
 		}
 	}
 
-	.flex_cloumn_book {
+	.flex-column-book {
 		display: flex;
 		flex-direction: column;
 		height: 100%;
@@ -270,7 +270,7 @@
 		overflow: hidden;
 	}
 
-	.book_title {
+	.bg-title {
 		position: absolute;
 		margin-top: 60rpx;
 		margin-left: 80rpx;
@@ -281,7 +281,7 @@
 		writing-mode: vertical-lr;
 	}
 
-	.book_shadow {
+	.book-shadow {
 		position: absolute;
 		margin-left: 20rpx;
 		height: 300rpx;
@@ -289,7 +289,7 @@
 		background-image: linear-gradient(to right, rgba(105, 105, 105, 0.1), rgba(255, 255, 255, 0.1));
 	}
 
-	.flex_cloumn_box {
+	.book-info {
 		display: flex;
 		flex-direction: column;
 		height: 100rpx;
@@ -297,5 +297,17 @@
 		margin: 160rpx 20rpx 40rpx 20rpx;
 		justify-content: space-between;
 		z-index: 99;
+		.book-title{
+			line-height: 60rpx;
+			font-family: YSfont;
+			color: #FFF;
+			font-size: 60rpx;
+			margin-left: auto;
+		}
+		.book-subtitle{
+			font-size: 28rpx;
+			color: #FFF;
+			margin-left: 4rpx;
+		}
 	}
 </style>

+ 124 - 0
subpkg/datalist/data_pages.scss

@@ -0,0 +1,124 @@
+	.top-box {
+		display: flex;
+		flex-direction: column;
+		margin: 140rpx 0 0 50rpx;
+		height: 170rpx;
+		justify-content: space-around;
+	
+		.info-title {
+			margin-left: 10rpx;
+			font-size: 70rpx;
+			font-family: YSfont;
+			color: #FFF;
+			z-index: 2;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+		}
+		.info-subtitle {
+			margin-left: 10rpx;
+			font-size: 40rpx;
+			font-family: YSfont;
+			color: #FFF;
+			z-index: 2;
+			text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+		}
+	
+		.data-title {
+			font-size: 60rpx;
+			font-family: YSfont;
+			color: #FFF;
+			z-index: 2;
+			margin-left: 20rpx;
+		}
+		.data-subtitle {
+			font-size: 40rpx;
+			font-family: YSfont;
+			color: #FFF;
+			z-index: 2;
+			opacity: 0.8;
+			margin-left: 20rpx;
+		}
+	}
+	
+	.card-view{
+		.card-item {
+			width: 100%;
+			.card-title {
+				display: flex;
+				align-items: center;
+				padding: 40rpx;
+				height: 40rpx;
+		
+				.t-icon {
+					height: 40rpx;
+					width: 40rpx;
+					margin-right: 10rpx;
+				}
+		
+				.state-seal {
+					width: 55px;
+					height: 55px;
+					margin-left: auto;
+					margin-right: -20rpx;
+				}
+			}
+		
+			.card-info {
+				display: flex;
+				flex-direction: column;
+				margin: 0	40rpx 40rpx 40rpx;
+				.info-type {
+					font-size: 26rpx;
+					line-height: 30rpx;
+					color: $subtitle;
+				}
+			}
+			
+			.content-box {
+				margin: 20rpx;
+				padding: 0 20rpx;
+				background-color: #f6f6f6;
+				border-radius: 10rpx;
+			
+				.title-box {
+					position: relative;
+					top: -20rpx;
+					width: fit-content;
+					height: 36rpx;
+					border-radius: 6rpx;
+					padding: 5rpx 20rpx;
+			
+					.title-text {
+						font-size: 25rpx;
+						font-weight: bold;
+						color: #FFF;
+					}
+				}
+			
+				.content-detail {
+					font-size: 30rpx;
+					font-weight: bold;
+					color: $title;
+					word-break: break-all;
+				}
+			
+				.content-subtitle {
+					font-size: 25rpx;
+					font-weight: bold;
+					color: $subtitle;
+				}
+			}
+		}
+	}
+
+	.report-title {
+		font-size: 75rpx;
+		font-family: YSfont;
+		color: #FFF;
+	}
+	
+	.report-subtitle {
+		font-size: 40rpx;
+		font-family: YSfont;
+		margin-top: 30rpx;
+		color: #FFF;
+	}

+ 10 - 21
subpkg/datalist/examdata.vue

@@ -1,15 +1,15 @@
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>
-		<view class="flex_row">
-			<view class="flex_cloumn" style="margin: 120rpx 0 0 50rpx;">
-				<view class="page_title">评测</view>
-				<view class="page_title">分析报告</view>
-				<view class="page_subtitle" style="margin-top: 30rpx;">{{examData[index].examInfo.name}}</view>
+		<view class="flex-row">
+			<view class="flex-column" style="margin: 120rpx 0 0 50rpx;">
+				<view class="report-title">评测</view>
+				<view class="report-title">分析报告</view>
+				<view class="report-subtitle">{{examData[index].examInfo.name}}</view>
 			</view>
 			<view class="bg1"></view>
-			<view class="detail_image1" :style="{backgroundImage:`url(${image1})`}"></view>
-			<view class="detail_image2" :style="{backgroundImage:`url(${image2})`}"></view>
+			<view class="detail-image1" :style="{backgroundImage:`url(${image1})`}"></view>
+			<view class="detail-image2" :style="{backgroundImage:`url(${image2})`}"></view>
 		</view>
 
 
@@ -44,22 +44,11 @@
 </script>
 
 <style lang="scss">
+	@import 'data_pages.scss';
 	.page-view {
 		background-color: $color-pink;
 	}
 
-	.page_title {
-		font-size: 75rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
-	.page_subtitle {
-		font-size: 40rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
 	.bg1 {
 		position: absolute;
 		top: 200rpx;
@@ -70,7 +59,7 @@
 		background-color: #ffb2c9;
 	}
 
-	.detail_image1 {
+	.detail-image1 {
 		position: absolute;
 		top: 180rpx;
 		left: 580rpx;
@@ -81,7 +70,7 @@
 		z-index: 51;
 	}
 
-	.detail_image2 {
+	.detail-image2 {
 		position: absolute;
 		top: 230rpx;
 		left: 380rpx;

+ 31 - 115
subpkg/datalist/examlist.vue

@@ -3,79 +3,61 @@
 		<top-return :color="'#FFF'" text="评测列表"></top-return>
 
 		<view class="bg-box2"></view>
-
 		<!-- 页面标题内容 -->
-		<view class="flex_cloumn">
-			<view class="flex_baseline">
-				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
-				<view class="content_title" style="margin-left: 10rpx;">月</view>
-				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{dayTime.split('月')[1]}}
-				</view>
-				<view class="content_title" style="margin-left: 10rpx;">日</view>
-				<view class="content_title" style="font-size: 40rpx;margin-left: 20rpx;">已完成</view>
-				<view class="content_title" style="margin-left: 10rpx;font-size: 70rpx;">{{value}}%</view>
+		<view class="top-box">
+			<view class="flex-baseline">
+				<view class="info-title" style="margin-left: 0;">{{dayTime.split('月')[0]}}</view>
+				<view class="info-subtitle">月</view>
+				<view class="info-title">{{dayTime.split('月')[1]}}</view>
+				<view class="info-subtitle">日</view>
+				<view class="info-subtitle" style="margin-left: 20rpx;">已完成</view>
+				<view class="info-title">{{value}}%</view>
 			</view>
-			<view class="flex_baseline">
-				<view class="content_subtitle" style="opacity: 0.8;">孩子今日共</view>
-				<view class="content_subtitle" style="margin-left: 20rpx;font-size: 60rpx;">
-					{{examData.length}}
-				</view>
-				<view class="content_subtitle" style="margin-left: 20rpx;opacity: 0.8;">例评测</view>
+			<view class="flex-baseline">
+				<view class="data-subtitle" style="margin-left: 0;">孩子今日共</view>
+				<view class="data-title">{{examData.length}}</view>
+				<view class="data-subtitle">例评测</view>
 			</view>
 		</view>
-
 		<!-- 卡片内容 -->
 		<view class="card-view">
-
-<!-- 			<view style="margin: -88rpx 0 20rpx auto;">
-				<u-tabs :list="tabList" lineWidth="30" lineColor="#ff8caf" :activeStyle="{
-            color: '#FFF',
-            fontWeight: 'bold',
-            transform: 'scale(1.07)'
-        }" :inactiveStyle="{
-            color: 'rgb(255,255,255,0.8)',
-            transform: 'scale(1)'
-        }" itemStyle="padding-left: 10px; padding-right: 10px; height: 34px;"></u-tabs>
-			</view> -->
-
-			<view class="card-item" style="width: 100%;" v-for="(item,index) in examData" :key="index" @click="navExamData(index)">
-				<view class="card-title" style="padding: 40rpx;height: 40rpx;">
-					<view class="t-icon t-icon-examicon" style="height: 40rpx;width: 40rpx;margin-right: 10rpx;">
-					</view>
+			<view class="card-item" v-for="(item,index) in examData" :key="index"
+				@click="navExamData(index)">
+				<view class="card-title">
+					<view class="t-icon t-icon-examicon"></view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.examInfo.name}}</view>
 					<view
-						:class="item.examInfo.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong'"
-						style="width: 55px;height: 55px;margin-left: auto;margin-right: -20rpx;">
+						:class="[item.examInfo.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong','state-seal']">
 					</view>
 				</view>
-				<view class="cloumn" style="margin: 0 40rpx 40rpx 40rpx;">
-					<view class="flex_row">
-						<view class="tag-fill" :style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c': '#ff8caf' }">
+				<view class="card-info">
+					<view class="flex-row">
+						<view class="tag-fill"
+							:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c': '#ff8caf' }">
 							<view class="tag-text">{{item.examInfo.subjects[0].name}}</view>
 						</view>
-						<view class="tag-fill" style="margin-left: 20rpx;" :style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c': '#ff8caf' }">
+						<view class="tag-fill" style="margin-left: 20rpx;"
+							:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c': '#ff8caf' }">
 							<view class="tag-text">{{item.examInfo.examType.name}}</view>
 						</view>
 					</view>
-					<view class="flex_baseline" style="margin-top: 20rpx;">
-						<view class="subtitle">布置老师:</view>
+					<view class="flex-baseline" style="margin-top: 20rpx;">
+						<view class="info-type">布置老师:</view>
 						<view class="YS-title" style="margin-left: 10rpx;">{{item.examInfo.creatorId}}
 						</view>
-						<view class="subtitle" style="margin-left: 20rpx;">截止时间:</view>
+						<view class="info-type" style="margin-left: 20rpx;">截止时间:</view>
 						<view class="YS-title" style="margin-left: 10rpx;">
 							{{$timeStampToTime(item.examInfo.endTime)}}
 						</view>
 					</view>
 				</view>
-
-				<view class="content_box">
-					<view class="title_box"
+				<view class="content-box">
+					<view class="title-box"
 						:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c': '#ff8caf' }">
-						<view class="title_text">{{item.examInfo.papers[0].name}}</view>
+						<view class="title-text">{{item.examInfo.papers[0].name}}</view>
 					</view>
-					<view class="content_detail"></view>
+					<view class="content-detail"></view>
 				</view>
-
 			</view>
 		</view>
 	</view>
@@ -116,74 +98,8 @@
 </script>
 
 <style lang="scss">
-	.subtitle {
-		font-weight: 400;
-		font-size: 26rpx;
-	}
-
+	@import 'data_pages.scss';
 	.tag-fill {
 		background-color: $color-pink;
 	}
-
-	.content_box {
-		margin: 20rpx;
-		padding: 0 20rpx;
-		background-color: #f6f6f6;
-		border-radius: 10rpx;
-
-		.title_box {
-			position: relative;
-			top: -20rpx;
-			width: fit-content;
-			height: 36rpx;
-			border-radius: 6rpx;
-			padding: 5rpx 20rpx;
-
-			.title_text {
-				font-size: 25rpx;
-				font-weight: bold;
-				color: #FFF;
-			}
-		}
-
-		.content_detail {
-			font-size: 30rpx;
-			font-weight: bold;
-			color: $title;
-			word-break: break-all;
-		}
-
-		.content_subtitle {
-			font-size: 25rpx;
-			font-weight: bold;
-			color: $subtitle;
-		}
-	}
-
-	.flex_cloumn {
-		margin: 140rpx 0 0 50rpx;
-		height: 170rpx;
-		justify-content: space-around;
-
-		.content_title {
-			font-size: 40rpx;
-			font-family: YSfont;
-			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 {
-			font-size: 40rpx;
-			font-family: YSfont;
-			color: #FFF;
-			z-index: 2;
-		}
-	}
-
-	.cloumn {
-		display: flex;
-		flex-direction: column;
-		margin: 20rpx 50rpx;
-	}
 </style>

+ 9 - 19
subpkg/datalist/swapdata.vue

@@ -1,14 +1,14 @@
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>
-		<view class="flex_row">
-			<view class="flex_cloumn" style="margin: 120rpx 0 0 50rpx;">
-				<view class="page_title">活动</view>
-				<view class="page_title">详情信息</view>
-				<view class="page_subtitle" style="margin-top: 30rpx;">{{swapData[index].survey.name||swapData[index].vote.name}}</view>
+		<view class="flex-row">
+			<view class="flex-column" style="margin: 120rpx 0 0 50rpx;">
+				<view class="report-title">活动</view>
+				<view class="report-title">详情信息</view>
+				<view class="report-subtitle">{{swapData[index].survey.name||swapData[index].vote.name}}</view>
 			</view>
 			<view class="bg1"></view>
-			<view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
+			<view class="detail-image" :style="{backgroundImage:`url(${image})`}"></view>
 		</view>
 
 
@@ -42,22 +42,12 @@
 </script>
 
 <style lang="scss">
+	@import 'data_pages.scss';
+
 	.page-view {
 		background-color: $color-orange;
 	}
 
-	.page_title {
-		font-size: 75rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
-	.page_subtitle {
-		font-size: 40rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
 	.bg1 {
 		position: absolute;
 		top: 200rpx;
@@ -68,7 +58,7 @@
 		background-color: #ff9c5a;
 	}
 
-	.detail_image {
+	.detail-image {
 		position: absolute;
 		top: 140rpx;
 		left: 430rpx;

+ 75 - 111
subpkg/datalist/swaplist.vue

@@ -1,76 +1,89 @@
 <template>
 	<view class="page-view">
 		<top-return :color="'#FFF'" text="活动列表"></top-return>
-		
+
 		<view class="bg-box2"></view>
-		
+
 		<!-- 页面标题内容 -->
-		<view class="cloumn">
-			<view class="flex_baseline">
-				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
-				<view class="content_title" style="margin-left: 10rpx;">月</view>
-				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{dayTime.split('月')[1]}}</view>
-				<view class="content_title" style="margin-left: 10rpx;">日</view>
-				<view class="content_title" style="font-size: 40rpx;margin-left: 20rpx;">已完成</view>
-				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{value}}%</view>
+		<view class="top-box">
+			<view class="flex-baseline">
+				<view class="info-title" style="margin-left: 0;">{{dayTime.split('月')[0]}}</view>
+				<view class="info-subtitle">月</view>
+				<view class="info-title">{{dayTime.split('月')[1]}}</view>
+				<view class="info-subtitle">日</view>
+				<view class="info-subtitle" style="margin-left: 20rpx;">已完成</view>
+				<view class="info-title">{{value}}%</view>
 			</view>
-			<view class="flex_baseline">
-				<view class="content_subtitle" style="opacity: 0.8;">当前共</view>
-					<view class="content_subtitle" style="margin-left: 20rpx;font-size: 60rpx;">{{swapData.length}}</view>
-				<view class="content_subtitle" style="margin-left: 20rpx;opacity: 0.8;">场活动</view>
+			<view class="flex-baseline">
+				<view class="data-subtitle" style="margin-left: 0;">当前共</view>
+				<view class="data-title">{{swapData.length}}</view>
+				<view class="data-subtitle">场活动</view>
 			</view>
 		</view>
-		
+
 		<view class="card-view">
-			<view class="card-item" style="width: 100%;" v-for="(item,index) in swapData" :key="index" @click="navSwapData(index)">
-				<view class="card-title" style="padding: 40rpx;height: 40rpx;">
-					<view class="t-icon t-icon-swapfont" style="height: 40rpx;width: 40rpx;margin-right: 10rpx;">
-					</view>
+			<view class="card-item" v-for="(item,index) in swapData" :key="index" @click="navSwapData(index)">
+				<view class="card-title">
+					<view class="t-icon t-icon-swapfont"></view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.survey.name||item.vote.name}}</view>
-					<view :class="item.survey.progress === 'finish'||item.vote.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong-copy'" style="width: 55px;height: 55px;margin-left: auto;margin-right: -20rpx;"></view>
+					<view
+						:class="[item.survey.progress === 'finish'||item.vote.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong-copy','state-seal']"
+						style="width: 55px;height: 55px;margin-left: auto;margin-right: -20rpx;"></view>
 				</view>
-				<view class="flex_cloumn" style="margin: 0 40rpx 40rpx 40rpx;">
-					<view class="flex_baseline">
-						<view class="subtitle">布置老师:</view>
-						<view class="YS-title" style="margin-left: 10rpx;">{{item.survey.creatorId||item.vote.creatorId}}</view>
-						<view class="subtitle" style="margin-left: 20rpx;">截至时间:</view>
-						<view class="YS-title" style="margin-left: 10rpx;" v-if="item.survey">{{$timeStampToTime(item.survey.endTime)}}</view>
-						<view class="YS-title" style="margin-left: 10rpx;" v-if="item.vote">{{$timeStampToTime(item.vote.endTime)}}</view>
+				<view class="card-info">
+					<view class="flex-baseline">
+						<view class="info-type">布置老师:</view>
+						<view class="YS-title" style="margin-left: 10rpx;">
+							{{item.survey.creatorId||item.vote.creatorId}}</view>
+						<view class="info-type" style="margin-left: 20rpx;">截至时间:</view>
+						<view class="YS-title" style="margin-left: 10rpx;" v-if="item.survey">
+							{{$timeStampToTime(item.survey.endTime)}}</view>
+						<view class="YS-title" style="margin-left: 10rpx;" v-if="item.vote">
+							{{$timeStampToTime(item.vote.endTime)}}</view>
 					</view>
-					<view class="flex_row" style="margin-top: 20rpx;">
-						<u-parse class="YS-title" style="font-size: 30rpx;" :content="item.survey.description||item.vote.description" :selectable="true"></u-parse>
+					<view class="flex-row" style="margin-top: 20rpx;">
+						<u-parse class="YS-title" style="font-size: 30rpx;"
+							:content="item.survey.description||item.vote.description" :selectable="true"></u-parse>
 					</view>
 				</view>
 				<!-- 正文 -->
-				<view class="content_box">
+				<view class="content-box">
 					<!-- 问卷 -->
-					<view class="title_box" :style="{backgroundColor: item.survey.progress === 'finish'? '#23b46c': '#FF6D31' }" v-if="item.survey">
-						<view class="title_text">问卷详情</view>
+					<view class="title-box"
+						:style="{backgroundColor: item.survey.progress === 'finish'? '#23b46c': '#FF6D31' }"
+						v-if="item.survey">
+						<view class="title-text">问卷详情</view>
 					</view>
-					<view class="flex_row" style="justify-content: space-around;">
-						<view class="option_box" :style="{backgroundColor: item.survey.progress === 'finish'? '#23b46c': '#FF6D31' }" v-for="(option,i) in item.survey.answers[0]" :key="i">
-							<view class="content_subtitle">{{option}}</view>
+					<view class="flex-row" style="justify-content: space-around;">
+						<view class="option-box"
+							:style="{backgroundColor: item.survey.progress === 'finish'? '#23b46c': '#FF6D31' }"
+							v-for="(option,i) in item.survey.answers[0]" :key="i">
+							<view class="content-subtitle">{{option}}</view>
 						</view>
 					</view>
 					<!-- 投票 -->
-					<view class="title_box" :style="{backgroundColor: item.vote.progress === 'finish'? '#23b46c': '#FF6D31' }" v-if="item.vote">
-						<view class="title_text">{{item.vote.secret ? '匿名投票':'普通投票'}}</view>
+					<view class="title-box"
+						:style="{backgroundColor: item.vote.progress === 'finish'? '#23b46c': '#FF6D31' }"
+						v-if="item.vote">
+						<view class="title-text">{{item.vote.secret ? '匿名投票':'普通投票'}}</view>
 					</view>
-					<view class="flex_row" style="justify-content: space-around;">
-						<view class="flex_cloumn" style="align-items: center;" v-for="(option,j) in item.vote.options" :key="j">
-							<u-parse class="title" style="font-size: 30rpx;margin-bottom: 15rpx;" :content="option.value"></u-parse>
-							<view class="option_box" :style="{backgroundColor: item.vote.progress === 'finish'? '#23b46c': '#FF6D31' }">
-								<view class="content_subtitle">{{option.code}}</view>
+					<view class="flex-row" style="justify-content: space-around;">
+						<view class="flex-column" style="align-items: center;" v-for="(option,j) in item.vote.options"
+							:key="j">
+							<u-parse class="title" style="font-size: 30rpx;margin-bottom: 15rpx;"
+								:content="option.value"></u-parse>
+							<view class="option-box"
+								:style="{backgroundColor: item.vote.progress === 'finish'? '#23b46c': '#FF6D31' }">
+								<view class="content-subtitle">{{option.code}}</view>
 							</view>
 						</view>
 					</view>
 				</view>
-				
 			</view>
 		</view>
-	</view>
-</template>
-
+	</view>
+</template>
+
 <script>
 	import {
 		mapState,
@@ -78,9 +91,9 @@
 	} from 'vuex'
 	export default {
 		computed: {
-			...mapState('m_children',['swapData'])
+			...mapState('m_children', ['swapData'])
 		},
-		data(){
+		data() {
 			return {
 				value: '',
 				dayTime: ''
@@ -91,76 +104,27 @@
 			this.dayTime = (new Date()).format('M-d').replace('-', '月')
 		},
 		methods: {
-			fixNum(num){
+			fixNum(num) {
 				return num.toFixed(2)
 			},
-			navSwapData(index){
+			navSwapData(index) {
 				uni.navigateTo({
 					url: `/subpkg/datalist/swapData?index=${index}`
 				})
 			}
 		}
-	}
-</script>
-
-<style lang="scss">
-	.subtitle{
-		font-weight: 400;
-		font-size: 26rpx;
 	}
-	.content_box{
-		margin: 20rpx;
-		padding: 0 20rpx 20rpx 20rpx;
-		background-color: #f6f6f6;
+</script>
+
+<style lang="scss">
+	@import 'data_pages.scss';
+	.option-box {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 120rpx;
+		height: 50rpx;
 		border-radius: 10rpx;
-		.title_box{
-			position: relative;
-			top: -20rpx;
-			width:fit-content;
-			height: 36rpx;
-			border-radius: 6rpx;
-			padding: 5rpx 20rpx;
-			.title_text{
-				font-size: 25rpx;
-				font-weight: bold;
-				color: #FFF;
-			}
-		}
-		.content_subtitle {
-			font-size: 30rpx;
-			font-weight: bold;
-			color: #FFF;
-		}
-		.option_box{
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width:120rpx;
-			height: 50rpx;
-			border-radius: 10rpx;
-			padding: 5rpx;
-		}
+		padding: 5rpx;
 	}
-	.cloumn {
-		display: flex;
-		flex-direction: column;
-		margin: 140rpx 0 0 50rpx;
-		height: 170rpx;
-		justify-content: space-around;
-	
-		.content_title {
-			font-size: 40rpx;
-			font-family: YSfont;
-			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 {
-			font-size: 40rpx;
-			font-family: YSfont;
-			color: #FFF;
-			z-index: 2;
-		}
-	}
-</style>
+</style>

+ 8 - 19
subpkg/datalist/workdata.vue

@@ -1,14 +1,14 @@
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>
-		<view class="flex_row">
-			<view class="flex_cloumn" style="margin: 120rpx 0 0 50rpx;">
-				<view class="page_title">作业</view>
-				<view class="page_title">分析报告</view>
-				<view class="page_subtitle" style="margin-top: 30rpx;">{{workData[index].work.name}}</view>
+		<view class="flex-row">
+			<view class="flex-column" style="margin: 120rpx 0 0 50rpx;">
+				<view class="report-title">作业</view>
+				<view class="report-title">分析报告</view>
+				<view class="report-subtitle">{{workData[index].work.name}}</view>
 			</view>
 			<view class="bg1"></view>
-			<view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
+			<view class="detail-image" :style="{backgroundImage:`url(${image})`}"></view>
 		</view>
 
 		<view class="card-view">
@@ -41,22 +41,11 @@
 </script>
 
 <style lang="scss">
+	@import 'data_pages.scss';
 	.page-view {
 		background-color: $color-yellow;
 	}
 
-	.page_title {
-		font-size: 75rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
-	.page_subtitle {
-		font-size: 40rpx;
-		font-family: YSfont;
-		color: #FFF;
-	}
-
 	.bg1 {
 		position: absolute;
 		top: 200rpx;
@@ -67,7 +56,7 @@
 		background-color: #f9da7a;
 	}
 
-	.detail_image {
+	.detail-image {
 		position: absolute;
 		top: 170rpx;
 		left: 430rpx;

+ 34 - 109
subpkg/datalist/worklist.vue

@@ -5,72 +5,66 @@
 		<view class="bg-box2"></view>
 
 		<!-- 页面标题内容 -->
-		<view class="flex_cloumn">
-			<view class="flex_baseline">
-				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
-				<view class="content_title" style="margin-left: 10rpx;">月</view>
-				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{dayTime.split('月')[1]}}
-				</view>
-				<view class="content_title" style="margin-left: 10rpx;">日</view>
-				<view class="content_title" style="margin-left: 20rpx;">已完成</view>
-				<view class="content_title" style="margin-left: 10rpx;font-size: 70rpx;">{{value}}%</view>
+		<view class="top-box">
+			<view class="flex-baseline">
+				<view class="info-title" style="margin-left: 0;">{{dayTime.split('月')[0]}}</view>
+				<view class="info-subtitle">月</view>
+				<view class="info-title">{{dayTime.split('月')[1]}}</view>
+				<view class="info-subtitle">日</view>
+				<view class="info-subtitle" style="margin-left: 20rpx;">已完成</view>
+				<view class="info-title">{{value}}%</view>
 			</view>
-			<view class="flex_baseline">
-				<view class="content_subtitle" style="opacity: 0.8;">孩子今日共</view>
-				<view class="content_subtitle" style="margin-left: 20rpx;font-size: 60rpx;">
-					{{workData.length}}
-				</view>
-				<view class="content_subtitle" style="margin-left: 20rpx;opacity: 0.8;">份作业</view>
+			<view class="flex-baseline">
+				<view class="data-subtitle" style="margin-left: 0;">孩子今日共</view>
+				<view class="data-title">{{workData.length}}</view>
+				<view class="data-subtitle">份作业</view>
 			</view>
 		</view>
 
 		<view class="card-view">
-			<view class="card-item" style="width: 100%;" v-for="(item,index) in workData" :key="index"
-				@click="navWorkData(index)">
-				<view class="card-title" style="padding: 40rpx;height: 40rpx;">
-					<view class="t-icon t-icon-workicon" style="height: 40rpx;width: 40rpx;margin-right: 10rpx;">
+			<view class="card-item" v-for="(item,index) in workData" :key="index" @click="navWorkData(index)">
+				<view class="card-title">
+					<view class="t-icon t-icon-workicon">
 					</view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.work.name}}</view>
 					<view
-						:class="item.work.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong-copy1'"
-						style="width: 55px;height: 55px;margin-left: auto;margin-right: -20rpx;">
+						:class="[item.work.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong-copy1','state-seal']">
 					</view>
 				</view>
-				<view class="cloumn" style="margin: 0 40rpx 40rpx 40rpx;">
-					<view class="flex_baseline" >
-						<view class="subtitle">布置老师:</view>
+				<view class="card-info">
+					<view class="flex-baseline">
+						<view class="info-type">布置老师:</view>
 						<view class="YS-title" style="margin-left: 10rpx;">{{item.work.creatorId}}</view>
-						<view class="subtitle" style="margin-left: 20rpx;">截止时间:</view>
+						<view class="info-type" style="margin-left: 20rpx;">截止时间:</view>
 						<view class="YS-title" style="margin-left: 10rpx;">
 							{{$timeStampToTime(item.work.endTime)}}
 						</view>
 					</view>
-					<view class="flex_row" style="margin-top: 20rpx;">
+					<view class="flex-row" style="margin-top: 20rpx;">
 						<u-parse class="YS-title" style="font-size: 30rpx;" :content="item.work.description"
 							:selectable="true"></u-parse>
 					</view>
 				</view>
 				<!-- 正文 -->
-				<view class="content_box">
-					<view class="title_box"
+				<view class="content-box">
+					<view class="title-box"
 						:style="{backgroundColor: item.work.progress === 'finish'? '#23b46c': '#f9c752' }">
-						<view class="title_text">作业附件</view>
+						<view class="title-text">作业附件</view>
 					</view>
 					<view v-for="(attachment,i) in item.work.attachments" :key="i">
-						<view class="attachment_box">
+						<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>
 							<view v-if="attachment.type == 'image'" class="t-icon t-icon-tupianziliao"></view>
 							<view v-if="attachment.type == 'ppt'" class="t-icon t-icon-PPT"></view>
-							<view class="cloumn" style="margin-left: 20rpx;">
-								<view class="content_detail">文件名: {{attachment.name}}</view>
-								<view class="content_subtitle">文件大小: {{fixNum(attachment.size/8/1024)}}KB</view>
+							<view class="attachment-info" style="margin-left: 20rpx;">
+								<view class="content-detail">文件名: {{attachment.name}}</view>
+								<view class="content-subtitle">文件大小: {{fixNum(attachment.size/8/1024)}}KB</view>
 							</view>
 						</view>
 					</view>
 				</view>
-
 			</view>
 		</view>
 	</view>
@@ -109,57 +103,9 @@
 </script>
 
 <style lang="scss">
-	.subtitle {
-		font-weight: 400;
-		font-size: 26rpx;
-	}
-
-	.tag {
-		border-radius: 6rpx;
-		border: 1rpx solid $color-blue;
-		padding: 5rpx 16rpx;
-		.tag-text {
-			font-size: 22rpx;
-			color: $color-blue;
-		}
-	}
-
-	.content_box {
-		margin: 20rpx;
-		padding: 0 20rpx;
-		background-color: #f6f6f6;
-		border-radius: 10rpx;
-
-		.title_box {
-			position: relative;
-			top: -20rpx;
-			width: fit-content;
-			height: 36rpx;
-			border-radius: 6rpx;
-			padding: 5rpx 20rpx;
-
-			.title_text {
-				font-size: 25rpx;
-				font-weight: bold;
-				color: #FFF;
-			}
-		}
+	@import 'data_pages.scss';
 
-		.content_detail {
-			font-size: 35rpx;
-			font-family: YSfont;
-			color: $title;
-			word-break: break-all;
-		}
-
-		.content_subtitle {
-			font-size: 25rpx;
-			font-weight: bold;
-			color: $subtitle;
-		}
-	}
-
-	.attachment_box {
+	.attachment-box {
 		display: flex;
 		margin-bottom: 20rpx;
 		align-items: center;
@@ -171,32 +117,11 @@
 			width: 60rpx;
 			height: 60rpx;
 		}
-	}
-
-	.flex_cloumn {
-		margin: 140rpx 0 0 50rpx;
-		height: 170rpx;
-		justify-content: space-around;
-
-		.content_title {
-			font-size: 40rpx;
-			font-family: YSfont;
-			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 {
-			font-size: 40rpx;
-			font-family: YSfont;
-			color: #FFF;
-			z-index: 2;
+		.attachment-info {
+			display: flex;
+			flex-direction: column;
+			margin: 20rpx 50rpx;
 		}
 	}
-
-	.cloumn {
-		display: flex;
-		flex-direction: column;
-		margin: 20rpx 50rpx;
-	}
 </style>

+ 1 - 1
subpkg/exam/gradelist_pages.scss

@@ -1,4 +1,4 @@
-	.chart_box{
+	.chart-box{
 		width: 100%;
 		height: 550rpx;
 	}

+ 4 - 4
subpkg/exam/level.vue

@@ -10,7 +10,7 @@
 			<view class="card-item" style="background-color: #4169E1;height: 200rpx;">
 				<view class="analysis_box">
 					<view class="analysis_text">成绩波动对比</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_data">{{mainExamUndulate>=quizExamUndulate?'小考':'大考'}}</view>
 						<view class="analysis_text" style="margin-left: 20rpx;">发挥稳定</view>
 					</view>
@@ -23,7 +23,7 @@
 			<view class="card-item" style="background-color: #ff8caf;height: 200rpx;">
 				<view class="analysis_box">
 					<view class="analysis_text">得分能力对比</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_data">{{avgMain>=avgquiz?'大考':'小考'}}</view>
 						<view class="analysis_text" style="margin-left: 20rpx;">得分能力强</view>
 					</view>
@@ -39,7 +39,7 @@
 					<view class="front-tag"></view>
 					<view class="title">重要考试对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.levelChartData[0]"
 						tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="level_chart1" />
 				</view>
@@ -49,7 +49,7 @@
 					<view class="front-tag"></view>
 					<view class="title">普通测验记录</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.levelChartData[1]"
 						tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="level_chart2" />
 				</view>

+ 4 - 4
subpkg/exam/ranking.vue

@@ -11,7 +11,7 @@
 				:style="{background: item.color,height: 200+ 'rpx'}">
 				<view class="analysis_box">
 					<view class="analysis_text">{{item.title}}</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_data">{{item.data}}%</view>
 						<view class="analysis_text" style="margin-left: 20rpx;">的学生</view>
 					</view>
@@ -26,7 +26,7 @@
 					<view class="front-tag"></view>
 					<view class="title">总成绩排行对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.rankingChartData[0]"
 						tooltipFormat='subjectRankArea' :canvas2d="true" canvasId="ranking_chart1" />
 				</view>
@@ -36,12 +36,12 @@
 				<view class="card-title">
 					<view class="front-tag"></view>
 					<view class="title">{{subjectCurrent}}排行对比</view>
-					<view class="flex_row" style="margin-left: auto;" @click="subjectPicker = true">
+					<view class="flex-row" style="margin-left: auto;" @click="subjectPicker = true">
 						<text class="title" style="color: #4169E1;font-weight: 400;">{{subjectCurrent}}</text>
 						<view class="t-icon t-icon-xia"></view>
 					</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.rankingChartData[1]"
 						tooltipFormat='subjectRankArea' :canvas2d="true" canvasId="ranking_chart2" />
 				</view>

+ 4 - 4
subpkg/exam/single.vue

@@ -10,7 +10,7 @@
 			<view class="card-item" v-for="(item,index) in analysisData" :key="index" :style="{background: item.color,height: 200+ 'rpx'}">
 				<view class="analysis_box">
 					<view class="analysis_text">{{item.title}}</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_data">{{item.data/0.01}}%</view>
 						<view class="analysis_text" style="margin-left: 20rpx;">的学生</view>
 					</view>
@@ -26,7 +26,7 @@
 					<view class="front-tag"></view>
 					<view class="title">最近考试单科对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[0]"
 						tooltipFormat='tooltipScore' />
 				</view>
@@ -36,7 +36,7 @@
 					<view class="front-tag"></view>
 					<view class="title">最近单科平均对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[1]"
 						tooltipFormat='tooltipScore' />
 				</view>
@@ -46,7 +46,7 @@
 					<view class="front-tag"></view>
 					<view class="title">最近考试单科排行</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="examChartData.singleChartData[2]"
 						tooltipFormat='subjectRankColum' />
 				</view>

+ 4 - 4
subpkg/exam/subject.vue

@@ -10,12 +10,12 @@
 			<view class="card-item" v-for="(item,index) in analysisData" :key="index"
 				:style="{background: item.color,height: 200+ 'rpx'}">
 				<view class="analysis_box">
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_text">{{item.title}}</view>
 						<view class="analysis_text" style="font-size: 40rpx; margin-left: 20rpx;"> {{item.data.name}}
 						</view>
 					</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_data">{{item.data.value}}%</view>
 						<view class="analysis_text" style="margin-left: 20rpx;">得分率</view>
 					</view>
@@ -30,7 +30,7 @@
 					<view class="front-tag"></view>
 					<view class="title">最近考试得分率对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="rose" :chartData="examChartData.subjectChartData[0]" :tapLegend="true"
 						tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="subject_chart1"/>
 				</view>
@@ -41,7 +41,7 @@
 					<view class="front-tag"></view>
 					<view class="title">学期平均得分率对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="rose" :chartData="examChartData.subjectChartData[1]" :tapLegend="true"
 						tooltipFormat='tooltipScoreShort' :canvas2d="true" canvasId="subject_chart2"/>
 				</view>

+ 10 - 10
subpkg/exam/total.vue

@@ -12,7 +12,7 @@
 				<view class="analysis_box">
 					<view class="analysis_text">{{analysisData[0].title}}</view>
 
-					<view class="flex_baseline">
+					<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'">超过
@@ -21,7 +21,7 @@
 						</view>
 					</view>
 
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_text">
 							{{analysisData[0].data === 'top' ? '班级和年级学期平均':(analysisData[0].data === 'midClass'? '班级学期平均分':(analysisData[0].data === 'midGrade'?'年级学期平均分':'班级和年级学期平均'))}}
 						</view>
@@ -40,7 +40,7 @@
 				<view class="analysis_box">
 					<view class="analysis_text">{{analysisData[1].title}}</view>
 
-					<view class="flex_baseline">
+					<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'">超过
@@ -49,7 +49,7 @@
 						</view>
 					</view>
 
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="analysis_text">
 							{{analysisData[1].data === 'top' ? '班级和年级学期平均':(analysisData[1].data === 'midClass'? '班级学期平均分':(analysisData[1].data === 'midGrade'?'年级学期平均分':'班级和年级学期平均'))}}
 						</view>
@@ -71,7 +71,7 @@
 					<view class="title">总成绩趋势</view>
 					<view class="t-icon t-icon-tishi2" style="margin-left: auto;" @click="isShowHint = true"></view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[0]"
 						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart1" />
 				</view>
@@ -81,12 +81,12 @@
 				<view class="card-title">
 					<view class="front-tag"></view>
 					<view class="title">单科成绩趋势</view>
-					<view class="flex_row" style="margin-left: auto;" @click="subjectPicker = true">
+					<view class="flex-row" style="margin-left: auto;" @click="subjectPicker = true">
 						<text class="title" style="color: #4169E1;font-weight: 400;">{{subjectCurrent}}</text>
 						<view class="t-icon t-icon-xia"></view>
 					</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="area" ontouch="true" :chartData="examChartData.totalChartData[1]"
 						tooltipFormat='tooltipScore' :canvas2d="true" canvasId="total_chart2" />
 				</view>
@@ -96,16 +96,16 @@
 				<view class="card-title">
 					<view class="front-tag"></view>
 					<view class="title">单科对比趋势</view>
-					<view class="flex_row" style="margin-left: auto;" @click="scoreTypePicker = true">
+					<view class="flex-row" style="margin-left: auto;" @click="scoreTypePicker = true">
 						<text class="title" style="color: #4169E1;font-weight: 400;">{{scoreTypeCurrent}}</text>
 						<view class="t-icon t-icon-xia"></view>
 					</view>
 				</view>
-				<view class="chart_box" v-if="scoreTypeCurrent === '得分'">
+				<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" />
 				</view>
-				<view class="chart_box" v-if="scoreTypeCurrent === '得分率'">
+				<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" />
 				</view>

+ 18 - 26
subpkg/home/classlist.vue

@@ -4,8 +4,8 @@
 		<!-- 背景 -->
 		<view class="bg-box2"></view>
 		<!-- 页面标题内容 -->
-		<view class="flex_cloumn">
-			<view class="flex_baseline">
+		<view class="flex-column">
+			<view class="flex-baseline">
 				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
 				<view class="content_title" style="margin-left: 10rpx;">月</view>
 				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{dayTime.split('月')[1]}}
@@ -13,7 +13,7 @@
 				<view class="content_title" style="margin-left: 10rpx;">日</view>
 				<view class="content_title" style="font-size: 70rpx;margin-left: 20rpx;">{{weekTime}}</view>
 			</view>
-			<view class="flex_baseline">
+			<view class="flex-baseline">
 				<view class="content_subtitle" style="opacity: 0.8;">孩子今日共</view>
 				<view class="content_subtitle" style="margin-left: 20rpx;font-size: 60rpx;">
 					{{classList.length}}
@@ -47,29 +47,29 @@
 					<view class="front-tag"></view>
 					<view class="title">{{weekList[isactive].weekNum}}课程表</view>
 				</view>
-				<view class="class_list">
-					<view class="class_item"
+				<view class="class-list">
+					<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="flex-row" style="justify-content: space-around;">
 							<view class="t-icon t-icon-shuji2"></view>
-							<view class="class_item_title"
+							<view 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"
+							<view 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"
+							<view class="item-title"
 								:style="{color: index == current && isactive == 0?'#4169E1':'#303133'}">{{item.time}}
 							</view>
 						</view>
 					</view>
 				</view>
-				<view class="image_box" v-if="!currentClassList">
-					<view class="detail_image1" :style="{backgroundImage:`url(${image1})`}"></view>
+				<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>
 				</view>
@@ -233,13 +233,13 @@
 		}
 	}
 
-	.class_list {
+	.class-list {
 		display: flex;
 		flex-direction: column;
 		justify-content: space-between;
 		margin: 0 30rpx 20rpx 30rpx;
 
-		.class_item {
+		.class-item {
 			display: flex;
 			flex-direction: column;
 			justify-content: space-around;
@@ -250,13 +250,13 @@
 			border-top: 4rpx solid #f3f4f9;
 			border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 
-			&_title {
+			.item-title {
 				font-size: 32rpx;
 				font-weight: bold;
 				color: $title;
 			}
 
-			&_subtitle {
+			.item-subtitle {
 				font-size: 30rpx;
 				font-weight: bold;
 				color: $subtitle;
@@ -264,18 +264,10 @@
 				text-overflow: ellipsis;
 				white-space: nowrap;
 			}
-
-			&_detail {
-				margin-left: 40rpx;
-				line-height: 30rpx;
-				font-size: 26rpx;
-				font-weight: bold;
-				color: $subtitle;
-			}
 		}
 	}
 
-	.flex_cloumn {
+	.flex-column {
 		margin: 140rpx 0 0 50rpx;
 		height: 170rpx;
 		justify-content: space-around;
@@ -296,7 +288,7 @@
 		}
 	}
 
-	.image_box {
+	.image-box {
 		display: flex;
 		flex-direction: column;
 		height: 100%;
@@ -304,7 +296,7 @@
 		margin-bottom: 70rpx;
 	}
 
-	.detail_image1 {
+	.detail-image1 {
 		width: 500rpx;
 		height: 600rpx;
 		background-size: 100%;

+ 4 - 4
subpkg/home/clockstats.vue

@@ -10,16 +10,16 @@
 <!-- 					<view class="box_tag"></view> -->
 					<view class="title">{{currentTodayData.month}}月 打卡汇总</view>
 				</view>
-				<view class="flex_row" style="justify-content: space-around;height: 180rpx;margin-bottom: 20rpx;">
-					<view class="flex_cloumn" style="align-items: center;">
+				<view class="flex-row" style="justify-content: space-around;height: 180rpx;margin-bottom: 20rpx;">
+					<view class="flex-column" style="align-items: center;">
 						<view class="number" style="color: #4169E1;">{{isClockStats}}</view>
 						<view class="number-detail">打卡次数</view>
 					</view>
-					<view class="flex_cloumn" style="align-items: center;">
+					<view class="flex-column" style="align-items: center;">
 						<view class="number" style="color: #ff5959;">{{noClockStats}}</view>
 						<view class="number-detail">缺卡次数</view>
 					</view>
-					<view class="flex_cloumn" style="align-items: center;">
+					<view class="flex-column" style="align-items: center;">
 						<view class="number"
 							:style="{color: clockStatsQuality==='优秀'?'#4169E1':(clockStatsQuality === '较差'?'#ff5959':'#f9c752')}">
 							{{clockStatsQuality}}

+ 14 - 16
subpkg/mine/childinfo.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="page-view">
 		<top-return text="孩子名片" color="#FFF"></top-return>
-		<view class="detail_image"
+		<view class="detail-image"
 			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 60%),url(${image})`}"></view>
 		<!-- 孩子头部信息 -->
 		<view class="top_info">
@@ -10,7 +10,7 @@
 			</image>
 			<image class="top_avatar" v-if="childInfo.avatar != '默认'" :src="childInfo.avatar"></image>
 			<view class="top_name">
-				<view class="flex_baseline">
+				<view class="flex-baseline">
 					<text class="name">{{childInfo.name}}</text>
 					<view class="tag-fill"
 						style="background-color: #d8deff;width:fit-content;z-index: 99;margin-left: 30rpx;">
@@ -34,31 +34,31 @@
 		</view>
 		<!-- 卡片信息 -->
 		<view class="main_card">
-			<view class="flex_row">
+			<view class="flex-row">
 				<view class="t-icon t-icon-biaoqian"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">就读学校</view>
 					<view class="title" style="margin-top: 10rpx;">{{childInfo.school}}</view>
 				</view>
 			</view>
-			<view class="flex_row" style="margin-top: 50rpx;">
+			<view class="flex-row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-fenlei1"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">所在班级</view>
 					<view class="title">{{childInfo.class}}</view>
 				</view>
 			</view>
-			<view class="flex_row" style="margin-top: 50rpx;">
+			<view class="flex-row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-jiaoyu"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">当前学期</view>
 					<view class="title">{{childInfo.semester}}</view>
 				</view>
 			</view>
 
 			<view class="card-view" style="margin-top: 40rpx;">
-				<view class="flex_cloumn_box" style="margin:0 auto 0 -40rpx;">
-					<view class="cloumn_title">勋章卡片</view>
+				<view class="flex-column-box" style="margin:0 auto 0 -40rpx;">
+					<view class="column_title">勋章卡片</view>
 					<view class="bottom-tag"></view>
 				</view>
 			</view>
@@ -106,9 +106,7 @@
 </script>
 
 <style lang="scss">
-	.flex_cloumn {
-		display: flex;
-		flex-direction: column;
+	.flex-column {
 		height: 80rpx;
 		justify-content: space-between;
 	}
@@ -121,7 +119,7 @@
 		overflow: hidden;
 	}
 
-	.detail_image {
+	.detail-image {
 		position: fixed;
 		width: 100%;
 		height: 800rpx;
@@ -199,11 +197,11 @@
 		color: $title;
 	}
 
-	.flex_cloumn_box {
+	.flex-column-box {
 		display: flex;
 		flex-direction: column;
 
-		.cloumn_title {
+		.column_title {
 			line-height: 35rpx;
 			font-size: 32rpx;
 			font-weight: bold;

+ 16 - 16
subpkg/mine/parentinfo.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="page-view">
 		<top-return text="个人信息" color="#FFF"></top-return>
-		<view class="detail_image"
+		<view class="detail-image"
 			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 60%),url(${image})`}"></view>
 		<!-- 个人头部信息 -->
 		<view class="top_info">
@@ -17,31 +17,31 @@
 		</view>
 		<!-- 卡片信息 -->
 		<view class="main_card">
-			<view class="flex_row">
+			<view class="flex-row">
 				<view class="t-icon t-icon-huangguan"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">我的订阅</view>
 					<view class="title">{{userData.subscribeLevel}}</view>
 				</view>
 			</view>
-			<view class="flex_row" style="margin-top: 50rpx;">
+			<view class="flex-row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-jiesuo"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">订阅时间</view>
 					<view class="title">{{userData.subscribeTime}}</view>
 				</view>
 			</view>
-			<view class="flex_row" style="margin-top: 50rpx;">
+			<view class="flex-row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-quanxian"></view>
-				<view class="flex_cloumn">
+				<view class="flex-column">
 					<view class="subtitle">订阅权益</view>
 					<view class="title">{{userData.subscribePrivilege}}</view>
 				</view>
 			</view>
 
 			<view class="card-view" style="margin-top: 40rpx;">
-				<view class="flex_cloumn_box" style="margin:0 auto 0 -40rpx;">
-					<view class="cloumn_title">孩子名片</view>
+				<view class="flex-column-box" style="margin:0 auto 0 -40rpx;">
+					<view class="column_title">孩子名片</view>
 					<view class="bottom-tag"></view>
 				</view>
 			</view>
@@ -52,13 +52,13 @@
 						:src="item.gender==='男'?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'">
 					</image>
 					<image class="avatar" v-if="item.avatar != '默认'" :src="item.avatar"></image>
-					<view class="flex_cloumn_box"
+					<view class="flex-column-box"
 						style="margin-left: 30rpx;height: 100rpx;justify-content: space-around;">
-						<view class="flex_baseline">
+						<view class="flex-baseline">
 							<view class="YS-title">{{item.name}}</view>
 							<view class="card-title">{{item.tmdid}}</view>
 						</view>
-						<view class="flex_row">
+						<view class="flex-row">
 							<view class="t-icon t-icon-xuewei1" style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
 							<view class="card_subtitle">{{item.school}}</view>
 							<view class="t-icon t-icon-zhengceguizhang2" style="width: 30rpx;height: 30rpx;margin-right: 5rpx;margin-left: 20rpx;"></view>
@@ -96,7 +96,7 @@
 </script>
 
 <style lang="scss">
-	.flex_cloumn {
+	.flex-column {
 		display: flex;
 		flex-direction: column;
 		height: 80rpx;
@@ -111,7 +111,7 @@
 		overflow: hidden;
 	}
 
-	.detail_image {
+	.detail-image {
 		position: fixed;
 		width: 100%;
 		height: 800rpx;
@@ -189,11 +189,11 @@
 		color: $title;
 	}
 
-	.flex_cloumn_box {
+	.flex-column-box {
 		display: flex;
 		flex-direction: column;
 
-		.cloumn_title {
+		.column_title {
 			line-height: 35rpx;
 			font-size: 32rpx;
 			font-weight: bold;

+ 18 - 18
subpkg/mine/subscribeinfo.vue

@@ -4,10 +4,10 @@
 
 		<view class="bg1">
 			<view class="card">
-				<view class="flex_row">
+				<view class="flex-row">
 					<image class="avatar" :src="parentInfo.avatarUrl"></image>
-					<view class="flex_cloumn" style="margin-left: 30rpx;justify-content: space-between;height: 100rpx;">
-						<view class="flex_row">
+					<view class="flex-column" style="margin-left: 30rpx;justify-content: space-between;height: 100rpx;">
+						<view class="flex-row">
 							<view class="card-title">{{parentInfo.nickName}}</view>
 							<view class="subscribe-tag" style="margin-left: 30rpx;">
 								<view class="t-icon t-icon-huangguan1" style="margin-right: 2rpx;"></view>
@@ -36,7 +36,7 @@
 		</view>
 		<view class="bg2"></view>
 
-		<view class="flex_row" style="margin: 370rpx 100rpx 0 100rpx;">
+		<view class="flex-row" style="margin: 370rpx 100rpx 0 100rpx;">
 			<view class="subscribe-tag" style="padding: 6rpx 12rpx;" @click="subscribeShow = true">
 				<view class="subscribe-tag-text" @click="subscribeShow = true">续费会员</view>
 			</view>
@@ -46,36 +46,36 @@
 		</view>
 
 		<view class="subscribe_view">
-			<view class="flex_row">
+			<view class="flex-row">
 				<view class="subscribe-front-tag"></view>
 				<view class="title">基础版会员特权</view>
 			</view>
 
 			<view style="margin: 20rpx;">
-				<view class="flex_row" style="margin: 40rpx 0;">
+				<view class="flex-row" style="margin: 40rpx 0;">
 					<view class="t-icon t-icon-jiance"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">畅享成绩进阶分析</view>
 						<view class="subscribe_view_subtitle">全方位掌握孩子考试能力</view>
 					</view>
 				</view>
-				<view class="flex_row" style="margin: 40rpx 0;">
+				<view class="flex-row" style="margin: 40rpx 0;">
 					<view class="t-icon t-icon-renwu"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">测验作业内容早知道</view>
 						<view class="subscribe_view_subtitle">随时随地了解孩子学习表现</view>
 					</view>
 				</view>
-				<view class="flex_row" style="margin: 40rpx 0;">
+				<view class="flex-row" style="margin: 40rpx 0;">
 					<view class="t-icon t-icon-tishi"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">家校互动零距离</view>
 						<view class="subscribe_view_subtitle">记录孩子在校在家点点滴滴</view>
 					</view>
 				</view>
 			</view>
 
-			<view class="flex_row">
+			<view class="flex-row">
 				<view class="subscribe-front-tag"></view>
 				<view class="title">专业版会员特权</view>
 			</view>
@@ -83,21 +83,21 @@
 			<view style="margin: 20rpx;">
 				<view class="privilege_card">
 					<view class="t-icon t-icon-renzheng"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">敬请期待</view>
 						<view class="subscribe_view_subtitle">敬请期待</view>
 					</view>
 				</view>
 				<view class="privilege_card">
 					<view class="t-icon t-icon-erweima"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">敬请期待</view>
 						<view class="subscribe_view_subtitle">敬请期待</view>
 					</view>
 				</view>
 				<view class="privilege_card">
 					<view class="t-icon t-icon-dianzan"></view>
-					<view class="flex_cloumn" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
+					<view class="flex-column" style="margin-left: 30rpx;height: 80rpx;justify-content: space-around;">
 						<view class="subscribe_view_title">敬请期待</view>
 						<view class="subscribe_view_subtitle">敬请期待</view>
 					</view>
@@ -108,7 +108,7 @@
 		<u-action-sheet :show="subscribeShow" @close="subscribeShow = false" :round="10">
 			<view class="top_background"
 				:style="{backgroundImage:`linear-gradient(to top, #FFF, rgba(255, 255, 255, 0)),url(${image})`}">
-				<view class="flex_baseline" style="margin: 50rpx 50rpx 20rpx 50rpx;">
+				<view class="flex-baseline" style="margin: 50rpx 50rpx 20rpx 50rpx;">
 					<view class="top_background_title">会员</view>
 					<view class="top_background_title" style="font-size: 40rpx;">套餐</view>
 				</view>
@@ -121,7 +121,7 @@
 				<view v-for="(item,index) in priceBlock" :key="index"
 					:class="isactive == index ? 'price_block_select' : 'price_block' " @click='choosePrice(index)'>
 					<view class="_title">{{item.title}}</view>
-					<view class="flex_baseline">
+					<view class="flex-baseline">
 						<view class="price" style="font-size: 30rpx;margin-left: -15rpx;">¥</view>
 						<view class="price">{{item.price}}</view>
 					</view>
@@ -131,7 +131,7 @@
 			<view class="deal_subtitle">订阅即同意连续订阅服务协议、醍摩豆家长端会员服务协议</view>
 			<view class="deal_subtitle">购买前请仔细阅读上述相关协议</view>
 			<button class="btn">立即开通</button>
-			<view class="flex_row" style="padding:10rpx 180rpx;justify-content:space-between;margin:20rpx 0;">
+			<view class="flex-row" style="padding:10rpx 180rpx;justify-content:space-between;margin:20rpx 0;">
 				<view class="deal_subtitle">使用条款</view>
 				<view class="deal_subtitle">|</view>
 				<view class="deal_subtitle">隐私政策</view>

+ 36 - 48
subpkg/startup/guide.vue

@@ -1,11 +1,11 @@
 <template>
-	<view class="flex_cloumn">
+	<view class="flex-column">
 		<!-- 标题 -->
 		<view class="top">
-			<view class="title" style="color: #4169E1;">感谢您的使用</view>
-			<view class="subtitle">醍摩豆家长助您孩子成长</view>
+			<view class="YS-title" style="color: #4169E1;">欢迎您的使用</view>
+			<view class="YS-subtitle">醍摩豆家长助您孩子成长</view>
 		</view>
-		<view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
+		<view class="detail-image" :style="{backgroundImage:`url(${image})`}"></view>
 		<button class="btn" plain="true" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取您的孩子信息</button>
 		<!-- 动画 -->
 		<view class="ocean"></view>
@@ -24,59 +24,47 @@
 		},
 		data() {
 			return {
-				image: 'https://image.meiye.art/pic_1631411821366jJzYRG2jdJOxwXZk_jz7o'
+				image: 'https://image.meiye.art/pic_1631411821366jJzYRG2jdJOxwXZk_jz7o',
+				isClick: false
 			}
 		},
 		methods: {
 			//获取用户手机号
 			async getPhoneNumber(e) {
-				if (e.detail.errMsg !== "getPhoneNumber:ok") {
-					return uni.showToast({
-						title: '您已拒绝授权',
-						icon: 'error'
-					});
-				} else {
-					try{
-						if (this.token) {
-							let proof = await new WXBizDataCrypt('wx5705da8747c77cfe', this.token.session_key)
-							let numData = await proof.decryptData(e.detail.encryptedData, e.detail.iv)
-							this.$store.commit('m_parent/updatePhoneNumber', numData.phoneNumber);
-							//初始化App
-							await this.$initStart(numData.phoneNumber)
-							uni.navigateTo({
-								url: '/subpkg/startup/options'
-							})
-						}else{
-							this.updateToken()
-							this.updateParentInfo()
-							this.updatePhoneNumber()
-							this.updateChildrenData()
-							this.updateUserData()
-							this.updateChildInfo()
-							uni.reLaunch({
-								url: '/subpkg/startup/login'
-							})
+				if(this.isClick === false){
+					this.isClick = true
+					if (e.detail.errMsg !== "getPhoneNumber:ok") {
+						return uni.showToast({
+							title: '您已拒绝授权',
+							icon: 'error'
+						});
+					} else {
+						try {
+							if (this.token) {
+								let proof = await new WXBizDataCrypt('wx5705da8747c77cfe', this.token.session_key)
+								let numData = await proof.decryptData(e.detail.encryptedData, e.detail.iv)
+								this.$store.commit('m_parent/updatePhoneNumber', numData.phoneNumber);
+								//初始化App
+								await this.$initStart(numData.phoneNumber)
+								uni.navigateTo({
+									url: '/subpkg/startup/options'
+								})
+							} else {
+								this.$logOut()
+								return uni.showToast({
+									title: '获取不到您的信息请重新登录',
+									icon: 'error'
+								});
+							}
+						} catch (e) {
+							this.$logOut()
 							return uni.showToast({
-								title: '获取不到您的信息请重新登录',
+								title: '身份验证已过期请重新登录',
 								icon: 'error'
 							});
 						}
-					}catch(e){
-						this.updateToken()
-						this.updateParentInfo()
-						this.updatePhoneNumber()
-						this.updateChildrenData()
-						this.updateUserData()
-						this.updateChildInfo()
-						uni.reLaunch({
-							url: '/subpkg/startup/login'
-						})
-						return uni.showToast({
-							title: '身份验证已过期请重新登录',
-							icon: 'error'
-						});
 					}
-
+					this.isClick = false
 				}
 			},
 		},
@@ -86,7 +74,7 @@
 <style lang="scss">
 	@import 'startup_pages.scss';
 
-	.detail_image {
+	.detail-image {
 		height: 600rpx;
 		margin: 400rpx 0 0 0;
 		background-size: 100% 100%;

+ 2 - 2
subpkg/startup/login.vue

@@ -6,8 +6,8 @@
 			<view class="bg2"></view>
 			<view class="bg3"></view>
 			<view class="top">
-				<text class="title">请登录</text>
-				<text class="subtitle">醍摩豆家长欢迎您</text>
+				<text class="YS-title">请登录</text>
+				<text class="YS-subtitle">醍摩豆家长端</text>
 			</view>
 
 			<button @click="$noMultipleClicks(getUserInfo)" class="btn" plain="true">微信一键登录</button>

+ 2 - 2
subpkg/startup/options.vue

@@ -2,13 +2,13 @@
 	<view>
 		<top-return></top-return>
 		<view class="top">
-			<view class="title" style="color: #4169E1;">选择您的孩子</view>
+			<view class="YS-title" style="color: #4169E1;">选择您的孩子</view>
 		</view>
 
 		<!-- 孩子选择界面 -->
 		<view class="card_box">
 			<view class="card" v-for="(item,index) in childrenData" :key="index" @click="chooseChild(item)">
-				<view class="flex_row" style="width: 100%;">
+				<view class="flex-row" style="width: 100%;">
 					<view class="front-tag"></view>
 					<view class="card-title">{{item.name}}</view>
 				</view>

+ 4 - 6
subpkg/startup/startup_pages.scss

@@ -5,14 +5,14 @@
 	display: flex;
 	flex-direction: column;
 }
-.title {
+.YS-title {
 	line-height: 80rpx;
-	font-size: 55rpx;
+	font-size: 70rpx;
 	z-index: 99;
 }
-.subtitle {
+.YS-subtitle {
 	line-height: 70rpx;
-	font-size: 35rpx;
+	font-size: 50rpx;
 	z-index: 99;
 }
 .btn {
@@ -51,7 +51,6 @@
 			z-index: 2;
 		}
 
-
 		&::after {
 			border-radius: 40%;
 			background-color: #FFFFFF;
@@ -60,7 +59,6 @@
 			animation: rotate 10s linear -5s infinite;
 			z-index: 3;
 		}
-
 	}
 
 	@keyframes rotate {

+ 13 - 13
subpkg/swap/swapstats.vue

@@ -4,8 +4,8 @@
 		<!-- 背景 -->
 		<view class="bg-box1"></view>
 		<!-- 页面标题内容 -->
-		<view class="flex_cloumn">
-			<view class="flex_baseline">
+		<view class="flex-column">
+			<view class="flex-baseline">
 				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
 				<view class="content_title" style="margin-left: 10rpx;">月</view>
 				<view class="content_title" style="font-size: 70rpx; margin-left: 10rpx;">{{dayTime.split('月')[1]}}
@@ -13,7 +13,7 @@
 				<view class="content_title" style="margin-left: 10rpx;">日</view>
 				<view class="content_title" style="font-size: 70rpx;margin-left: 20rpx;">{{weekTime}}</view>
 			</view>
-			<view class="flex_baseline">
+			<view class="flex-baseline">
 				<view class="content_subtitle" style="opacity: 0.8;">记录今日孩子表现吧</view>
 			</view>
 		</view>
@@ -23,11 +23,11 @@
 				@click="setTime(index)">
 				<view class="_item_subtext" style="margin-left: 30rpx;">{{item.text}}</view>
 
-				<view class="flex_baseline" style="margin-left: 30rpx;" v-if="item.numData === ''">
+				<view class="flex-baseline" style="margin-left: 30rpx;" v-if="item.numData === ''">
 					<text class="_item_text">记录</text>
 					<text class="_item_subtext" style="margin-left: 8rpx;opacity:0.8;">今日时长</text>
 				</view>
-				<view class="flex_baseline" style="margin-left: 30rpx;"
+				<view class="flex-baseline" style="margin-left: 30rpx;"
 					v-if="item.numData.includes('小时') && item.numData != ''">
 					<text class="_item_text">{{item.numData.split('小时')[0]}}</text>
 					<text class="_item_subtext" style="margin-left: 8rpx;opacity:0.8;">小时</text>
@@ -35,7 +35,7 @@
 						style="margin-left: 8rpx;">{{item.numData.split('小时')[1].replace('分','')}}</text>
 					<text class="_item_subtext" style="margin-left: 8rpx;opacity:0.8;">分钟</text>
 				</view>
-				<view class="flex_baseline" style="margin-left: 30rpx;"
+				<view class="flex-baseline" style="margin-left: 30rpx;"
 					v-if="item.numData.includes('小时') === false && item.numData != ''">
 					<text class="_item_text" style="margin-left: 8rpx;">{{item.numData.replace('分','')}}</text>
 					<text class="_item_subtext" style="margin-left: 8rpx;opacity:0.8;">分钟</text>
@@ -49,7 +49,7 @@
 		<!-- 统计列表 -->
 		<view class="card-view" style="margin-top: 0;">
 			<!-- 统计列表 -->
-			<view class="flex_cloumn_box" style="margin-left: 20rpx;">
+			<view class="flex-column-box" style="margin-left: 20rpx;">
 				<view class="title" style="font-size: 32rpx;">近期统计</view>
 				<view class="bottom-tag"
 					style="background-image: linear-gradient(to right, #4169E1, rgba(255, 255, 255, 0.01));"></view>
@@ -60,7 +60,7 @@
 					<view class="front-tag"></view>
 					<view class="title">学习娱乐时长对比</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="swapChartData[0]"
 						tooltipFormat='tooltipHourColum' :canvas2d="true" canvasId="swap_chart1" />
 				</view>
@@ -71,7 +71,7 @@
 					<view class="front-tag"></view>
 					<view class="title">近期运动记录</view>
 				</view>
-				<view class="chart_box" style="height: 350rpx;">
+				<view class="chart-box" style="height: 350rpx;">
 					<qiun-data-charts type="pie" :chartData="swapChartData[1]" tooltipFormat='pieMinute'
 						:canvas2d="true" canvasId="swap_chart2" />
 				</view>
@@ -81,7 +81,7 @@
 					<view class="front-tag"></view>
 					<view class="title">近期睡眠记录</view>
 				</view>
-				<view class="chart_box" style="height: 350rpx;">
+				<view class="chart-box" style="height: 350rpx;">
 					<qiun-data-charts type="ring" :chartData="swapChartData[2]" tooltipFormat='pieHour' :canvas2d="true"
 						canvasId="swap_chart3" :opts="ringOpts" />
 				</view>
@@ -393,19 +393,19 @@
 </script>
 
 <style lang="scss">
-	.chart_box {
+	.chart-box {
 		width: 100%;
 		height: 500rpx;
 	}
 
-	.flex_cloumn_box {
+	.flex-column-box {
 		margin: 20rpx 0;
 		display: flex;
 		flex-direction: column;
 		z-index: 55;
 	}
 
-	.flex_cloumn {
+	.flex-column {
 		margin: 140rpx 0 0 50rpx;
 		height: 170rpx;
 		justify-content: space-around;

+ 7 - 7
subpkg/work/workstats.vue

@@ -4,8 +4,8 @@
 		<!-- 背景 -->
 		<view class="bg-box1"></view>
 		<!-- 页面标题内容 -->
-		<view class="flex_cloumn">
-			<view class="flex_baseline">
+		<view class="flex-column">
+			<view class="flex-baseline">
 				<view class="content_title" style="font-size: 70rpx;">{{dayTime.split('月')[0]}}</view>
 				<view class="content_title" style="margin-left: 10rpx;">月</view>
 				<view class="content_title" style="font-size: 70rpx;margin-left: 10rpx;">{{dayTime.split('月')[1]}}
@@ -13,7 +13,7 @@
 				<view class="content_title" style="margin-left: 10rpx;">日</view>
 				<view class="content_title" style="font-size: 70rpx;margin-left: 20rpx;">{{weekTime}}</view>
 			</view>
-			<view class="flex_baseline">
+			<view class="flex-baseline">
 				<view class="content_subtitle" style="opacity: 0.8;">孩子今日共</view>
 				<view class="content_subtitle" style="margin-left: 20rpx;font-size: 60rpx;">{{workData.length}}</view>
 				<view class="content_subtitle" style="margin-left: 20rpx;opacity: 0.8;">份作业</view>
@@ -27,7 +27,7 @@
 					<view class="front-tag"></view>
 					<view class="title">近期作业完成率</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="column" ontouch="true" :chartData="workChartData[0]"
 						tooltipFormat='HomeworkPercent' :canvas2d="true" canvasId="work_chart1" />
 				</view>
@@ -38,7 +38,7 @@
 					<view class="front-tag"></view>
 					<view class="title">近期作业得分率</view>
 				</view>
-				<view class="chart_box">
+				<view class="chart-box">
 					<qiun-data-charts type="area" ontouch="true" :chartData="workChartData[1]"
 						tooltipFormat='HomeworkPercent' :canvas2d="true" canvasId="work_chart2" />
 				</view>
@@ -77,12 +77,12 @@
 </script>
 
 <style lang="scss">
-	.chart_box {
+	.chart-box {
 		width: 100%;
 		height: 500rpx;
 	}
 
-	.flex_cloumn {
+	.flex-column {
 		margin: 140rpx 0 0 50rpx;
 		height: 170rpx;
 		justify-content: space-around;

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-info/top-info.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/init/init.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_mine/tab_mine.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examdata.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examlist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swapdata.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swaplist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/workdata.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/worklist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/exercisesinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/level.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/ranking.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/single.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/subject.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/total.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/classlist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/clockstats.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/recommendinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/childinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/messagelist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/parentinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/subscribeinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/guide.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/login.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/options.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/swap/swapstats.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/workstats.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/wrongbookinfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/common/main.js


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

@@ -499,6 +499,12 @@ page {
   color: #303133;
   font-family: YSfont;
 }
+.YS-subtitle {
+  line-height: 32rpx;
+  font-size: 32rpx;
+  color: #909399;
+  font-family: YSfont;
+}
 .front-tag {
   margin-right: 20rpx;
   height: 100%;
@@ -563,19 +569,19 @@ page {
   font-size: 32rpx;
   line-height: 40rpx;
 }
-.flex_row {
+.flex-row {
   display: flex;
   align-items: center;
 }
-.flex_cloumn {
+.flex-column {
   display: flex;
   flex-direction: column;
 }
-.flex_baseline {
+.flex-baseline {
   display: flex;
   align-items: baseline;
 }
-.detail_image {
+.detail-image {
   width: 100%;
   height: 450rpx;
   background-size: cover;

Plik diff jest za duży
+ 2 - 2
unpackage/dist/dev/mp-weixin/common/vendor.js


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/components/top-info/top-info.wxml


+ 10 - 10
unpackage/dist/dev/mp-weixin/components/top-info/top-info.wxss

@@ -1,10 +1,10 @@
-.info_box {
+.info-box {
   margin: 560rpx 50rpx 0 50rpx;
   display: flex;
   align-items: center;
   z-index: 3;
 }
-.info_box .avatar {
+.info-box .avatar {
   width: 112rpx;
   height: 112rpx;
   border-radius: 100%;
@@ -12,25 +12,25 @@
   box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.2);
   z-index: 55;
 }
-.info_box .flex_cloumn {
+.info-box .flex-column {
   margin-left: 40rpx;
   width: 200rpx;
   height: 120rpx;
   justify-content: space-around;
 }
-.info_box .flex_cloumn .content_name {
+.info-box .flex-column .info-name {
   font-size: 55rpx;
   font-family: YSfont;
   color: #FFF;
   z-index: 99;
 }
-.info_box .flex_cloumn .content_class {
+.info-box .flex-column .info-class {
   font-size: 40rpx;
   font-family: YSfont;
   color: #FFF;
   z-index: 99;
 }
-.info_box .user_data {
+.info-box .capsule-box {
   display: flex;
   flex-direction: column;
   align-items: center;
@@ -38,7 +38,7 @@
   margin-left: auto;
   height: 120rpx;
 }
-.info_box .user_data .subscribe-tag {
+.info-box .capsule-box .sub-tag {
   display: flex;
   align-items: center;
   border-radius: 6rpx;
@@ -48,20 +48,20 @@
   background: #2f3137;
   z-index: 99;
 }
-.info_box .user_data .subscribe-tag .subscribe-tag-text {
+.info-box .capsule-box .sub-tag .sub-tag-text {
   margin-left: 2rpx;
   font-size: 28rpx;
   font-family: YSfont;
   color: #d0a97e;
   z-index: 99;
 }
-.info_box .user_data .subscribe-tag .t-icon {
+.info-box .capsule-box .sub-tag .t-icon {
   width: 28rpx;
   height: 28rpx;
   margin-top: -2rpx;
   margin-right: 2rpx;
 }
-.info_box .user_data .time_stamp {
+.info-box .capsule-box .time-stamp {
   color: #FFF;
   font-size: 24rpx;
   font-family: YSfont;

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxml


+ 12 - 2
unpackage/dist/dev/mp-weixin/components/top-semester/top-semester.wxss

@@ -1,14 +1,24 @@
-.flex_cloumn {
+.info-box {
+  display: flex;
+  flex-direction: column;
   height: 170rpx;
   justify-content: space-around;
 }
-.flex_cloumn .content_title {
+.info-box .info-title {
   font-size: 70rpx;
   font-family: YSfont;
   color: #FFF;
   z-index: 2;
   text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
 }
+.info-box .info-subtitle {
+  font-size: 40rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  margin-left: 20rpx;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+}
 .tag {
   margin-left: 20rpx;
   border-radius: 6rpx;

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/init/init.js


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.js


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml


+ 81 - 76
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss

@@ -8,15 +8,15 @@
   background-color: #4169E1;
   z-index: 2;
 }
-.bg1 .scroll_view {
+.bg1 .scroll-view {
   white-space: nowrap;
   height: 400rpx;
   margin: 70rpx 0 50rpx 0;
 }
-.bg1 .scroll_view .view_box {
+.bg1 .scroll-view .view-box {
   margin: 0 50rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item {
+.bg1 .scroll-view .view-box .scroll-view-item {
   position: relative;
   display: inline-block;
   vertical-align: top;
@@ -26,28 +26,28 @@
   border-radius: 30rpx;
   background-color: #FFF;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info {
   position: relative;
   display: flex;
   align-items: center;
   padding: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info .title {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info .title {
   font-size: 30rpx;
   line-height: 40rpx;
   margin-left: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .chart_box {
+.bg1 .scroll-view .view-box .scroll-view-item .chart-box {
   width: 100%;
   height: 300rpx;
 }
-.class_list {
+.data-list {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin: 0 30rpx 20rpx 30rpx;
 }
-.class_list .class_item {
+.data-list .data-item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
@@ -57,12 +57,12 @@
   border-bottom: 4rpx solid #f3f4f9;
   border-top: 4rpx solid #f3f4f9;
 }
-.class_list .class_item_title {
-  font-size: 32rpx;
-  font-weight: bold;
+.data-list .data-item .item-title {
+  font-size: 38rpx;
+  font-family: YSfont;
   color: #303133;
 }
-.class_list .class_item_subtitle {
+.data-list .data-item .item-subtitle {
   font-size: 30rpx;
   font-weight: bold;
   color: #909399;
@@ -70,14 +70,14 @@
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.class_list .class_item_detail {
+.data-list .data-item .item-detail {
   margin-left: 40rpx;
   line-height: 30rpx;
-  font-size: 26rpx;
-  font-weight: bold;
+  font-size: 36rpx;
+  font-family: YSfont;
   color: #909399;
 }
-.total_card {
+.stat-card {
   display: flex;
   justify-content: space-around;
   margin: 2% 0;
@@ -86,69 +86,44 @@
   background-color: #ff8caf;
   border-radius: 12rpx;
 }
-.image {
-  position: relative;
-  top: -40rpx;
-  right: -40rpx;
-  height: 300rpx;
-  width: 300rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 2;
+.stat-card .card-column {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  margin: 20rpx 0 20rpx 20rpx;
 }
-._title {
+.stat-card ._title {
   font-size: 54rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._subtitle {
+.stat-card ._subtitle {
   font-size: 34rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._unit {
+.stat-card ._unit {
   margin-left: 20rpx;
   font-size: 30rpx;
   font-family: YSfont;
   opacity: 0.7;
   color: #FFF;
 }
-.scroll_view_bottom {
-  white-space: nowrap;
-  height: 370rpx;
-}
-.scroll_view_bottom ._item_box {
-  margin: 0 20rpx;
-  display: inline-block;
-  vertical-align: top;
-  height: 600rpx;
-  width: 84%;
-}
-.scroll_view_bottom ._item_box .column_item_box {
-  height: 180rpx;
-  width: 100%;
-  margin-bottom: 20rpx;
-  border-radius: 12rpx;
-  background-color: #FFF;
-  overflow: hidden;
-}
-.scroll_view_bottom ._item_box .column_item_box .image_item {
-  width: 180rpx;
-  height: 180rpx;
-  border-radius: 12rpx;
+.stat-card .card-image {
+  position: relative;
+  top: -40rpx;
+  right: -40rpx;
+  height: 300rpx;
+  width: 300rpx;
   background-size: cover;
   background-repeat: no-repeat;
-  z-index: 50;
+  z-index: 2;
 }
-.scroll_view_bottom ._item_box .desc {
-  line-height: 26rpx;
-  font-size: 26rpx;
-  color: #909399;
+.scroll-view-bottom {
   white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
+  height: 370rpx;
 }
-.scroll_view_bottom ._item {
+.scroll-view-bottom .scroll-item {
   margin: 0 20rpx;
   display: inline-block;
   vertical-align: top;
@@ -159,19 +134,11 @@
   overflow: hidden;
   z-index: 55;
 }
-.scroll_view_bottom ._item .t-icon {
+.scroll-view-bottom .scroll-item .t-icon {
   width: 120rpx;
   height: 120rpx;
 }
-.scroll_view_bottom ._item .image_box {
-  height: 220rpx;
-  width: 100%;
-  border-radius: 12rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 50;
-}
-.circle_line1 {
+.circle-line1 {
   position: absolute;
   width: 352rpx;
   height: 352rpx;
@@ -183,7 +150,7 @@
   background-origin: padding-box, border-box;
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   position: absolute;
   width: 232rpx;
   height: 232rpx;
@@ -196,7 +163,7 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0));
   z-index: 2;
 }
-.circle_line3 {
+.circle-line3 {
   position: absolute;
   width: 176rpx;
   height: 176rpx;
@@ -209,14 +176,14 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
-.image_box {
+.image-box {
   display: flex;
   flex-direction: column;
   height: 100%;
   align-items: center;
   margin-bottom: 30rpx;
 }
-.detail_image_none {
+.detail-image-none {
   margin-top: -50rpx;
   width: 100%;
   height: 450rpx;
@@ -231,13 +198,51 @@
   background-color: #ff8caf;
   margin-left: 20rpx;
 }
-.circle_line1 {
+.circle-line1 {
   background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line3 {
+.circle-line3 {
   background-image: linear-gradient(to right, #ff8caf, #ff8caf), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
+.flex-title {
+  display: flex;
+  flex-direction: column;
+  height: 100rpx;
+  justify-content: space-around;
+}
+.flex-title .tag-fill {
+  background-color: #d8deff;
+  width: -webkit-fit-content;
+  width: fit-content;
+  margin-left: 0;
+  padding: 5rpx 10rpx;
+}
+.flex-title .tag-fill .t-icon {
+  width: 30rpx;
+  height: 30rpx;
+  margin-right: 5rpx;
+}
+.flex-title .tag-fill .tag-text {
+  color: #4169E1;
+}
+.flex-desc {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  justify-content: space-around;
+  margin: 0 30rpx 20rpx 30rpx;
+}
+.flex-desc .desc {
+  line-height: 28rpx;
+  font-size: 28rpx;
+  color: #909399;
+}
+.flex-desc .num {
+  line-height: 40rpx;
+  font-size: 40rpx;
+  color: #909399;
+}
 

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml


+ 119 - 95
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss

@@ -8,15 +8,15 @@
   background-color: #4169E1;
   z-index: 2;
 }
-.bg1 .scroll_view {
+.bg1 .scroll-view {
   white-space: nowrap;
   height: 400rpx;
   margin: 70rpx 0 50rpx 0;
 }
-.bg1 .scroll_view .view_box {
+.bg1 .scroll-view .view-box {
   margin: 0 50rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item {
+.bg1 .scroll-view .view-box .scroll-view-item {
   position: relative;
   display: inline-block;
   vertical-align: top;
@@ -26,28 +26,28 @@
   border-radius: 30rpx;
   background-color: #FFF;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info {
   position: relative;
   display: flex;
   align-items: center;
   padding: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info .title {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info .title {
   font-size: 30rpx;
   line-height: 40rpx;
   margin-left: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .chart_box {
+.bg1 .scroll-view .view-box .scroll-view-item .chart-box {
   width: 100%;
   height: 300rpx;
 }
-.class_list {
+.data-list {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin: 0 30rpx 20rpx 30rpx;
 }
-.class_list .class_item {
+.data-list .data-item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
@@ -57,12 +57,12 @@
   border-bottom: 4rpx solid #f3f4f9;
   border-top: 4rpx solid #f3f4f9;
 }
-.class_list .class_item_title {
-  font-size: 32rpx;
-  font-weight: bold;
+.data-list .data-item .item-title {
+  font-size: 38rpx;
+  font-family: YSfont;
   color: #303133;
 }
-.class_list .class_item_subtitle {
+.data-list .data-item .item-subtitle {
   font-size: 30rpx;
   font-weight: bold;
   color: #909399;
@@ -70,14 +70,14 @@
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.class_list .class_item_detail {
+.data-list .data-item .item-detail {
   margin-left: 40rpx;
   line-height: 30rpx;
-  font-size: 26rpx;
-  font-weight: bold;
+  font-size: 36rpx;
+  font-family: YSfont;
   color: #909399;
 }
-.total_card {
+.stat-card {
   display: flex;
   justify-content: space-around;
   margin: 2% 0;
@@ -86,69 +86,44 @@
   background-color: #ff8caf;
   border-radius: 12rpx;
 }
-.image {
-  position: relative;
-  top: -40rpx;
-  right: -40rpx;
-  height: 300rpx;
-  width: 300rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 2;
+.stat-card .card-column {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  margin: 20rpx 0 20rpx 20rpx;
 }
-._title {
+.stat-card ._title {
   font-size: 54rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._subtitle {
+.stat-card ._subtitle {
   font-size: 34rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._unit {
+.stat-card ._unit {
   margin-left: 20rpx;
   font-size: 30rpx;
   font-family: YSfont;
   opacity: 0.7;
   color: #FFF;
 }
-.scroll_view_bottom {
-  white-space: nowrap;
-  height: 370rpx;
-}
-.scroll_view_bottom ._item_box {
-  margin: 0 20rpx;
-  display: inline-block;
-  vertical-align: top;
-  height: 600rpx;
-  width: 84%;
-}
-.scroll_view_bottom ._item_box .column_item_box {
-  height: 180rpx;
-  width: 100%;
-  margin-bottom: 20rpx;
-  border-radius: 12rpx;
-  background-color: #FFF;
-  overflow: hidden;
-}
-.scroll_view_bottom ._item_box .column_item_box .image_item {
-  width: 180rpx;
-  height: 180rpx;
-  border-radius: 12rpx;
+.stat-card .card-image {
+  position: relative;
+  top: -40rpx;
+  right: -40rpx;
+  height: 300rpx;
+  width: 300rpx;
   background-size: cover;
   background-repeat: no-repeat;
-  z-index: 50;
+  z-index: 2;
 }
-.scroll_view_bottom ._item_box .desc {
-  line-height: 26rpx;
-  font-size: 26rpx;
-  color: #909399;
+.scroll-view-bottom {
   white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
+  height: 370rpx;
 }
-.scroll_view_bottom ._item {
+.scroll-view-bottom .scroll-item {
   margin: 0 20rpx;
   display: inline-block;
   vertical-align: top;
@@ -159,19 +134,11 @@
   overflow: hidden;
   z-index: 55;
 }
-.scroll_view_bottom ._item .t-icon {
+.scroll-view-bottom .scroll-item .t-icon {
   width: 120rpx;
   height: 120rpx;
 }
-.scroll_view_bottom ._item .image_box {
-  height: 220rpx;
-  width: 100%;
-  border-radius: 12rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 50;
-}
-.circle_line1 {
+.circle-line1 {
   position: absolute;
   width: 352rpx;
   height: 352rpx;
@@ -183,7 +150,7 @@
   background-origin: padding-box, border-box;
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   position: absolute;
   width: 232rpx;
   height: 232rpx;
@@ -196,7 +163,7 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0));
   z-index: 2;
 }
-.circle_line3 {
+.circle-line3 {
   position: absolute;
   width: 176rpx;
   height: 176rpx;
@@ -209,14 +176,14 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
-.image_box {
+.image-box {
   display: flex;
   flex-direction: column;
   height: 100%;
   align-items: center;
   margin-bottom: 30rpx;
 }
-.detail_image_none {
+.detail-image-none {
   margin-top: -50rpx;
   width: 100%;
   height: 450rpx;
@@ -236,7 +203,10 @@
   margin: 1095rpx 50rpx 20rpx 50rpx;
   width: 650rpx;
 }
-.flex_row_home {
+.YS-title {
+  font-size: 38rpx;
+}
+.row-margin {
   display: flex;
   align-items: center;
   margin: 10rpx 20rpx;
@@ -244,7 +214,7 @@
 .tag {
   margin-left: 20rpx;
 }
-.item_box1 {
+.class-box {
   display: flex;
   align-items: center;
   justify-content: space-between;
@@ -253,16 +223,14 @@
   background-color: #FFF;
   border-radius: 12rpx;
 }
-.item_box2 {
+.class-box .info-column {
+  height: 80rpx;
   display: flex;
+  flex-direction: column;
   align-items: center;
-  justify-content: space-between;
-  width: 100%;
-  height: 140rpx;
-  background-color: #FFF;
-  border-radius: 12rpx;
+  justify-content: space-around;
 }
-.icon_box {
+.icon-box {
   display: flex;
   align-items: center;
   justify-content: center;
@@ -271,19 +239,19 @@
   border-radius: 12rpx;
   z-index: 9;
 }
-.icon_box .t-icon {
+.icon-box .t-icon {
   width: 50rpx;
   height: 50rpx;
 }
-.item_block {
+.clock-block {
   display: flex;
   flex-direction: column;
-  width: 190rpx;
-  height: 110rpx;
+  width: 180rpx;
+  height: 120rpx;
   justify-content: space-around;
   align-items: center;
 }
-.class_btn {
+.state {
   display: flex;
   align-items: center;
   margin-left: auto;
@@ -291,29 +259,85 @@
   background-color: #23b46c;
   padding: 24rpx 12rpx;
 }
-.class_btn .t-icon {
+.state .t-icon {
   width: 32rpx;
   height: 32rpx;
 }
-.class_btn ._text {
+.state .state-text {
   color: #FFF;
   font-size: 24rpx;
   font-weight: bold;
   -webkit-transform: skew(-10deg);
           transform: skew(-10deg);
 }
-.image {
-  margin-top: -130rpx;
-  margin-left: -20rpx;
-  height: 170rpx;
-  width: 170rpx;
+.clock-image {
+  margin-top: -160rpx;
+  margin-left: 20rpx;
+  height: 160rpx;
+  width: 160rpx;
   background-size: 100%;
   background-repeat: no-repeat;
   opacity: 0.25;
   z-index: 1;
 }
-.scroll_view_bottom {
+.scroll-view-bottom {
   white-space: nowrap;
   height: 630rpx;
 }
+.scroll-view-bottom .box-container {
+  margin: 0 20rpx;
+  display: inline-block;
+  vertical-align: top;
+  height: 600rpx;
+  width: 84%;
+}
+.scroll-view-bottom .box-container .clounm-container {
+  height: 180rpx;
+  width: 100%;
+  margin-bottom: 20rpx;
+  border-radius: 12rpx;
+  background-color: #FFF;
+  overflow: hidden;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box {
+  display: flex;
+  width: 100%;
+  height: 100%;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .thumb {
+  width: 180rpx;
+  height: 180rpx;
+  border-radius: 12rpx;
+  background-size: cover;
+  background-repeat: no-repeat;
+  z-index: 50;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .info-box {
+  display: flex;
+  flex-direction: column;
+  margin: 20rpx 20rpx 20rpx 30rpx;
+  justify-content: space-between;
+  width: 400rpx;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .info-box .tag-fill {
+  background-color: #d8deff;
+  width: -webkit-fit-content;
+  width: fit-content;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .info-box .tag-fill .t-icon {
+  width: 30rpx;
+  height: 30rpx;
+  margin-right: 5rpx;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .info-box .tag-fill .tag-text {
+  color: #4169E1;
+}
+.scroll-view-bottom .box-container .clounm-container .item-box .info-box .desc {
+  line-height: 26rpx;
+  font-size: 26rpx;
+  color: #909399;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.js


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.wxml


+ 27 - 4
unpackage/dist/dev/mp-weixin/pages/tab_mine/tab_mine.wxss

@@ -33,7 +33,7 @@
   background-color: #f9c752;
   z-index: 4;
 }
-.content .info_box {
+.content .info-box {
   width: 100%;
   margin-top: 200rpx;
   margin-left: 40rpx;
@@ -41,14 +41,14 @@
   align-items: center;
   z-index: 10;
 }
-.content .info_box .avatar {
+.content .info-box .avatar {
   width: 120rpx;
   height: 120rpx;
   border-radius: 100%;
   border: 4rpx solid #FFFFFF;
   box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.2);
 }
-.content .info_box .flex_cloumn {
+.content .info-box .flex-column {
   margin-left: 40rpx;
   width: 200rpx;
   height: 120rpx;
@@ -85,8 +85,11 @@
 }
 .content .com-box .cell .cell-left .cell-text {
   color: #666;
-  font-size: 28rpx;
+  font-size: 30rpx;
+  line-height: 40rpx;
   margin-left: 20rpx;
+  font-family: YSfont;
+  font-weight: 300;
 }
 .content .com-box .cell .cell-right {
   display: flex;
@@ -95,4 +98,24 @@
 .content .com-box .cell .cell-right .u-badge {
   margin-right: 10rpx;
 }
+.flex-row .flex-column {
+  margin: 30rpx 0 30rpx 25rpx;
+}
+.flex-row .flex-column .box-title {
+  font-size: 40rpx;
+  line-height: 80rpx;
+  color: #303133;
+  font-family: YSfont;
+}
+.flex-row .flex-column .box-subtitle {
+  font-size: 30rpx;
+  line-height: 50rpx;
+  color: #909399;
+  font-family: YSfont;
+}
+.flex-row .t-icon {
+  width: 60rpx;
+  height: 60rpx;
+  margin-left: 25rpx;
+}
 

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml


+ 53 - 88
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss

@@ -8,15 +8,15 @@
   background-color: #4169E1;
   z-index: 2;
 }
-.bg1 .scroll_view {
+.bg1 .scroll-view {
   white-space: nowrap;
   height: 400rpx;
   margin: 70rpx 0 50rpx 0;
 }
-.bg1 .scroll_view .view_box {
+.bg1 .scroll-view .view-box {
   margin: 0 50rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item {
+.bg1 .scroll-view .view-box .scroll-view-item {
   position: relative;
   display: inline-block;
   vertical-align: top;
@@ -26,28 +26,28 @@
   border-radius: 30rpx;
   background-color: #FFF;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info {
   position: relative;
   display: flex;
   align-items: center;
   padding: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info .title {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info .title {
   font-size: 30rpx;
   line-height: 40rpx;
   margin-left: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .chart_box {
+.bg1 .scroll-view .view-box .scroll-view-item .chart-box {
   width: 100%;
   height: 300rpx;
 }
-.class_list {
+.data-list {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin: 0 30rpx 20rpx 30rpx;
 }
-.class_list .class_item {
+.data-list .data-item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
@@ -57,12 +57,12 @@
   border-bottom: 4rpx solid #f3f4f9;
   border-top: 4rpx solid #f3f4f9;
 }
-.class_list .class_item_title {
-  font-size: 32rpx;
-  font-weight: bold;
+.data-list .data-item .item-title {
+  font-size: 38rpx;
+  font-family: YSfont;
   color: #303133;
 }
-.class_list .class_item_subtitle {
+.data-list .data-item .item-subtitle {
   font-size: 30rpx;
   font-weight: bold;
   color: #909399;
@@ -70,14 +70,14 @@
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.class_list .class_item_detail {
+.data-list .data-item .item-detail {
   margin-left: 40rpx;
   line-height: 30rpx;
-  font-size: 26rpx;
-  font-weight: bold;
+  font-size: 36rpx;
+  font-family: YSfont;
   color: #909399;
 }
-.total_card {
+.stat-card {
   display: flex;
   justify-content: space-around;
   margin: 2% 0;
@@ -86,69 +86,44 @@
   background-color: #ff8caf;
   border-radius: 12rpx;
 }
-.image {
-  position: relative;
-  top: -40rpx;
-  right: -40rpx;
-  height: 300rpx;
-  width: 300rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 2;
+.stat-card .card-column {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  margin: 20rpx 0 20rpx 20rpx;
 }
-._title {
+.stat-card ._title {
   font-size: 54rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._subtitle {
+.stat-card ._subtitle {
   font-size: 34rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._unit {
+.stat-card ._unit {
   margin-left: 20rpx;
   font-size: 30rpx;
   font-family: YSfont;
   opacity: 0.7;
   color: #FFF;
 }
-.scroll_view_bottom {
-  white-space: nowrap;
-  height: 370rpx;
-}
-.scroll_view_bottom ._item_box {
-  margin: 0 20rpx;
-  display: inline-block;
-  vertical-align: top;
-  height: 600rpx;
-  width: 84%;
-}
-.scroll_view_bottom ._item_box .column_item_box {
-  height: 180rpx;
-  width: 100%;
-  margin-bottom: 20rpx;
-  border-radius: 12rpx;
-  background-color: #FFF;
-  overflow: hidden;
-}
-.scroll_view_bottom ._item_box .column_item_box .image_item {
-  width: 180rpx;
-  height: 180rpx;
-  border-radius: 12rpx;
+.stat-card .card-image {
+  position: relative;
+  top: -40rpx;
+  right: -40rpx;
+  height: 300rpx;
+  width: 300rpx;
   background-size: cover;
   background-repeat: no-repeat;
-  z-index: 50;
+  z-index: 2;
 }
-.scroll_view_bottom ._item_box .desc {
-  line-height: 26rpx;
-  font-size: 26rpx;
-  color: #909399;
+.scroll-view-bottom {
   white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
+  height: 370rpx;
 }
-.scroll_view_bottom ._item {
+.scroll-view-bottom .scroll-item {
   margin: 0 20rpx;
   display: inline-block;
   vertical-align: top;
@@ -159,19 +134,11 @@
   overflow: hidden;
   z-index: 55;
 }
-.scroll_view_bottom ._item .t-icon {
+.scroll-view-bottom .scroll-item .t-icon {
   width: 120rpx;
   height: 120rpx;
 }
-.scroll_view_bottom ._item .image_box {
-  height: 220rpx;
-  width: 100%;
-  border-radius: 12rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 50;
-}
-.circle_line1 {
+.circle-line1 {
   position: absolute;
   width: 352rpx;
   height: 352rpx;
@@ -183,7 +150,7 @@
   background-origin: padding-box, border-box;
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   position: absolute;
   width: 232rpx;
   height: 232rpx;
@@ -196,7 +163,7 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0));
   z-index: 2;
 }
-.circle_line3 {
+.circle-line3 {
   position: absolute;
   width: 176rpx;
   height: 176rpx;
@@ -209,14 +176,14 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
-.image_box {
+.image-box {
   display: flex;
   flex-direction: column;
   height: 100%;
   align-items: center;
   margin-bottom: 30rpx;
 }
-.detail_image_none {
+.detail-image-none {
   margin-top: -50rpx;
   width: 100%;
   height: 450rpx;
@@ -227,31 +194,29 @@
 .bg1 {
   background-color: #FF6D31;
 }
-.flex_row {
+.flex-row {
   margin: 5rpx 20rpx;
 }
+.row-desc {
+  margin: 5rpx 20rpx;
+  display: flex;
+  align-items: center;
+  width: 510rpx;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
 .tag-fill {
   background-color: #FF6D31;
   margin-left: 20rpx;
 }
-.circle_line1 {
+.circle-line1 {
   background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line3 {
+.circle-line3 {
   background-image: linear-gradient(to right, #FF6D31, #FF6D31), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-._item {
-  background-color: #ccc;
-  background-image: radial-gradient(#fff 50%, transparent 50%);
-  background-position: -5px -5px;
-  background-repeat: repeat;
-  background-size: 10px 10px;
-  padding: 5px;
-}
-._item ._item_inner {
-  background-color: #ccc;
-}
 

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml


+ 71 - 83
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss

@@ -8,15 +8,15 @@
   background-color: #4169E1;
   z-index: 2;
 }
-.bg1 .scroll_view {
+.bg1 .scroll-view {
   white-space: nowrap;
   height: 400rpx;
   margin: 70rpx 0 50rpx 0;
 }
-.bg1 .scroll_view .view_box {
+.bg1 .scroll-view .view-box {
   margin: 0 50rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item {
+.bg1 .scroll-view .view-box .scroll-view-item {
   position: relative;
   display: inline-block;
   vertical-align: top;
@@ -26,28 +26,28 @@
   border-radius: 30rpx;
   background-color: #FFF;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info {
   position: relative;
   display: flex;
   align-items: center;
   padding: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .card_info .title {
+.bg1 .scroll-view .view-box .scroll-view-item .card-info .title {
   font-size: 30rpx;
   line-height: 40rpx;
   margin-left: 20rpx;
 }
-.bg1 .scroll_view .view_box .scroll_view_item .chart_box {
+.bg1 .scroll-view .view-box .scroll-view-item .chart-box {
   width: 100%;
   height: 300rpx;
 }
-.class_list {
+.data-list {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin: 0 30rpx 20rpx 30rpx;
 }
-.class_list .class_item {
+.data-list .data-item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
@@ -57,12 +57,12 @@
   border-bottom: 4rpx solid #f3f4f9;
   border-top: 4rpx solid #f3f4f9;
 }
-.class_list .class_item_title {
-  font-size: 32rpx;
-  font-weight: bold;
+.data-list .data-item .item-title {
+  font-size: 38rpx;
+  font-family: YSfont;
   color: #303133;
 }
-.class_list .class_item_subtitle {
+.data-list .data-item .item-subtitle {
   font-size: 30rpx;
   font-weight: bold;
   color: #909399;
@@ -70,14 +70,14 @@
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.class_list .class_item_detail {
+.data-list .data-item .item-detail {
   margin-left: 40rpx;
   line-height: 30rpx;
-  font-size: 26rpx;
-  font-weight: bold;
+  font-size: 36rpx;
+  font-family: YSfont;
   color: #909399;
 }
-.total_card {
+.stat-card {
   display: flex;
   justify-content: space-around;
   margin: 2% 0;
@@ -86,69 +86,44 @@
   background-color: #ff8caf;
   border-radius: 12rpx;
 }
-.image {
-  position: relative;
-  top: -40rpx;
-  right: -40rpx;
-  height: 300rpx;
-  width: 300rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 2;
+.stat-card .card-column {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  margin: 20rpx 0 20rpx 20rpx;
 }
-._title {
+.stat-card ._title {
   font-size: 54rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._subtitle {
+.stat-card ._subtitle {
   font-size: 34rpx;
   font-family: YSfont;
   color: #FFF;
 }
-._unit {
+.stat-card ._unit {
   margin-left: 20rpx;
   font-size: 30rpx;
   font-family: YSfont;
   opacity: 0.7;
   color: #FFF;
 }
-.scroll_view_bottom {
-  white-space: nowrap;
-  height: 370rpx;
-}
-.scroll_view_bottom ._item_box {
-  margin: 0 20rpx;
-  display: inline-block;
-  vertical-align: top;
-  height: 600rpx;
-  width: 84%;
-}
-.scroll_view_bottom ._item_box .column_item_box {
-  height: 180rpx;
-  width: 100%;
-  margin-bottom: 20rpx;
-  border-radius: 12rpx;
-  background-color: #FFF;
-  overflow: hidden;
-}
-.scroll_view_bottom ._item_box .column_item_box .image_item {
-  width: 180rpx;
-  height: 180rpx;
-  border-radius: 12rpx;
+.stat-card .card-image {
+  position: relative;
+  top: -40rpx;
+  right: -40rpx;
+  height: 300rpx;
+  width: 300rpx;
   background-size: cover;
   background-repeat: no-repeat;
-  z-index: 50;
+  z-index: 2;
 }
-.scroll_view_bottom ._item_box .desc {
-  line-height: 26rpx;
-  font-size: 26rpx;
-  color: #909399;
+.scroll-view-bottom {
   white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
+  height: 370rpx;
 }
-.scroll_view_bottom ._item {
+.scroll-view-bottom .scroll-item {
   margin: 0 20rpx;
   display: inline-block;
   vertical-align: top;
@@ -159,19 +134,11 @@
   overflow: hidden;
   z-index: 55;
 }
-.scroll_view_bottom ._item .t-icon {
+.scroll-view-bottom .scroll-item .t-icon {
   width: 120rpx;
   height: 120rpx;
 }
-.scroll_view_bottom ._item .image_box {
-  height: 220rpx;
-  width: 100%;
-  border-radius: 12rpx;
-  background-size: cover;
-  background-repeat: no-repeat;
-  z-index: 50;
-}
-.circle_line1 {
+.circle-line1 {
   position: absolute;
   width: 352rpx;
   height: 352rpx;
@@ -183,7 +150,7 @@
   background-origin: padding-box, border-box;
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   position: absolute;
   width: 232rpx;
   height: 232rpx;
@@ -196,7 +163,7 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0));
   z-index: 2;
 }
-.circle_line3 {
+.circle-line3 {
   position: absolute;
   width: 176rpx;
   height: 176rpx;
@@ -209,14 +176,14 @@
   background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0));
   z-index: 3;
 }
-.image_box {
+.image-box {
   display: flex;
   flex-direction: column;
   height: 100%;
   align-items: center;
   margin-bottom: 30rpx;
 }
-.detail_image_none {
+.detail-image-none {
   margin-top: -50rpx;
   width: 100%;
   height: 450rpx;
@@ -227,8 +194,17 @@
 .bg1 {
   background-color: #f9c752;
 }
-.flex_row {
+.flex-row {
+  margin: 5rpx 20rpx;
+}
+.row-desc {
   margin: 5rpx 20rpx;
+  display: flex;
+  align-items: center;
+  width: 510rpx;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
 }
 .tag-fill {
   background-color: #ff8caf;
@@ -237,20 +213,20 @@
 .image {
   top: -50rpx;
 }
-.circle_line1 {
+.circle-line1 {
   background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(90deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line2 {
+.circle-line2 {
   background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(180deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.circle_line3 {
+.circle-line3 {
   background-image: linear-gradient(to right, #f9c752, #f9c752), linear-gradient(0deg, #FFF -50%, rgba(255, 255, 255, 0));
 }
-.scroll_view_bottom {
+.scroll-view-bottom {
   white-space: nowrap;
   height: 350rpx;
 }
-.scroll_view_bottom ._item {
+.scroll-view-bottom .scroll-item {
   margin: 4rpx 20rpx 0 20rpx;
   display: inline-block;
   vertical-align: top;
@@ -261,14 +237,14 @@
   z-index: 55;
   box-shadow: 1px 0px 2px #ffffff, 2px -1px 2px #d2d2d2, 3px -2px 2px #b4b4b4;
 }
-.flex_cloumn_book {
+.flex-column-book {
   display: flex;
   flex-direction: column;
   height: 100%;
   width: 100%;
   overflow: hidden;
 }
-.book_title {
+.bg-title {
   position: absolute;
   margin-top: 60rpx;
   margin-left: 80rpx;
@@ -279,14 +255,14 @@
   -webkit-writing-mode: vertical-lr;
           writing-mode: vertical-lr;
 }
-.book_shadow {
+.book-shadow {
   position: absolute;
   margin-left: 20rpx;
   height: 300rpx;
   width: 20rpx;
   background-image: linear-gradient(to right, rgba(105, 105, 105, 0.1), rgba(255, 255, 255, 0.1));
 }
-.flex_cloumn_box {
+.book-info {
   display: flex;
   flex-direction: column;
   height: 100rpx;
@@ -295,4 +271,16 @@
   justify-content: space-between;
   z-index: 99;
 }
+.book-info .book-title {
+  line-height: 60rpx;
+  font-family: YSfont;
+  color: #FFF;
+  font-size: 60rpx;
+  margin-left: auto;
+}
+.book-info .book-subtitle {
+  font-size: 28rpx;
+  color: #FFF;
+  margin-left: 4rpx;
+}
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/project.private.config.json

@@ -46,5 +46,5 @@
       ]
     }
   },
-  "libVersion": "2.21.4"
+  "libVersion": "2.23.4"
 }

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/datalist/examdata.wxml


+ 106 - 6
unpackage/dist/dev/mp-weixin/subpkg/datalist/examdata.wxss

@@ -1,16 +1,116 @@
-.page-view {
-  background-color: #ff8caf;
+.top-box {
+  display: flex;
+  flex-direction: column;
+  margin: 140rpx 0 0 50rpx;
+  height: 170rpx;
+  justify-content: space-around;
+}
+.top-box .info-title {
+  margin-left: 10rpx;
+  font-size: 70rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+}
+.top-box .info-subtitle {
+  margin-left: 10rpx;
+  font-size: 40rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+}
+.top-box .data-title {
+  font-size: 60rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  margin-left: 20rpx;
+}
+.top-box .data-subtitle {
+  font-size: 40rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  opacity: 0.8;
+  margin-left: 20rpx;
 }
-.page_title {
+.card-view .card-item {
+  width: 100%;
+}
+.card-view .card-item .card-title {
+  display: flex;
+  align-items: center;
+  padding: 40rpx;
+  height: 40rpx;
+}
+.card-view .card-item .card-title .t-icon {
+  height: 40rpx;
+  width: 40rpx;
+  margin-right: 10rpx;
+}
+.card-view .card-item .card-title .state-seal {
+  width: 55px;
+  height: 55px;
+  margin-left: auto;
+  margin-right: -20rpx;
+}
+.card-view .card-item .card-info {
+  display: flex;
+  flex-direction: column;
+  margin: 0	40rpx 40rpx 40rpx;
+}
+.card-view .card-item .card-info .info-type {
+  font-size: 26rpx;
+  line-height: 30rpx;
+  color: #909399;
+}
+.card-view .card-item .content-box {
+  margin: 20rpx;
+  padding: 0 20rpx;
+  background-color: #f6f6f6;
+  border-radius: 10rpx;
+}
+.card-view .card-item .content-box .title-box {
+  position: relative;
+  top: -20rpx;
+  width: -webkit-fit-content;
+  width: fit-content;
+  height: 36rpx;
+  border-radius: 6rpx;
+  padding: 5rpx 20rpx;
+}
+.card-view .card-item .content-box .title-box .title-text {
+  font-size: 25rpx;
+  font-weight: bold;
+  color: #FFF;
+}
+.card-view .card-item .content-box .content-detail {
+  font-size: 30rpx;
+  font-weight: bold;
+  color: #303133;
+  word-break: break-all;
+}
+.card-view .card-item .content-box .content-subtitle {
+  font-size: 25rpx;
+  font-weight: bold;
+  color: #909399;
+}
+.report-title {
   font-size: 75rpx;
   font-family: YSfont;
   color: #FFF;
 }
-.page_subtitle {
+.report-subtitle {
   font-size: 40rpx;
   font-family: YSfont;
+  margin-top: 30rpx;
   color: #FFF;
 }
+.page-view {
+  background-color: #ff8caf;
+}
 .bg1 {
   position: absolute;
   top: 200rpx;
@@ -20,7 +120,7 @@
   border-radius: 50%;
   background-color: #ffb2c9;
 }
-.detail_image1 {
+.detail-image1 {
   position: absolute;
   top: 180rpx;
   left: 580rpx;
@@ -30,7 +130,7 @@
   background-repeat: no-repeat;
   z-index: 51;
 }
-.detail_image2 {
+.detail-image2 {
   position: absolute;
   top: 230rpx;
   left: 380rpx;

Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/datalist/examlist.wxml


+ 77 - 25
unpackage/dist/dev/mp-weixin/subpkg/datalist/examlist.wxss

@@ -1,17 +1,78 @@
-.subtitle {
-  font-weight: 400;
-  font-size: 26rpx;
+.top-box {
+  display: flex;
+  flex-direction: column;
+  margin: 140rpx 0 0 50rpx;
+  height: 170rpx;
+  justify-content: space-around;
 }
-.tag-fill {
-  background-color: #ff8caf;
+.top-box .info-title {
+  margin-left: 10rpx;
+  font-size: 70rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+}
+.top-box .info-subtitle {
+  margin-left: 10rpx;
+  font-size: 40rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  text-shadow: 1px -1px 0px #c0c0c0, 2px -2px 0px #b0b0b0, 1px -1px 0px #a0a0a0, 2px -2px 0px #909090;
+}
+.top-box .data-title {
+  font-size: 60rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  margin-left: 20rpx;
+}
+.top-box .data-subtitle {
+  font-size: 40rpx;
+  font-family: YSfont;
+  color: #FFF;
+  z-index: 2;
+  opacity: 0.8;
+  margin-left: 20rpx;
+}
+.card-view .card-item {
+  width: 100%;
+}
+.card-view .card-item .card-title {
+  display: flex;
+  align-items: center;
+  padding: 40rpx;
+  height: 40rpx;
+}
+.card-view .card-item .card-title .t-icon {
+  height: 40rpx;
+  width: 40rpx;
+  margin-right: 10rpx;
+}
+.card-view .card-item .card-title .state-seal {
+  width: 55px;
+  height: 55px;
+  margin-left: auto;
+  margin-right: -20rpx;
+}
+.card-view .card-item .card-info {
+  display: flex;
+  flex-direction: column;
+  margin: 0	40rpx 40rpx 40rpx;
+}
+.card-view .card-item .card-info .info-type {
+  font-size: 26rpx;
+  line-height: 30rpx;
+  color: #909399;
 }
-.content_box {
+.card-view .card-item .content-box {
   margin: 20rpx;
   padding: 0 20rpx;
   background-color: #f6f6f6;
   border-radius: 10rpx;
 }
-.content_box .title_box {
+.card-view .card-item .content-box .title-box {
   position: relative;
   top: -20rpx;
   width: -webkit-fit-content;
@@ -20,43 +81,34 @@
   border-radius: 6rpx;
   padding: 5rpx 20rpx;
 }
-.content_box .title_box .title_text {
+.card-view .card-item .content-box .title-box .title-text {
   font-size: 25rpx;
   font-weight: bold;
   color: #FFF;
 }
-.content_box .content_detail {
+.card-view .card-item .content-box .content-detail {
   font-size: 30rpx;
   font-weight: bold;
   color: #303133;
   word-break: break-all;
 }
-.content_box .content_subtitle {
+.card-view .card-item .content-box .content-subtitle {
   font-size: 25rpx;
   font-weight: bold;
   color: #909399;
 }
-.flex_cloumn {
-  margin: 140rpx 0 0 50rpx;
-  height: 170rpx;
-  justify-content: space-around;
-}
-.flex_cloumn .content_title {
-  font-size: 40rpx;
+.report-title {
+  font-size: 75rpx;
   font-family: YSfont;
   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 {
+.report-subtitle {
   font-size: 40rpx;
   font-family: YSfont;
+  margin-top: 30rpx;
   color: #FFF;
-  z-index: 2;
 }
-.cloumn {
-  display: flex;
-  flex-direction: column;
-  margin: 20rpx 50rpx;
+.tag-fill {
+  background-color: #ff8caf;
 }
 

+ 0 - 0
unpackage/dist/dev/mp-weixin/subpkg/datalist/swapdata.wxml


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików