Browse Source

静态页面

1002884655 4 years ago
parent
commit
5e5b88dc2c

+ 8
- 1
src/components/common/TabSwiper/index.vue View File

@@ -35,6 +35,9 @@ import { swiper, swiperSlide } from 'vue-awesome-swiper'
35 35
 export default {
36 36
   name: 'TabSwiper',
37 37
   props: {
38
+    InfiniteStatus: {
39
+      default: false
40
+    },
38 41
     List: {
39 42
       default: () => {
40 43
         return []
@@ -81,7 +84,11 @@ export default {
81 84
       this.$emit('Refresh', { done, id: this.NavActiveId })
82 85
     },
83 86
     Infinite (done) { // 页面上拉加载
84
-      this.$emit('Infinite', { done, id: this.NavActiveId })
87
+      if (this.InfiniteStatus) {
88
+        this.$emit('Infinite', { done, id: this.NavActiveId })
89
+      } else {
90
+        done()
91
+      }
85 92
     }
86 93
   }
87 94
 }

+ 1
- 1
src/pages/KaiJiangZhanShi/LanQiu/index.vue View File

@@ -15,7 +15,7 @@
15 15
           <div>
16 16
 
17 17
             <!-- nav -->
18
-            <TabSwiper :List="NavList" @Refresh="Refresh" @Infinite="Infinite" @Change="TabChange">
18
+            <TabSwiper :List="NavList" :InfiniteStatus="true" @Refresh="Refresh" @Infinite="Infinite" @Change="TabChange">
19 19
 
20 20
               <!-- 胜负 -->
21 21
               <div slot="SwiperItem-1" class="Item">

+ 84
- 40
src/pages/KaiJiangZhanShi/ZuQiu/index.vue View File

@@ -3,125 +3,125 @@
3 3
     <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="足球开奖">
4 4
       <div class="PageContainer flex-v">
5 5
         <!-- 开奖日期 -->
6
-        <div class="Time">
6
+        <!-- <div class="Time" v-if="NewstRes !== null">
7 7
           <div class="Icon">
8
-            <img src="../../../assets/img/icon3.png" class="centerLabel contain" alt="">
8
+            <img src="../../../assets/img/icon6.png" class="centerLabel contain" alt="">
9 9
           </div>
10
-          <span>20200815</span>
11
-          <span>星期五</span>
12
-        </div>
10
+          <span>{{ToolClass.FormatDate(NewstRes.createDate, 'yyyy-MM-dd')}}</span>
11
+          <span>{{NewstRes.matchWeek}}</span>
12
+        </div> -->
13 13
 
14 14
         <div class="flex-item">
15 15
           <div>
16 16
 
17 17
             <!-- nav -->
18
-            <TabSwiper :List="NavList" @Refresh="Refresh" @Change="TabChange">
18
+            <TabSwiper :List="NavList" :InfiniteStatus="true" @Refresh="Refresh" @Infinite="Infinite" @Change="TabChange">
19 19
 
20 20
               <!-- 胜负 -->
21 21
               <div slot="SwiperItem-1" class="Item">
22 22
                 <ul>
23
-                  <li v-for="(item, index) in 5" :key="index" class="flex-h">
23
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['ft-wdl'] !== undefined" class="flex-h">
24 24
                     <div class="From">
25
-                      <span>NBA</span>
26
-                      <span>301</span>
25
+                      <span>{{item.leagueName}}</span>
26
+                      <span>{{item.matchWeek}}</span>
27 27
                     </div>
28 28
                     <div class="flex-item flex-h">
29 29
                       <div class="flex-item">
30
-                        <span>掘金</span>
30
+                        <span>{{item.awayTeamName}}</span>
31 31
                       </div>
32 32
                       <div class="flex-item">
33
-                        <span class="Small">胜</span>
34
-                        <span class="Big">109:117</span>
33
+                        <span class="Small">{{!item.playOdds['ft-wdl'][0].isWinning ? '' : '负'}}</span>
34
+                        <span class="Big">{{item.wholeScore}}</span>
35 35
                       </div>
36 36
                       <div class="flex-item">
37
-                        <span>猛龙</span>
37
+                        <span>{{item.homeTeamName}}</span>
38 38
                       </div>
39 39
                     </div>
40 40
                   </li>
41 41
                 </ul>
42 42
                 <div>
43
-                  <a>竞彩足球投注</a>
43
+                  <router-link :to="{ name: 'ZuQiu' }">竞彩足球投注</router-link>
44 44
                 </div>
45 45
               </div>
46 46
 
47 47
               <!-- 让分胜负 -->
48 48
               <div slot="SwiperItem-2" class="Item">
49 49
                 <ul>
50
-                  <li v-for="(item, index) in 5" :key="index" class="flex-h">
50
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['ft-wdls'] !== undefined" class="flex-h">
51 51
                     <div class="From">
52
-                      <span>NBA</span>
53
-                      <span>301</span>
52
+                      <span>{{item.leagueName}}</span>
53
+                      <span>{{item.matchWeek}}</span>
54 54
                     </div>
55 55
                     <div class="flex-item flex-h">
56 56
                       <div class="flex-item">
57
-                        <span>掘金</span>
57
+                        <span>{{item.awayTeamName}}</span>
58 58
                       </div>
59 59
                       <div class="flex-item">
60
-                        <span class="Small">胜</span>
61
-                        <span class="Big">109:117</span>
60
+                        <span class="Small">{{!item.playOdds['ft-wdls'][0].isWinning ? `让(${item.spreadPoints})` : `让负(${item.spreadPoints})`}}</span>
61
+                        <span class="Big">{{item.wholeScore}}</span>
62 62
                       </div>
63 63
                       <div class="flex-item">
64
-                        <span>猛龙</span>
64
+                        <span>{{item.homeTeamName}}</span>
65 65
                       </div>
66 66
                     </div>
67 67
                   </li>
68 68
                 </ul>
69 69
                 <div>
70
-                  <a>竞彩足球投注</a>
70
+                  <router-link :to="{ name: 'ZuQiu' }">竞彩足球投注</router-link>
71 71
                 </div>
72 72
               </div>
73 73
 
74 74
               <!-- 胜分差 -->
75 75
               <div slot="SwiperItem-3" class="Item">
76 76
                 <ul>
77
-                  <li v-for="(item, index) in 5" :key="index" class="flex-h">
77
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['ft-points'] !== undefined" class="flex-h">
78 78
                     <div class="From">
79
-                      <span>NBA</span>
80
-                      <span>301</span>
79
+                      <span>{{item.leagueName}}</span>
80
+                      <span>{{item.matchWeek}}</span>
81 81
                     </div>
82 82
                     <div class="flex-item flex-h">
83 83
                       <div class="flex-item">
84
-                        <span>掘金</span>
84
+                        <span>{{item.awayTeamName}}</span>
85 85
                       </div>
86 86
                       <div class="flex-item">
87
-                        <span class="Small">胜</span>
88
-                        <span class="Big">109:117</span>
87
+                        <span class="Small" v-for="(subItem, subIndex) in item.playOdds['ft-points']" :key="subIndex" v-if="subItem.isWinning">{{subItem.name.substring(0, 1) === '' ? '负' : '胜'}}{{subItem.name.substring(1)}}</span>
88
+                        <span class="Big">{{item.wholeScore}}</span>
89 89
                       </div>
90 90
                       <div class="flex-item">
91
-                        <span>猛龙</span>
91
+                        <span>{{item.homeTeamName}}</span>
92 92
                       </div>
93 93
                     </div>
94 94
                   </li>
95 95
                 </ul>
96 96
                 <div>
97
-                  <a>竞彩足球投注</a>
97
+                  <router-link :to="{ name: 'ZuQiu' }">竞彩足球投注</router-link>
98 98
                 </div>
99 99
               </div>
100 100
 
101 101
               <!-- 大小分 -->
102 102
               <div slot="SwiperItem-4" class="Item">
103 103
                 <ul>
104
-                  <li v-for="(item, index) in 5" :key="index" class="flex-h">
104
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['ft-score'] !== undefined" class="flex-h">
105 105
                     <div class="From">
106
-                      <span>NBA</span>
107
-                      <span>301</span>
106
+                      <span>{{item.leagueName}}</span>
107
+                      <span>{{item.matchWeek}}</span>
108 108
                     </div>
109 109
                     <div class="flex-item flex-h">
110 110
                       <div class="flex-item">
111
-                        <span>掘金</span>
111
+                        <span>{{item.awayTeamName}}</span>
112 112
                       </div>
113 113
                       <div class="flex-item">
114
-                        <span class="Small">胜</span>
115
-                        <span class="Big">109:117</span>
114
+                        <span class="Small" v-for="(subItem, subIndex) in item.playOdds['ft-score']" :key="subIndex" v-if="subItem.isWinning">{{subItem.name}}({{item.spreadPoints}})</span>
115
+                        <span class="Big">{{item.wholeScore}}</span>
116 116
                       </div>
117 117
                       <div class="flex-item">
118
-                        <span>猛龙</span>
118
+                        <span>{{item.homeTeamName}}</span>
119 119
                       </div>
120 120
                     </div>
121 121
                   </li>
122 122
                 </ul>
123 123
                 <div>
124
-                  <a>竞彩足球投注</a>
124
+                  <router-link :to="{ name: 'ZuQiu' }">竞彩足球投注</router-link>
125 125
                 </div>
126 126
               </div>
127 127
 
@@ -136,11 +136,20 @@
136 136
 
137 137
 <script>
138 138
 import MainPageContainer from '../../../components/common/MainPageContainer'
139
+import { createNamespacedHelpers } from 'vuex'
139 140
 import TabSwiper from '../../../components/common/TabSwiper'
141
+const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
140 142
 export default {
141 143
   name: '',
142 144
   data () {
143 145
     return {
146
+      PageData: {
147
+        pageNum: 0,
148
+        pageSize: 15
149
+      },
150
+      HasNextPage: true,
151
+      DataLock: false,
152
+      NewstRes: null,
144 153
       NavList: [ // nav数据
145 154
         { name: '胜负', id: 1 },
146 155
         { name: '让分胜负', id: 2 },
@@ -150,25 +159,60 @@ export default {
150 159
     }
151 160
   },
152 161
   computed: {
162
+    ...mapIndexState({
163
+      LotterySportRes: x => x.LotterySportRes // 最新竞彩开奖结果列表
164
+    })
153 165
   },
154 166
   components: {
155 167
     MainPageContainer,
156 168
     TabSwiper
157 169
   },
158 170
   created () {
171
+    this.Init()
159 172
   },
160 173
   mounted () {
161 174
     this.$nextTick(() => {
162 175
     })
163 176
   },
164 177
   methods: {
178
+    ...mapIndexActions([
179
+      'GetLotterySportRes'
180
+    ]),
181
+    ...mapIndexMutations([
182
+      'EmptyLotterySportRes'
183
+    ]),
184
+    Init (done = () => { }) {
185
+      this.EmptyLotterySportRes()
186
+      this.PageData.pageNum = 0
187
+      this.HasNextPage = true
188
+    },
189
+    ToGetLotterySportRes (done = () => { }, num = null) {
190
+      if (!this.HasNextPage && this.DataLock) return
191
+      this.DataLock = true
192
+      if (num !== null) {
193
+        this.PageData.pageNum += num
194
+      }
195
+      this.GetLotterySportRes({ queryData: { lotteryId: 'football', ...this.PageData } }).then((res) => {
196
+        this.HasNextPage = res.data.data.pages > this.PageData.pageNum
197
+        this.DataLock = false
198
+        done()
199
+      }).catch(() => {
200
+        this.DataLock = false
201
+        done()
202
+      })
203
+    },
165 204
     TabChange (e) { // nav切换
166 205
 
167 206
     },
168 207
     Refresh (e) { // 页面下拉刷新
169
-      window.setTimeout(() => {
208
+      this.Init(e.done)
209
+    },
210
+    Infinite (e) { // 页面上拉加载
211
+      if (this.HasNextPage && !this.DataLock) {
212
+        this.ToGetLotterySportRes(e.done, 1)
213
+      } else {
170 214
         e.done()
171
-      }, 1000)
215
+      }
172 216
     }
173 217
   }
174 218
 }

+ 1
- 1
src/pages/KaiJiangZhanShi/ZuQiu/page.scss View File

@@ -45,7 +45,7 @@
45 45
               border-bottom: 0.01rem solid #f7f7f7;
46 46
               padding: 0.15rem 0;
47 47
               > .From {
48
-                margin-right: 0.5rem;
48
+                margin-right: 0.1rem;
49 49
                 > span {
50 50
                   display: block;
51 51
                   text-align: center;