wangfei преди 6 години
родител
ревизия
de2d876759
променени са 3 файла, в които са добавени 37 реда и са изтрити 20 реда
  1. 6
    16
      src/components/toast.vue
  2. 1
    2
      src/store/vote.js
  3. 30
    2
      src/views/vote/detail.vue

+ 6
- 16
src/components/toast.vue Целия файл

@@ -1,20 +1,13 @@
1 1
 <template>
2
-  <div class="toastbox" @click="close" v-if="show">
2
+  <div class="toastbox" @click="close">
3 3
     <div class="toastdetal">
4 4
       <div class="toastcontent">
5
-        <!-- <div class="desc">
6
-          <span class="toastdesc">投票成功</span>
7
-          <span class="toastdesc">您今天还有2次投票机会!</span>
8
-          <span class="toastdesc">恭喜你获得一次抽奖机会!</span>
9
-        </div> -->
10 5
           <div class="desc">
11
-          <span class="toastdesc">已投票3次!</span>
12
-          <span class="toastdesc"> 您今日投票次数已达到上限~</span>
13
-          <span class="toastdesc"> 明天再来吧!</span>
6
+          <span class="toastdesc">投票成功!</span>
7
+          <span class="toastdesc" v-if="!!url">恭喜你获得一次抽奖机会!</span>
14 8
         </div>
15 9
         <div class="btn">
16
-          <button class="confirm" @click="confirmbtn">确定</button>
17
-          <!-- <button class="confirm" @click="gotocosmobonus">立即前往</button> -->
10
+          <button class="confirm" @click="confirmbtn">{{url==""?'确定':'立即前往'}}</button>
18 11
         </div>
19 12
       </div>
20 13
     </div>
@@ -24,9 +17,9 @@
24 17
 <script>
25 18
 export default {
26 19
   name: "toastbox",
20
+  props: ['url'],
27 21
   data() {
28 22
     return {
29
-      show: true
30 23
     };
31 24
   },
32 25
   methods: {
@@ -34,11 +27,8 @@ export default {
34 27
       this.$emit("close");
35 28
     },
36 29
     confirmbtn() {
37
-      this.show = false;
30
+      this.$emit('confirmbtn');
38 31
     },
39
-    gotocosmobonus(){
40
-      
41
-    }
42 32
   }
43 33
 };
44 34
 </script>

+ 1
- 2
src/store/vote.js Целия файл

@@ -5,7 +5,7 @@ export default {
5 5
   namespaced: true,
6 6
   state: {
7 7
     activity: {},
8
-    user: '3',
8
+    user: '4',
9 9
     detail: {},
10 10
   },
11 11
   mutations: {
@@ -59,7 +59,6 @@ export default {
59 59
             openid: payload.openid,
60 60
           }
61 61
         }).then((res) => {
62
-
63 62
           resolve(res)
64 63
         }).catch(reject)
65 64
       })

+ 30
- 2
src/views/vote/detail.vue Целия файл

@@ -2,7 +2,7 @@
2 2
   <div class="context">
3 3
     <div class="ContextbBox">
4 4
       <span class="personnumber">NO.{{detail.MemberId}}</span>
5
-      <span class="votelist">投票列表</span>
5
+      <span class="votelist" @click="tolist">投票列表</span>
6 6
       <img :src="detail.Photo">
7 7
       <div class="detailinformation">
8 8
         <div class="nameinformation">
@@ -26,11 +26,13 @@
26 26
       <span class="dashedline"></span>
27 27
       <span class="writeword">寄语:{{detail.Message}}</span>
28 28
     </div>
29
+    <toast v-if="show" :url="info.AfterVote" @close="close" @confirmbtn="tolink"></toast>
29 30
   </div>
30 31
 </template>
31 32
 <script>
32 33
 import { createNamespacedHelpers } from 'vuex';
33 34
 const {mapState: mapVoteState, mapActions: mapVoteActions} = createNamespacedHelpers('vote')
35
+import toast from '../../components/toast.vue'
34 36
 
35 37
 export default {
36 38
   name: "votingdetails",
@@ -38,11 +40,18 @@ export default {
38 40
     return {
39 41
       actid: '',
40 42
       memberid: '',
43
+      show: false,
41 44
     };
42 45
   },
46
+  components: {
47
+    toast,
48
+  },
43 49
   mounted() {
44 50
     this.actid = this.$route.params.actid;
45 51
     this.memberid = this.$route.params.memberid;
52
+    this.getActivity({
53
+      actid: this.actid,
54
+    })
46 55
     this.getMember({
47 56
       actid: this.actid,
48 57
       memberid: this.memberid,
@@ -50,6 +59,7 @@ export default {
50 59
   },
51 60
   computed: {
52 61
     ...mapVoteState({
62
+      info: x => x.activity,
53 63
       detail: x => x.detail,
54 64
       user: x => x.user,
55 65
     })
@@ -58,14 +68,32 @@ export default {
58 68
     ...mapVoteActions([
59 69
       'getMember',
60 70
       'vote',
71
+      'getActivity',
61 72
     ]),
62 73
     Vote() {
63 74
       this.vote({
64 75
         actid: this.actid,
65 76
         memberid: this.memberid,
66 77
         openid: this.user,
78
+      }).then(() => {
79
+        this.getMember({
80
+          actid: this.actid,
81
+          memberid: this.memberid,
82
+        })
83
+        this.show = true
67 84
       })
68
-    }
85
+    },
86
+    tolist() {
87
+      this.$router.push({
88
+        path: `/vote/${this.actid}`
89
+      })
90
+    },
91
+    close() {
92
+      this.show = false
93
+    },
94
+    tolink() {
95
+      window.location.href = this.info.AfterVote
96
+    },
69 97
   },
70 98
 };
71 99
 </script>