yinchengnuo 4 лет назад
Родитель
Сommit
ea36ccc168
3 измененных файлов с 78 добавлено и 7 удалено
  1. 1 1
      pages/index/index.vue
  2. 73 2
      pages/longTapIndex/longTapIndex.vue
  3. 4 4
      store.js

+ 1 - 1
pages/index/index.vue

@@ -18,7 +18,7 @@
 							<text>{{ userServerInfo.level_name }}</text>
 						</view>
 					</view>
-					<view class="progress" v-if="userServerInfo.score && userServerInfo.type === 1 && userServerInfo.signuped">
+					<view class="progress" v-if="userServerInfo.signuped">
 						<view v-if="userServerInfo.score === userServerInfo.max_score">
 							您已达到历史最高学分,请继续加油
 						</view>

+ 73 - 2
pages/longTapIndex/longTapIndex.vue

@@ -6,6 +6,8 @@
 		<button type="primary" @tap="toexchange">礼品兑换</button>
 		<button type="primary" @tap="tostatistics">数据统计</button>
 		<button type="primary" @tap="tosetting">设置</button>
+		<button type="primary" @tap="toChallenge">学分挑战</button>
+		<button type="primary" v-if="userStatus" @tap="toScore">学分账单</button>
 	</view>
 </template>
 
@@ -19,12 +21,82 @@
 		computed: {
 			userServerInfo () {  //用户服务器信息
 				return this.$store.state.userServerInfo
+			},
+			userStatus () {  //根据赛季阶段和用户类型,显示不同可操作项
+				if (this.$verified()) {  //如果用户已经登录,进行下一步判断
+					if (this.userServerInfo.status) {  //如果赛季已经开赛
+						if (this.userServerInfo.status === 1) {  //如果赛季正处于报名阶段
+							if (this.userServerInfo.signuped) {  //如果用户已报名
+								return '已报名'
+							} else {  //如果用户未报名,那么可能是 1 用户真没报名  2 代理公司 3 政委
+								if (this.userServerInfo.type === 1) {
+									return '报名参赛'
+								} else if (this.userServerInfo.type === 2) {
+									return '报名参赛'
+								} else if (this.userServerInfo.type === 3) {
+									return ''
+								}
+							}
+						} else if (this.userServerInfo.status === 2 || this.userServerInfo.status === 3 || this.userServerInfo.status === 5) {  //如果赛季正处于比赛或兑奖阶段
+							if (this.userServerInfo.signuped) {  //如果用户已报名
+								return '学分账单'
+							} else {  //如果用户未报名,那么可能是 1 用户真没报名  2 代理公司 3 政委
+								if (this.userServerInfo.type === 1) {
+									// return '报名截止'
+									return ''
+								} else if (this.userServerInfo.type === 2) {
+									return '学分账单'
+								} else if (this.userServerInfo.type === 3) {
+									return ''
+								}
+							}
+						} else if (this.userServerInfo.status === 4) { // 如果赛季正处于报名结束的空档期
+							if (this.userServerInfo.signuped) {  //如果用户已报名
+								return '已报名'
+							} else {  //如果用户未报名,那么可能是 1 用户真没报名  2 代理公司 3 政委
+								if (this.userServerInfo.type === 1) {
+									// return '报名截止'
+									return ''
+								} else if (this.userServerInfo.type === 2) {
+									return '学分账单'
+								} else if (this.userServerInfo.type === 3) {
+									return ''
+								}
+							}
+						}
+					} else {  //如果赛季暂未开赛
+						// return '暂未开赛'
+						return ''
+					}
+				} else {  //如果用户未登录
+					return '绑定账号'
+				}
 			}
 		},
 		onShow() {
 			this.routing = false
 		},
 		methods: {
+			toScore() {
+				uni.navigateTo({ url: '../score/score' })
+			},
+			toChallenge() { // 点击学分挑战
+				if (this.$verified()) {  //用户是否已登录
+					if (this.userServerInfo.signuped) { // 用户是否已经报名
+						if (this.userServerInfo.type === 2) { // 只有代理公司能够参加学分竞赛
+							if (this.routing) { return }
+							this.routing = true
+							uni.navigateTo({ url: '../challengeList/challengeList' })
+						} else {  //代理公司和政委不可参赛,所以提示无参赛记录
+							uni.showToast({ title: '只有代理公司可以参与挑战', icon:"none" })
+						}
+					} else {
+						uni.showToast({ title: '您还没有报名参赛', icon:"none" })
+					}
+				} else {  //未登录弹出登录框
+					uni.showToast({ title: '您还未登录', icon:"none" })
+				}
+			},
 			toranking () {  //点击排行榜
 				if (this.$verified()) {  //用户是否已登录
 					if (this.userServerInfo.type === 1) {  //判断用户类型,普通用户需要报名后才可以查看排行榜
@@ -37,8 +109,7 @@
 							uni.showToast({
 								title: '您还没有报名参赛',
 								icon:"none"
-							});
-							
+							})
 						}	
 					} else {  //代理公司和政委可以直接查看排行榜页
 						if (this.routing) { return }

+ 4 - 4
store.js

@@ -38,10 +38,10 @@ const store = new Vuex.Store({
 			}
 			console.log(payload)
 			
-			payload.cha_nickname = 'TEST1211313123'
-			payload.signuped = true
-			payload.type = 2
-			payload.level_name = '代理公司'
+			// payload.cha_nickname = 'TEST1211313123'
+			// payload.signuped = true
+			// payload.type = 2
+			// payload.level_name = '代理公司'
 			// payload.money = 1
 			
 			state.userServerInfo = payload //把获取到的用户服务器信息,保存到 vuex 中