瀏覽代碼

静态页面

xcx 4 年之前
父節點
當前提交
2e6000cd24

+ 4
- 1
src/components/common/TabSwiper/index.vue 查看文件

13
         <swiper :options="SwiperOptions" ref="MySwiper">
13
         <swiper :options="SwiperOptions" ref="MySwiper">
14
           <swiper-slide v-for="(item, index) in List" :key="index">
14
           <swiper-slide v-for="(item, index) in List" :key="index">
15
             <div class="SwiperItem">
15
             <div class="SwiperItem">
16
-              <scroller :on-refresh="Refresh">
16
+              <scroller :on-refresh="Refresh" :on-infinite="Infinite">
17
                 <div class="Container">
17
                 <div class="Container">
18
                   <slot :name="`SwiperItem-${item.id}`"></slot>
18
                   <slot :name="`SwiperItem-${item.id}`"></slot>
19
                 </div>
19
                 </div>
79
     },
79
     },
80
     Refresh (done) { // 页面下拉刷新
80
     Refresh (done) { // 页面下拉刷新
81
       this.$emit('Refresh', { done, id: this.NavActiveId })
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 查看文件

3
     <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="篮球开奖">
3
     <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="篮球开奖">
4
       <div class="PageContainer flex-v">
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
           <div class="Icon">
7
           <div class="Icon">
8
             <img src="../../../assets/img/icon6.png" class="centerLabel contain" alt="">
8
             <img src="../../../assets/img/icon6.png" class="centerLabel contain" alt="">
9
           </div>
9
           </div>
10
           <span>{{ToolClass.FormatDate(NewstRes.createDate, 'yyyy-MM-dd')}}</span>
10
           <span>{{ToolClass.FormatDate(NewstRes.createDate, 'yyyy-MM-dd')}}</span>
11
           <span>{{NewstRes.matchWeek}}</span>
11
           <span>{{NewstRes.matchWeek}}</span>
12
-        </div>
12
+        </div> -->
13
 
13
 
14
         <div class="flex-item">
14
         <div class="flex-item">
15
           <div>
15
           <div>
16
 
16
 
17
             <!-- nav -->
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
               <div slot="SwiperItem-1" class="Item">
21
               <div slot="SwiperItem-1" class="Item">
22
                 <ul>
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
                     <div class="From">
24
                     <div class="From">
25
                       <span>{{item.leagueName}}</span>
25
                       <span>{{item.leagueName}}</span>
26
                       <span>{{item.matchWeek}}</span>
26
                       <span>{{item.matchWeek}}</span>
30
                         <span>{{item.awayTeamName}}</span>
30
                         <span>{{item.awayTeamName}}</span>
31
                       </div>
31
                       </div>
32
                       <div class="flex-item">
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
                         <span class="Big">{{item.wholeScore}}</span>
34
                         <span class="Big">{{item.wholeScore}}</span>
35
                       </div>
35
                       </div>
36
                       <div class="flex-item">
36
                       <div class="flex-item">
47
               <!-- 让分胜负 -->
47
               <!-- 让分胜负 -->
48
               <div slot="SwiperItem-2" class="Item">
48
               <div slot="SwiperItem-2" class="Item">
49
                 <ul>
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
                     <div class="From">
51
                     <div class="From">
52
                       <span>{{item.leagueName}}</span>
52
                       <span>{{item.leagueName}}</span>
53
                       <span>{{item.matchWeek}}</span>
53
                       <span>{{item.matchWeek}}</span>
57
                         <span>{{item.awayTeamName}}</span>
57
                         <span>{{item.awayTeamName}}</span>
58
                       </div>
58
                       </div>
59
                       <div class="flex-item">
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
                         <span class="Big">{{item.wholeScore}}</span>
61
                         <span class="Big">{{item.wholeScore}}</span>
62
                       </div>
62
                       </div>
63
                       <div class="flex-item">
63
                       <div class="flex-item">
74
               <!-- 胜分差 -->
74
               <!-- 胜分差 -->
75
               <div slot="SwiperItem-3" class="Item">
75
               <div slot="SwiperItem-3" class="Item">
76
                 <ul>
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
                     <div class="From">
78
                     <div class="From">
79
                       <span>{{item.leagueName}}</span>
79
                       <span>{{item.leagueName}}</span>
80
                       <span>{{item.matchWeek}}</span>
80
                       <span>{{item.matchWeek}}</span>
84
                         <span>{{item.awayTeamName}}</span>
84
                         <span>{{item.awayTeamName}}</span>
85
                       </div>
85
                       </div>
86
                       <div class="flex-item">
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
                         <span class="Big">{{item.wholeScore}}</span>
88
                         <span class="Big">{{item.wholeScore}}</span>
89
                       </div>
89
                       </div>
90
                       <div class="flex-item">
90
                       <div class="flex-item">
101
               <!-- 大小分 -->
101
               <!-- 大小分 -->
102
               <div slot="SwiperItem-4" class="Item">
102
               <div slot="SwiperItem-4" class="Item">
103
                 <ul>
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
                     <div class="From">
105
                     <div class="From">
106
                       <span>{{item.leagueName}}</span>
106
                       <span>{{item.leagueName}}</span>
107
                       <span>{{item.matchWeek}}</span>
107
                       <span>{{item.matchWeek}}</span>
111
                         <span>{{item.awayTeamName}}</span>
111
                         <span>{{item.awayTeamName}}</span>
112
                       </div>
112
                       </div>
113
                       <div class="flex-item">
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
                         <span class="Big">{{item.wholeScore}}</span>
115
                         <span class="Big">{{item.wholeScore}}</span>
116
                       </div>
116
                       </div>
117
                       <div class="flex-item">
117
                       <div class="flex-item">
143
   name: '',
143
   name: '',
144
   data () {
144
   data () {
145
     return {
145
     return {
146
+      PageData: {
147
+        pageNum: 0,
148
+        pageSize: 15
149
+      },
150
+      HasNextPage: true,
151
+      DataLock: false,
146
       NewstRes: null,
152
       NewstRes: null,
147
       NavList: [ // nav数据
153
       NavList: [ // nav数据
148
         { name: '胜负', id: 1 },
154
         { name: '胜负', id: 1 },
175
     ...mapIndexMutations([
181
     ...mapIndexMutations([
176
       'EmptyLotterySportRes'
182
       'EmptyLotterySportRes'
177
     ]),
183
     ]),
178
-    Init () {
184
+    Init (done = () => { }) {
179
       this.EmptyLotterySportRes()
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
     TabChange (e) { // nav切换
204
     TabChange (e) { // nav切换
189
 
205
 
190
     },
206
     },
191
     Refresh (e) { // 页面下拉刷新
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
         e.done()
214
         e.done()
194
-      }, 1000)
215
+      }
195
     }
216
     }
196
   }
217
   }
197
 }
218
 }

+ 1
- 1
src/pages/KaiJiangZhanShi/LanQiu/page.scss 查看文件

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