he2802 4 lat temu
rodzic
commit
1a45b0a8c9
4 zmienionych plików z 105 dodań i 25 usunięć
  1. 7 0
      common/httpList/userInfo.js
  2. 15 10
      components/home.vue
  3. 22 2
      components/my.vue
  4. 61 13
      pages2/wd/ranking.vue

+ 7 - 0
common/httpList/userInfo.js

@@ -52,4 +52,11 @@ export default {
 			data: data,
 		})
 	},
+	rankList(data) {
+		return myRequest({
+			url: '/app/user/rankingList',
+			method: 'get',
+			data: data,
+		})
+	},
 }

+ 15 - 10
components/home.vue

@@ -13,15 +13,15 @@
 					<view class="card_box">
 						<u-row gutter="16">
 							<u-col span="11" v-if="false">
-								<view>
-									<text class="t1">距离</text>
-									<text class="t2">二级建造师</text>
-									<text class="t1">考试</text>
-									<text class="t3">365</text>
-									<text class="t1">天,继续加油哦!</text>
+								<view >
+										<text class="t1">距离</text>
+										<text class="t2">二级建造师</text>
+										<text class="t1">考试</text>
+										<text class="t3">365</text>
+										<text class="t1">天,继续加油哦!</text>
 								</view>
 							</u-col>
-							<u-col span="1">
+							<u-col offset="11" span="1">
 								<view @click="jumpPlan"><image src="/static/more.png" class="img_more"></image></view>
 							</u-col>
 						</u-row>
@@ -33,7 +33,7 @@
 					<view style="width: 100%;display: flex;justify-content:center;margin-top: 40rpx;">
 						<view v-for="(item, index) in date_num" :key="index" class="date_num">{{ item }}</view>
 					</view>
-					<view style="width: 100%;margin-top: 20rpx;">
+					<view style="width: 100%;margin-top: 20rpx;" v-if="false">
 						<u-row gutter="16">
 							<u-col span="2" text-align="center">
 								<view><image src="/static/left.png" class="arr-icon"></image></view>
@@ -155,7 +155,7 @@ export default {
 				}
 			],
 			date: ['日', '一', '二', '三', '四', '五', '六'],
-			date_num: [23, 24, 25, 26, 27, 28, 29],
+			date_num: [20, 21, 22, 23, 24, 25, 26],
 			list1: [],
 			list2: [],
 			list3: [],
@@ -271,7 +271,12 @@ export default {
 			}
 		},
 		jumpPlan() {
-			this.$navTo.togo('/pages2/plan/detail', {});
+			if(!this.$method.isLogin()){
+				this.$navTo.togo('/pages/login/login');
+			}else{
+				this.$navTo.togo('/pages2/plan/detail', {});
+			}
+			
 		},
 		jumpSearch() {
 			this.$navTo.togo('/pages2/index/search', {});

+ 22 - 2
components/my.vue

@@ -23,9 +23,12 @@
 						<u-line-progress height="8" active-color="#2F4379" :percent="0" :show-percent="false"></u-line-progress>
 					</navigator>
 				</u-col>
-				<view class="qiandao">
+				<view class="qiandao" @click="qd()" v-if="!isQd">
 					签到
 				</view>
+				<view class="qiandao"  v-if="isQd">
+					已签到
+				</view>
 			</u-row>
 			<view style="margin-top: 20rpx;">
 				<u-row >
@@ -130,10 +133,27 @@
 				list:[23,24,25,26,27,28,29],
 				content:'此功能暂未开放',
 				show:false,
-				collectTotal:0
+				collectTotal:0,
+				isQd:false
 			};
 		},
+		mounted(){
+			this.haveQD()
+		},
 		methods: {
+			haveQD(){
+				let num = uni.getStorageSync("qd_day");
+				if(num){
+					this.isQd = true
+				}
+			},
+			qd(){
+				let date = new Date()
+				let num = date.getDate()
+				let key = "qd_day"
+				uni.setStorageSync(key, num);
+				this.isQd = true
+			},
 			jumpDetail(item){
 				this.$navTo.togo('/pages2/course/detail', {
 					id: item.courseId

+ 61 - 13
pages2/wd/ranking.vue

@@ -14,15 +14,23 @@
 					</u-col>
 					<u-col span="5">
 						<view style="vertical-align: middle;display: flex;">
-							<image src="/static/avatar.png" style="width: 80rpx;height: 80rpx;"></image>
-							<view class="r_t2">李宏杰</view>
+							<image :src="userInfo!=null?$method.splitImgHost(userInfo.avatar):''" style="width: 80rpx;height: 80rpx;border-radius: 50%;"></image>
+							<view class="r_t2">{{userInfo.nickname}}</view>
 						</view>
 					</u-col>
-					<u-col span="5">
+					<u-col span="5" v-if="current==0">
 						<view style="color: #0183FE;font-size: 28rpx;">
 							<view style="line-height: 80rpx;">
-								<text>第15名</text>
-								<text style="margin-left: 30rpx;">12h</text>
+								<text>第{{info.rank}}名</text>
+								<text style="margin-left: 30rpx;">{{info.hourse}}h</text>
+							</view>
+						</view>
+					</u-col>
+					<u-col span="5" v-if="current==1">
+						<view style="color: #0183FE;font-size: 28rpx;">
+							<view style="line-height: 80rpx;">
+								<text>第{{info2.rank}}名</text>
+								<text style="margin-left: 30rpx;">{{info2.hourse}}h</text>
 							</view>
 						</view>
 					</u-col>
@@ -46,7 +54,7 @@
 					</u-row>
 				</view>
 				<scroll-view class='main-scroll' scroll-y  >
-					<view v-for="(item,index) in list2" :key="index" class="rank_item">
+					<view v-for="(item,index) in list2" :key="index" class="rank_item" v-if="current==0">
 						<u-row >
 							<u-col span="2" text-align="center">
 								<view class="rank_t3">
@@ -58,16 +66,36 @@
 							</u-col>
 							<u-col span="8" >
 								<view style="vertical-align: middle;display: flex;">
-									<image src="/static/avatar.png" style="width: 80rpx;height: 80rpx;"></image>
-									<view class="rank_t4" style="padding-left: 30rpx;">陈政</view>
+									<image :src="$method.splitImgHost(item.avatar)" style="width: 80rpx;height: 80rpx;border-radius: 50%;"></image>
+									<view class="rank_t4" style="padding-left: 30rpx;">{{item.nickname}}</view>
 								</view>
 							</u-col>
 							<u-col span="2" text-align="left">
-								<view class="rank_t4">72h</view>
+								<view class="rank_t4">{{item.hourse}}h</view>
+							</u-col>
+						</u-row>
+					</view>
+					<view v-for="(item,index) in list3" :key="index" class="rank_item" v-if="current==1">
+						<u-row >
+							<u-col span="2" text-align="center">
+								<view class="rank_t3">
+									<image src="/static/sort_1.png" class="rank_img" v-if="index==0"></image>
+									<image src="/static/sort_2.png" class="rank_img" v-if="index==1"></image>
+									<image src="/static/sort_3.png" class="rank_img" v-if="index==2"></image>
+									<view v-if="index>2" class="rank_t5">{{index+1}}</view>
+								</view>
+							</u-col>
+							<u-col span="8" >
+								<view style="vertical-align: middle;display: flex;">
+									<image :src="$method.splitImgHost(item.avatar)" style="width: 80rpx;height: 80rpx;border-radius: 50%;"></image>
+									<view class="rank_t4" style="padding-left: 30rpx;">{{item.nickname}}</view>
+								</view>
+							</u-col>
+							<u-col span="2" text-align="left">
+								<view class="rank_t4">{{item.hourse}}h</view>
 							</u-col>
 						</u-row>
 					</view>
-					
 				</scroll-view>
 				
 			</view>
@@ -76,6 +104,7 @@
 </template>
 
 <script>
+		import {mapGetters} from 'vuex';
 	export default {
 		data() {
 			return {
@@ -86,20 +115,39 @@
 				}],
 				current: 0,
 				list2:[1,1,1,1,1,1,1,1,1,1,1],
+				list3:[],
+				info:{},
+				info2:{},
 			}
 		},
 		onLoad(option) {
-			
+			this.rankList()
+			this.rankList2()
 		},
 		onShow(){
 		},
 		methods: {
 			change(index) {
 				this.current = index;
-			}
+			},
+			rankList(){
+				let self = this
+				this.$api.rankList({status:0}).then(res => {
+					self.info = res.data.data
+					self.list2 = res.data.data.ranKingUsers
+				});
+			},
+			rankList2(){
+				let self = this
+				this.$api.rankList({status:1}).then(res => {
+					self.info2 = res.data.data
+					self.list3 = res.data.data.ranKingUsers
+					console.log(self.info2,333)
+				});
+			},
 		
 		},
-		
+		computed: {...mapGetters(['userInfo'])}
 	}
 </script>