张延森 3 年之前
父節點
當前提交
998c8c8d6e
共有 2 個檔案被更改,包括 46 行新增8 行删除
  1. 28
    8
      src/pages/Honghe.vue
  2. 18
    0
      src/utils/math.js

+ 28
- 8
src/pages/Honghe.vue 查看文件

1
 <template>
1
 <template>
2
   <div class="index-box">
2
   <div class="index-box">
3
-    <popup :show="showPopup" @cancel="cancelFrom" />
3
+    <popup :show="showPopup" @cancel="cancelFrom" :current-month="currentMonth" />
4
     <div>
4
     <div>
5
       <div>
5
       <div>
6
         <img class="topImage" src="../assets/hareTop.png" alt />
6
         <img class="topImage" src="../assets/hareTop.png" alt />
8
     </div>
8
     </div>
9
     <div class="outer6-wrapper">
9
     <div class="outer6-wrapper">
10
       <div class="outer6 flex-col">
10
       <div class="outer6 flex-col">
11
-        <div v-for="item in indexJPG" :key="item" class="section-item">
12
-          <div @click="baga">
11
+        <div v-for="month in list" :key="month.id" class="section-item">
12
+          <div @click="handleMonthClick(month)">
13
             <!-- <img class="section-item-image" src="../assets/coverIndex.jpg" /> -->
13
             <!-- <img class="section-item-image" src="../assets/coverIndex.jpg" /> -->
14
             <img
14
             <img
15
               :class="`section-item-image ${!showPopup?'backImag':''}` "
15
               :class="`section-item-image ${!showPopup?'backImag':''}` "
25
 <script>
25
 <script>
26
 import { useModel } from '@/store'
26
 import { useModel } from '@/store'
27
 import { drawLottery, getPrizeList } from '@/services/person'
27
 import { drawLottery, getPrizeList } from '@/services/person'
28
-import { rand } from '@/utils/math'
28
+import { rand, shuffle } from '@/utils/math'
29
+
30
+// 月份信息
31
+const monthList = [
32
+  { id: 1, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
33
+  { id: 2, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
34
+  { id: 3, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
35
+  { id: 4, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
36
+  { id: 5, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
37
+  { id: 6, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
38
+  { id: 7, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
39
+  { id: 8, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
40
+  { id: 9, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
41
+  { id: 10, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
42
+  { id: 11, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
43
+  { id: 12, posterImg: '', popImg: '', shareImg: '', screenImg: '', calendarImg: '' },
44
+]
29
 
45
 
30
 export default {
46
 export default {
31
   name: 'Honghe',
47
   name: 'Honghe',
34
   },
50
   },
35
   data() {
51
   data() {
36
     return {
52
     return {
37
-      indexJPG: new Array(12).fill(null),
53
+      list: shuffle(monthList),
54
+      currentMonth: null,
38
       showPopup: false,
55
       showPopup: false,
39
       prizeList: [],
56
       prizeList: [],
40
       clickNum: 0,
57
       clickNum: 0,
59
     cancelFrom() {
76
     cancelFrom() {
60
       this.showPopup = false
77
       this.showPopup = false
61
     },
78
     },
62
-    baga(e) {
63
-      console.log(e)
64
-      this.showPopup = true
79
+    handleMonthClick(month) {
80
+      this.currentMonth = month
65
 
81
 
66
       // 如果点击可以抽奖
82
       // 如果点击可以抽奖
67
       if (this.clickNum === this.bingoClickNum) {
83
       if (this.clickNum === this.bingoClickNum) {
71
           // 如果还没有参与
87
           // 如果还没有参与
72
           if (!this.person.isJoined) {
88
           if (!this.person.isJoined) {
73
             this.drawLots()
89
             this.drawLots()
90
+          } else {
91
+            this.showPopup = true
74
           }
92
           }
75
         }
93
         }
94
+      } else {
95
+        this.showPopup = true
76
       }
96
       }
77
 
97
 
78
       if (this.clickNum < this.bingoClickNum) {
98
       if (this.clickNum < this.bingoClickNum) {

+ 18
- 0
src/utils/math.js 查看文件

8
 export function rand(min, max) {
8
 export function rand(min, max) {
9
   return min + Math.floor(Math.random() * (max - min))
9
   return min + Math.floor(Math.random() * (max - min))
10
 }
10
 }
11
+
12
+/**
13
+ * 随机打散数组
14
+ * @param {*} arr 
15
+ * @returns 
16
+ */
17
+export function shuffle(arr) {
18
+  // 拷贝一份
19
+  const list = arr.slice()
20
+
21
+  for (var i = list.length - 1; i >= 0; i--) {
22
+    var randomIndex = Math.floor(Math.random() * (i + 1));
23
+    var itemAtIndex = list[randomIndex];
24
+    list[randomIndex] = list[i];
25
+    list[i] = itemAtIndex;
26
+  }
27
+  return list;
28
+}