Commit b0c415e006ec6064296f1666a8463ca4287c72b6
1 parent
4d5e105e
Exists in
master
feat:切换用户
Showing
6 changed files
with
121 additions
and
12 deletions
Show diff stats
3.13 KB
303 Bytes
src/router/index.js
@@ -44,6 +44,7 @@ import ans_rank from '@/views/answerRank/ans_rank.vue' //答题排行榜 | @@ -44,6 +44,7 @@ import ans_rank from '@/views/answerRank/ans_rank.vue' //答题排行榜 | ||
44 | import brush_questions from '@/views/answerRank/brush_questions.vue' //刷题记录 | 44 | import brush_questions from '@/views/answerRank/brush_questions.vue' //刷题记录 |
45 | import stars from '@/views/answerRank/stars.vue' //五星少年 | 45 | import stars from '@/views/answerRank/stars.vue' //五星少年 |
46 | import ans_question from '@/views/answerRank/ans_question.vue' //答题 | 46 | import ans_question from '@/views/answerRank/ans_question.vue' //答题 |
47 | +import switchUser from '@/views/answerRank/switchUser.vue' //切换 | ||
47 | 48 | ||
48 | Vue.use(VueRouter) | 49 | Vue.use(VueRouter) |
49 | const [routerPush, routerReplace] = [VueRouter.prototype.push, VueRouter.prototype.replace]; | 50 | const [routerPush, routerReplace] = [VueRouter.prototype.push, VueRouter.prototype.replace]; |
@@ -343,6 +344,14 @@ const routes = [{ | @@ -343,6 +344,14 @@ const routes = [{ | ||
343 | } | 344 | } |
344 | }, | 345 | }, |
345 | { | 346 | { |
347 | + path: '/switchUser', | ||
348 | + name: 'switchUser', | ||
349 | + component: switchUser, | ||
350 | + meta: { | ||
351 | + title: '切换用户' | ||
352 | + } | ||
353 | + }, | ||
354 | + { | ||
346 | path: '/YanxueDetail', | 355 | path: '/YanxueDetail', |
347 | name: 'YanxueDetail', | 356 | name: 'YanxueDetail', |
348 | component: YanxueDetail, | 357 | component: YanxueDetail, |
src/views/answerRank/ans_question.vue
@@ -149,15 +149,21 @@ export default { | @@ -149,15 +149,21 @@ export default { | ||
149 | ) | 149 | ) |
150 | .then((res) => { | 150 | .then((res) => { |
151 | if (res.data.code == 200) { | 151 | if (res.data.code == 200) { |
152 | - this.$dialog.alert({ | ||
153 | - title: "完成答题", | ||
154 | - message: "您的分数是:" + res.data.data, | ||
155 | - theme: "round-button", | ||
156 | - }).then(() => { | ||
157 | - this.$router.push({ | ||
158 | - name: 'stars' | 152 | + this.$dialog |
153 | + .alert({ | ||
154 | + title: "完成答题", | ||
155 | + message: "您的分数是:" + res.data.data, | ||
156 | + theme: "round-button", | ||
159 | }) | 157 | }) |
160 | - }); | 158 | + .then(() => { |
159 | + let index = this.$route.query.index | ||
160 | + this.$router.push({ | ||
161 | + name: "stars", | ||
162 | + query: { | ||
163 | + index: index, | ||
164 | + }, | ||
165 | + }); | ||
166 | + }); | ||
161 | } else { | 167 | } else { |
162 | this.$toast.fail(res.data.message); | 168 | this.$toast.fail(res.data.message); |
163 | } | 169 | } |
src/views/answerRank/stars.vue
@@ -7,8 +7,9 @@ | @@ -7,8 +7,9 @@ | ||
7 | <img src="@/assets/rank/tx.png" /> | 7 | <img src="@/assets/rank/tx.png" /> |
8 | </div> | 8 | </div> |
9 | <div class="font_box"> | 9 | <div class="font_box"> |
10 | - <div class="font_name" @click="getUser"> | 10 | + <div class="font_name" @click="switchUser"> |
11 | {{ user.travelerName }} | 11 | {{ user.travelerName }} |
12 | + <img src="@/assets/rank/qh1.png" /> | ||
12 | </div> | 13 | </div> |
13 | <div class="font_sch">{{ user.schoolName }}</div> | 14 | <div class="font_sch">{{ user.schoolName }}</div> |
14 | </div> | 15 | </div> |
@@ -113,10 +114,27 @@ export default { | @@ -113,10 +114,27 @@ export default { | ||
113 | //获取用户信息 | 114 | //获取用户信息 |
114 | getUser() { | 115 | getUser() { |
115 | this.userInfo = JSON.parse(localStorage.getItem("userInfo")); | 116 | this.userInfo = JSON.parse(localStorage.getItem("userInfo")); |
116 | - console.log(this.userInfo); | 117 | + |
117 | if (!this.userInfo.subUsers || this.userInfo.subUsers.length == 0) { | 118 | if (!this.userInfo.subUsers || this.userInfo.subUsers.length == 0) { |
118 | return this.$toast.fail("暂无绑定出行人"); | 119 | return this.$toast.fail("暂无绑定出行人"); |
119 | } | 120 | } |
121 | + | ||
122 | + //选择了用户 | ||
123 | + if (this.$route.query.index) { | ||
124 | + let index = this.$route.query.index; | ||
125 | + localStorage.setItem( | ||
126 | + "travelerNum", | ||
127 | + this.userInfo.subUsers[index].travelerNum | ||
128 | + ); | ||
129 | + this.user = { | ||
130 | + travelerNum: this.userInfo.subUsers[index].travelerNum, | ||
131 | + travelerName: this.userInfo.subUsers[index].travelerName, | ||
132 | + schoolName: this.userInfo.subUsers[index].schoolName, | ||
133 | + }; | ||
134 | + return; | ||
135 | + } | ||
136 | + //未选择用户 - 默认第一个 | ||
137 | + | ||
120 | localStorage.setItem( | 138 | localStorage.setItem( |
121 | "travelerNum", | 139 | "travelerNum", |
122 | this.userInfo.subUsers[0].travelerNum | 140 | this.userInfo.subUsers[0].travelerNum |
@@ -128,11 +146,20 @@ export default { | @@ -128,11 +146,20 @@ export default { | ||
128 | schoolName: this.userInfo.subUsers[0].schoolName, | 146 | schoolName: this.userInfo.subUsers[0].schoolName, |
129 | }; | 147 | }; |
130 | }, | 148 | }, |
149 | + //切换用户 | ||
150 | + switchUser() { | ||
151 | + this.$router.push({ | ||
152 | + name: "switchUser", | ||
153 | + }); | ||
154 | + }, | ||
131 | //开始答题 | 155 | //开始答题 |
132 | toAns(val) { | 156 | toAns(val) { |
133 | this.$router.push({ | 157 | this.$router.push({ |
134 | name: "ans_question", | 158 | name: "ans_question", |
135 | - query: {categoryId:val.itemCategoryId} | 159 | + query: { |
160 | + categoryId: val.itemCategoryId, | ||
161 | + index: this.$route.query.index, | ||
162 | + }, | ||
136 | }); | 163 | }); |
137 | }, | 164 | }, |
138 | //获取类型 | 165 | //获取类型 |
@@ -144,7 +171,7 @@ export default { | @@ -144,7 +171,7 @@ export default { | ||
144 | ) | 171 | ) |
145 | .then((res) => { | 172 | .then((res) => { |
146 | if (res.data.code == 200) { | 173 | if (res.data.code == 200) { |
147 | - this.libraryList = res.data.data | 174 | + this.libraryList = res.data.data; |
148 | } else { | 175 | } else { |
149 | this.$toast.fail(res.data.message); | 176 | this.$toast.fail(res.data.message); |
150 | } | 177 | } |
@@ -207,6 +234,12 @@ export default { | @@ -207,6 +234,12 @@ export default { | ||
207 | .font_name { | 234 | .font_name { |
208 | font-size: 30px; | 235 | font-size: 30px; |
209 | color: #333333; | 236 | color: #333333; |
237 | + | ||
238 | + img { | ||
239 | + margin-top: 5px; | ||
240 | + width: 30px; | ||
241 | + height: 25px; | ||
242 | + } | ||
210 | } | 243 | } |
211 | .font_sch { | 244 | .font_sch { |
212 | font-size: 27px; | 245 | font-size: 27px; |
@@ -0,0 +1,61 @@ | @@ -0,0 +1,61 @@ | ||
1 | +<template> | ||
2 | + <div class="card"> | ||
3 | + <div class="cardBox" v-for="(v, i) in travelerList" :key="i"> | ||
4 | + <div class="cardItem" @click="checkUser(v, i)"> | ||
5 | + <div>{{ v.travelerName }}</div> | ||
6 | + <div class="schoolCss">{{ v.schoolName }}</div> | ||
7 | + </div> | ||
8 | + </div> | ||
9 | + </div> | ||
10 | +</template> | ||
11 | + | ||
12 | +<script> | ||
13 | +export default { | ||
14 | + data() { | ||
15 | + return { | ||
16 | + travelerList: [], | ||
17 | + }; | ||
18 | + }, | ||
19 | + methods: { | ||
20 | + getData() { | ||
21 | + const userInfo = JSON.parse(localStorage.getItem("userInfo")); | ||
22 | + | ||
23 | + this.travelerList = userInfo.subUsers; | ||
24 | + }, | ||
25 | + //选择 | ||
26 | + checkUser(v, i) { | ||
27 | + this.$router.push({ | ||
28 | + name: "stars", | ||
29 | + query: { | ||
30 | + index: i, | ||
31 | + }, | ||
32 | + }); | ||
33 | + }, | ||
34 | + }, | ||
35 | + mounted() { | ||
36 | + this.getData(); | ||
37 | + }, | ||
38 | +}; | ||
39 | +</script> | ||
40 | + | ||
41 | +<style lang="scss" scoped> | ||
42 | +.card { | ||
43 | + padding: 7vw; | ||
44 | + box-sizing: border-box; | ||
45 | + | ||
46 | + .cardBox { | ||
47 | + .cardItem { | ||
48 | + padding: 70px 0; | ||
49 | + box-sizing: border-box; | ||
50 | + font-size: 40px; | ||
51 | + display: flex; | ||
52 | + justify-content: space-between; | ||
53 | + border-bottom: 1px solid rgb(236, 233, 233); | ||
54 | + | ||
55 | + .schoolCss { | ||
56 | + font-size: 32px; | ||
57 | + } | ||
58 | + } | ||
59 | + } | ||
60 | +} | ||
61 | +</style> | ||
0 | \ No newline at end of file | 62 | \ No newline at end of file |