xcx hace 4 años
padre
commit
2e6000cd24

+ 4
- 1
src/components/common/TabSwiper/index.vue Ver fichero

@@ -13,7 +13,7 @@
13 13
         <swiper :options="SwiperOptions" ref="MySwiper">
14 14
           <swiper-slide v-for="(item, index) in List" :key="index">
15 15
             <div class="SwiperItem">
16
-              <scroller :on-refresh="Refresh">
16
+              <scroller :on-refresh="Refresh" :on-infinite="Infinite">
17 17
                 <div class="Container">
18 18
                   <slot :name="`SwiperItem-${item.id}`"></slot>
19 19
                 </div>
@@ -79,6 +79,9 @@ export default {
79 79
     },
80 80
     Refresh (done) { // 页面下拉刷新
81 81
       this.$emit('Refresh', { done, id: this.NavActiveId })
82
+    },
83
+    Infinite (done) { // 页面上拉加载
84
+      this.$emit('Infinite', { done, id: this.NavActiveId })
82 85
     }
83 86
   }
84 87
 }

+ 41
- 20
src/pages/KaiJiangZhanShi/LanQiu/index.vue Ver fichero

@@ -3,24 +3,24 @@
3 3
     <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="篮球开奖">
4 4
       <div class="PageContainer flex-v">
5 5
         <!-- 开奖日期 -->
6
-        <div class="Time" v-if="NewstRes !== null">
6
+        <!-- <div class="Time" v-if="NewstRes !== null">
7 7
           <div class="Icon">
8 8
             <img src="../../../assets/img/icon6.png" class="centerLabel contain" alt="">
9 9
           </div>
10 10
           <span>{{ToolClass.FormatDate(NewstRes.createDate, 'yyyy-MM-dd')}}</span>
11 11
           <span>{{NewstRes.matchWeek}}</span>
12
-        </div>
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" @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 LotterySportRes" :key="index" v-if="item.lotteryId === 'basketball'" class="flex-h">
23
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['bst-wl'] !== undefined" class="flex-h">
24 24
                     <div class="From">
25 25
                       <span>{{item.leagueName}}</span>
26 26
                       <span>{{item.matchWeek}}</span>
@@ -30,7 +30,7 @@
30 30
                         <span>{{item.awayTeamName}}</span>
31 31
                       </div>
32 32
                       <div class="flex-item">
33
-                        <span class="Small">{{item.diffScore > 0 ? '胜' : '负'}}</span>
33
+                        <span class="Small">{{!item.playOdds['bst-wl'][0].isWinning ? '胜' : '负'}}</span>
34 34
                         <span class="Big">{{item.wholeScore}}</span>
35 35
                       </div>
36 36
                       <div class="flex-item">
@@ -47,7 +47,7 @@
47 47
               <!-- 让分胜负 -->
48 48
               <div slot="SwiperItem-2" class="Item">
49 49
                 <ul>
50
-                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.lotteryId === 'basketball'" class="flex-h">
50
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['bst-wls'] !== undefined" class="flex-h">
51 51
                     <div class="From">
52 52
                       <span>{{item.leagueName}}</span>
53 53
                       <span>{{item.matchWeek}}</span>
@@ -57,7 +57,7 @@
57 57
                         <span>{{item.awayTeamName}}</span>
58 58
                       </div>
59 59
                       <div class="flex-item">
60
-                        <span class="Small">{{item.diffScore > item.spreadPoints ? `让胜(${item.spreadPoints})` : `让负(${item.spreadPoints})`}}</span>
60
+                        <span class="Small">{{!item.playOdds['bst-wls'][0].isWinning ? `让胜(${item.spreadPoints})` : `让负(${item.spreadPoints})`}}</span>
61 61
                         <span class="Big">{{item.wholeScore}}</span>
62 62
                       </div>
63 63
                       <div class="flex-item">
@@ -74,7 +74,7 @@
74 74
               <!-- 胜分差 -->
75 75
               <div slot="SwiperItem-3" class="Item">
76 76
                 <ul>
77
-                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.lotteryId === 'basketball'" class="flex-h">
77
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['bst-points'] !== undefined" class="flex-h">
78 78
                     <div class="From">
79 79
                       <span>{{item.leagueName}}</span>
80 80
                       <span>{{item.matchWeek}}</span>
@@ -84,7 +84,7 @@
84 84
                         <span>{{item.awayTeamName}}</span>
85 85
                       </div>
86 86
                       <div class="flex-item">
87
-                        <span class="Small">{{item.diffScore > 0 ? '胜' : '负'}}</span>
87
+                        <span class="Small" v-for="(subItem, subIndex) in item.playOdds['bst-points']" :key="subIndex" v-if="subItem.isWinning">{{subItem.name.substring(0, 1) === '胜' ? '负' : '胜'}}{{subItem.name.substring(1)}}</span>
88 88
                         <span class="Big">{{item.wholeScore}}</span>
89 89
                       </div>
90 90
                       <div class="flex-item">
@@ -101,7 +101,7 @@
101 101
               <!-- 大小分 -->
102 102
               <div slot="SwiperItem-4" class="Item">
103 103
                 <ul>
104
-                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.lotteryId === 'basketball'" class="flex-h">
104
+                  <li v-for="(item, index) in LotterySportRes" :key="index" v-if="item.playOdds['bst-score'] !== undefined" class="flex-h">
105 105
                     <div class="From">
106 106
                       <span>{{item.leagueName}}</span>
107 107
                       <span>{{item.matchWeek}}</span>
@@ -111,7 +111,7 @@
111 111
                         <span>{{item.awayTeamName}}</span>
112 112
                       </div>
113 113
                       <div class="flex-item">
114
-                        <span class="Small">{{item.diffScore > 0 ? '胜' : '负'}}</span>
114
+                        <span class="Small" v-for="(subItem, subIndex) in item.playOdds['bst-score']" :key="subIndex" v-if="subItem.isWinning">{{subItem.name}}({{item.presetPoints}})</span>
115 115
                         <span class="Big">{{item.wholeScore}}</span>
116 116
                       </div>
117 117
                       <div class="flex-item">
@@ -143,6 +143,12 @@ export default {
143 143
   name: '',
144 144
   data () {
145 145
     return {
146
+      PageData: {
147
+        pageNum: 0,
148
+        pageSize: 15
149
+      },
150
+      HasNextPage: true,
151
+      DataLock: false,
146 152
       NewstRes: null,
147 153
       NavList: [ // nav数据
148 154
         { name: '胜负', id: 1 },
@@ -175,23 +181,38 @@ export default {
175 181
     ...mapIndexMutations([
176 182
       'EmptyLotterySportRes'
177 183
     ]),
178
-    Init () {
184
+    Init (done = () => { }) {
179 185
       this.EmptyLotterySportRes()
180
-      this.GetLotterySportRes({ queryData: { lotteryId: 'basketball', pageNum: 1, pageSize: 100 } }).then(() => {
181
-        this.LotterySportRes.map((item) => {
182
-          if (item.lotteryId === 'basketball') {
183
-            this.NewstRes = { ...item }
184
-          }
185
-        })
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: 'basketball', ...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()
186 202
       })
187 203
     },
188 204
     TabChange (e) { // nav切换
189 205
 
190 206
     },
191 207
     Refresh (e) { // 页面下拉刷新
192
-      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 {
193 214
         e.done()
194
-      }, 1000)
215
+      }
195 216
     }
196 217
   }
197 218
 }

+ 1
- 1
src/pages/KaiJiangZhanShi/LanQiu/page.scss Ver fichero

@@ -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.2rem;
48
+                margin-right: 0.1rem;
49 49
                 > span {
50 50
                   display: block;
51 51
                   text-align: left;