jufubao-movie 1.0.39-beta8 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,55 +41,26 @@
41
41
  >{{item.label}}</view>
42
42
  </view>
43
43
  <!--poster-->
44
- <view
45
- class="list-poster"
44
+ <xd-poster
46
45
  v-if="posterList !== null && posterList.length > 0"
47
- :style="{marginTop:outSpacing + 'rpx'}"
48
- >
49
- <view
50
- :style="{width: posterSize.width + 'rpx', height: posterSize.height + 'rpx' }"
51
- class="list-poster-one"
52
- v-if="posterList.length === 1"
53
- >
54
- <image :src="posterList[0].image_url" :alt="posterList[0].content_name"></image>
55
- </view>
56
- <view class="list-poster-more" v-else>
57
- <xd-swiper-dot
58
- :style="{width: posterSize.width + 'rpx', height: posterSize.height + 'rpx' }"
59
- :current="current"
60
- :info="posterList"
61
- field="content_name"
62
- :mode="mode"
63
- :dots-styles="dotStyleData"
64
- >
65
- <swiper
66
- class="swiper xd-swiper-content"
67
- :style="{width: posterSize.width + 'rpx', height: posterSize.height + 'rpx' }"
68
- :indicator-dots="false"
69
- :autoplay="carouselTime >0"
70
- :interval="carouselTime"
71
- :duration="500"
72
- :current="current"
73
- circular
74
- @animationfinish="handleAnimationfinish"
75
- >
76
- <swiper-item v-for="(item,index) in posterList" :key="index" @click.stop="handlePosterClick(item,index)">
77
- <image :style="{width: posterSize.width + 'rpx', height: posterSize.height + 'rpx' }" :src="item['image_url']" mode="aspectFill"></image>
78
- </swiper-item>
79
- </swiper>
80
- </xd-swiper-dot>
81
- </view>
82
- </view>
46
+ :dot-style-data="dotStyleData"
47
+ :mode="mode"
48
+ :poster-list="posterList"
49
+ :style-obj="{
50
+ outSpacing: this.outSpacing,
51
+ posterSize: posterSize,
52
+ carouselTime: carouselTime,
53
+ }"
54
+ ></xd-poster>
83
55
  <!--poster-->
84
56
  <view v-if="type === 'hot' || type === 'rightnow'" id="content-ref" class="content-ref"></view>
85
57
  <!--film hot|rightnow-->
86
58
  <view
87
- v-if="type === 'hot' || type === 'rightnow'"
88
59
  class="list-cont"
60
+ v-if="type === 'hot' || type === 'rightnow'"
89
61
  :style="{
90
- marginTop:outSpacing + 'rpx',
91
- paddingTop:paddingTop,
92
- paddingBottom:paddingBottom,
62
+ marginTop: outSpacing + 'rpx',
63
+ minHeight: layoutInfo['bodyMinHeightPx'] + 'px'
93
64
  }"
94
65
  >
95
66
  <view class="skeleton-wrap" v-if="dataList === null">
@@ -98,12 +69,12 @@
98
69
  v-for="item in 6"
99
70
  :key="item"
100
71
  :style="{
101
- marginBottom:outSpacing + 'rpx',
102
- padding:contMarginComp,
103
- borderRadius:contRradius+ 'rpx',
104
- border:contBorder,
105
- boxShadow:contShadow,
106
- }"
72
+ marginBottom:outSpacing + 'rpx',
73
+ padding:contMarginComp,
74
+ borderRadius:contRradius+ 'rpx',
75
+ border:contBorder,
76
+ boxShadow:contShadow,
77
+ }"
107
78
  >
108
79
  <view class="skeleton-wrap-item-image skeleton-item" :style="{marginRight:outSpacing + 'rpx'}"></view>
109
80
  <view class="skeleton-wrap-item-title">
@@ -126,13 +97,15 @@
126
97
  :style="{
127
98
  marginBottom:outSpacing + 'rpx',
128
99
  padding:contMarginComp,
129
- borderRadius:contRradius+ 'rpx',
100
+ borderRadius:(contRradius+ 'rpx'),
130
101
  border:contBorder,
131
102
  boxShadow:contShadow,
132
103
  backgroundColor:contBgColor,
104
+ height: film['is_content_height'] + 'rpx'
133
105
  }"
134
106
  >
135
107
  <content-item
108
+ v-if="film['is_content_show']"
136
109
  style="width: 100%;height: 100%"
137
110
  :item="film"
138
111
  :out-spacing="outSpacing"
@@ -144,11 +117,27 @@
144
117
  ></content-item>
145
118
  </view>
146
119
  </template>
120
+ <view class="hasNoData" v-if="dataList && dataList.length > 0 && pageToken === ''">已经到底没有更多数据了</view>
121
+ <xd-no-data v-if="dataList && dataList.length === 0" height="50vh" icon-type="film">暂无影片数据</xd-no-data>
147
122
  </view>
148
123
  <!--film hot|rightnow-->
149
124
  <!--cinema-->
150
- <view v-if="type === 'list'" class="list-filter" :style="{marginTop:outSpacing + 'rpx'}">
151
- <view class="list-filter-block" :class="{hasFitler:!!curQueryTab}">
125
+ <view class="list-filter-empty" v-if="isFixed"></view>
126
+ <view
127
+ v-if="type === 'list'"
128
+ id="list-filter"
129
+ class="list-filter"
130
+ :class="{
131
+ isFixed: isFixed,
132
+ }"
133
+ :style="{
134
+ marginTop:isFixed?0:(outSpacing + 'rpx'),
135
+ top: isFixed ? ((layoutInfo.top) +'rpx'): 0,
136
+ marginLeft:isFixed?0:(-outSpacing + 'rpx'),
137
+ marginRight:isFixed?0:(-outSpacing + 'rpx'),
138
+ }"
139
+ >
140
+ <view class="list-filter-block">
152
141
  <view @click="handleFilterTab('filter')">
153
142
  <xd-font-icon icon="iconrepository-xialaxuanxiangdown" size="24" color="#999"></xd-font-icon>
154
143
  <text>{{areaName}}</text>
@@ -182,6 +171,7 @@
182
171
  marginTop:outSpacing + 'rpx',
183
172
  paddingTop:paddingTop,
184
173
  paddingBottom:paddingBottom,
174
+ minHeight: layoutInfo['bodyMinHeightPx'] + 'px'
185
175
  }"
186
176
  >
187
177
  <view class="skeleton-wrap" v-if="dataList === null">
@@ -195,6 +185,7 @@
195
185
  borderRadius:contRradius+ 'rpx',
196
186
  border:contBorder,
197
187
  boxShadow:contShadow,
188
+
198
189
  }"
199
190
  >
200
191
  <view class="title skeleton-item"></view>
@@ -217,10 +208,11 @@
217
208
  border:contBorder,
218
209
  boxShadow:contShadow,
219
210
  backgroundColor:contBgColor,
220
- height: 'auto'
211
+ height: film['is_content_height'] + 'rpx'
221
212
  }"
222
213
  >
223
214
  <content-cinema
215
+ v-if="film['is_content_show']"
224
216
  style="width: 100%;height: 100%"
225
217
  :item="film"
226
218
  :out-spacing="outSpacing"
@@ -238,12 +230,14 @@
238
230
  @click="handleClose"
239
231
  :style="{left:- outSpacing + 'rpx', right: - outSpacing + 'rpx', }"
240
232
  ></view>
233
+ <view class="hasNoData" v-if="dataList && dataList.length > 0 && pageToken === ''">已经到底没有更多数据了</view>
234
+ <xd-no-data v-if="dataList && dataList.length === 0" height="50vh" icon-type="cinema">暂无影院数据</xd-no-data>
241
235
  </template>
242
236
  </view>
243
237
  <view
244
238
  id="preRendering"
245
239
  class="preRendering"
246
- v-if="type === 'list' && preRendering.length >0"
240
+ v-if="preRendering.length >0"
247
241
  :style="{padding:outSpacing + 'rpx'}"
248
242
  >
249
243
  <view
@@ -258,7 +252,6 @@
258
252
  border:contBorder,
259
253
  boxShadow:contShadow,
260
254
  backgroundColor:contBgColor,
261
- height: 'auto'
262
255
  }"
263
256
  >
264
257
  <content-cinema
@@ -272,7 +265,6 @@
272
265
  </view>
273
266
  </view>
274
267
  <!--cinema-->
275
- <view class="hasNoData" v-if="dataList && dataList.length > 0 && pageToken === ''">已经到底没有更多数据了</view>
276
268
  </view>
277
269
  <template v-else>
278
270
  <view
@@ -287,6 +279,7 @@
287
279
 
288
280
  <script>
289
281
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
282
+ import XdNoData from "@/components/XdNoData/XdNoData.vue";
290
283
  import XdSwiperDot from "./XdSwiperDot.vue";
291
284
  import { jfbRootExec } from "@/utils/xd.event";
292
285
  import JfbMovieTfkFilmListMixin from "./JfbMovieTfkFilmListMixin";
@@ -302,16 +295,19 @@
302
295
  import {mapState} from "vuex";
303
296
  import Color from "color";
304
297
  import VirtualList from "@/lib/VirtualList";
298
+ import XdPoster from "./XdPoster.vue";
305
299
 
306
300
  export default {
307
301
  name: "JfbMovieTfkFilmList",
308
302
  components: {
303
+ XdPoster,
309
304
  XdFontIcon,
310
305
  ContentItem,
311
306
  XdSwiperDot,
312
307
  ContentCinema,
313
308
  XdQuerySort,
314
- XdQueryFilter
309
+ XdQueryFilter,
310
+ XdNoData
315
311
  },
316
312
  mixins: [
317
313
  componentsMixins, extsMixins, JfbMovieTfkFilmListMixin,posterMixins
@@ -323,6 +319,7 @@
323
319
  options: {},
324
320
  //hideMask: true,
325
321
  type:'', //hot rightnow
322
+ addressType: '',
326
323
  typeList:{hot:{label: '热映影片', value: 'hot'},list:{label: '影院列表', value: 'list'}, rightnow:{label: '即将上映', value: 'rightnow'}},
327
324
  showTypeListData:null,
328
325
  backgroundColor:'',
@@ -352,10 +349,9 @@
352
349
  //广告
353
350
  posterList:null,
354
351
  poster:{},
355
- posterNum:1,
356
- mode:'round',
357
- current: 0,
358
- carouselTime: 5000,//轮播图轮播周期
352
+ posterNum:1, //使用张数
353
+ mode:'round',//直接写死
354
+ carouselTime: 0,//轮播图轮播周期
359
355
 
360
356
  //基础配置
361
357
  outSpacing:'20',
@@ -396,10 +392,15 @@
396
392
  dataList:null,
397
393
  paddingTop: 0,
398
394
  paddingBottom: 0,
395
+ virtualHeight:0,
396
+ virtualTop: 0,
397
+
399
398
 
400
399
  //计算高度预加载列表
401
400
  preRendering:[],
402
-
401
+ listFilterTop:null,
402
+ listFilterTopTimer:0,
403
+ isFixed: false,
403
404
  }
404
405
  },
405
406
  computed:{
@@ -464,9 +465,9 @@
464
465
  posterSize(){
465
466
  if(this.poster && this.poster.size) {
466
467
  let {width, height} = this.poster.size
467
- let size = {}
468
- if(width) size['width'] = width || 710;
469
- if(height) size['height'] = height || 280;
468
+ let size = { width: 710, height: 280 }
469
+ if(width) size['width'] = Number(width || 710);
470
+ if(height) size['height'] = Number(height || 280);
470
471
  return size;
471
472
  }
472
473
  return {
@@ -487,6 +488,7 @@
487
488
  },
488
489
  stateCity(n, o){
489
490
  if(n && JSON.stringify(n) !== JSON.stringify(o)){
491
+ this.virtualList.onChangeTab();
490
492
  this.clearDataVar()
491
493
  this.getList();
492
494
  }
@@ -506,13 +508,25 @@
506
508
  }
507
509
  },
508
510
  created() {
511
+ let tab_id = '';
512
+ // #ifdef H5
513
+ tab_id = this.$xdUniHelper.getParmater('tab_id') ? this.$xdUniHelper.getParmater('tab_id'):'';
514
+ // #endif
515
+ // #ifdef MP-WEIXIN
516
+ let pages = this.$xdUniHelper.parseURL(this.$root.$scope.$page.fullPath);
517
+ tab_id = (pages.params && pages.params['tab_id']) ? pages.params['tab_id'] :'';
518
+ // #endif
519
+ if(['hot','list', 'rightnow'].includes(tab_id)) {
520
+ this.addressType = tab_id
521
+ }
522
+
509
523
  this.isPreview = this.$configProject.isPreview;
510
524
  this.backgroundColor = Color(this.warningColor).alpha(0.2).toString();
511
525
  this.init(this.container);
512
-
513
526
  this.virtualList = new VirtualList(this, this.type ==='list'?'#content-list-ref':'#content-ref', {
514
- fixedHeight: 240 + Number(this.outSpacing) + 20 * 2 ,
515
- otherHeight: Number(this.outSpacing),
527
+ fixedHeight: 240 ,
528
+ marginTopAndBottom: Number(this.outSpacing),
529
+ paddingTopAndBottom: this.checkValue(this.contMargin.top, 20) + this.checkValue(this.contMargin.bottom, 20),
516
530
  type:this.type ==='list'?'auto':'fixed',
517
531
  //获取节点数据
518
532
  getDom:(id)=>{
@@ -528,19 +542,50 @@
528
542
  getParentThis(){
529
543
  return this
530
544
  },
531
- callback: ({data, paddingTop, paddingBottom}) =>{
532
- this.paddingTop = paddingTop;
533
- this.paddingBottom = paddingBottom;
545
+ callback: ({data}) =>{
534
546
  this.dataList = data;
535
547
  },
536
548
  });
537
549
  },
538
550
  methods: {
551
+ getListFilterEleTop(){
552
+ if(this.listFilterTop !== null) return;
553
+ uni.pageScrollTo({
554
+ scrollTop: 0,
555
+ duration: 1,
556
+ success:()=>{
557
+ const query = uni.createSelectorQuery().in(this);
558
+ query
559
+ .select('#list-filter')
560
+ .boundingClientRect((data) => {
561
+ if(data && data.top !==undefined){
562
+ let listFilterTop = data.top - this.layoutInfo.top * this.$rpxNum;
563
+ if(listFilterTop !== this.listFilterTop) {
564
+ setTimeout(()=>{
565
+ this.getListFilterEleTop();
566
+ this.listFilterTopTimer++
567
+ },200)
568
+ }
569
+ if( this.listFilterTopTimer >= 5) this.listFilterTop = listFilterTop;
570
+ }
571
+ else{
572
+ setTimeout(()=>{
573
+ this.getListFilterEleTop();
574
+ },30)
575
+ }
576
+ })
577
+ .exec();
578
+ }
579
+ })
580
+
581
+ },
582
+
539
583
  /**
540
584
  * @description 非固定高度处理
541
585
  * @param list
542
586
  */
543
587
  handlePreRendering(list){
588
+ //这里返回的高度宽度包含填充值
544
589
  const query = uni.createSelectorQuery().in(this);
545
590
  query
546
591
  .selectAll('#preRendering > .list-cont-item')
@@ -548,7 +593,7 @@
548
593
  if(data && data.length > 0) {
549
594
  let height = [];
550
595
  data.map(item=>{
551
- height[item.dataset.index] = item.height + Number(this.outSpacing) * this.$rpxNum;
596
+ height[item.dataset.index] = item.height - this.$rpxNum * ( this.checkValue(this.contMargin.top, 20) + this.checkValue(this.contMargin.bottom, 20))
552
597
  });
553
598
  this.virtualList.pushVirtualData(list,height);
554
599
  }
@@ -565,6 +610,7 @@
565
610
  this.sortCode = 'default'
566
611
  this.cinemaOrgDataList = null;
567
612
  },
613
+
568
614
  getSortList(){
569
615
  jfbRootExec('getTFKSortList', {
570
616
  vm: this,
@@ -578,26 +624,26 @@
578
624
  },
579
625
 
580
626
  //影片列表
581
- handleFilmDetail(film_id){
582
- console.warn(`toFilmInfo(影片详情).${film_id}`)
627
+ handleFilmDetail(item){
628
+ console.warn(`toFilmInfo(影片详情).${item.id}`)
583
629
  if(!this.fimeDetailPath) {
584
630
  console.error('未配置链接');
585
631
  return;
586
632
  }
587
633
  if( this.isPreview) return;
588
634
  this.$xdUniHelper.navigateTo({
589
- url: this.fimeDetailPath + `?film_id=${film_id}`
635
+ url: this.fimeDetailPath + `?film_id=${item.id}`
590
636
  })
591
637
  },
592
- handleBuy(film_id){
593
- console.warn(`toBuyChooseCinema(选择影院).${film_id}`)
638
+ handleBuy(item){
639
+ console.warn(`toBuyChooseCinema(选择影院).${item.id}`)
594
640
  if(!this.buyPath) {
595
641
  console.error('未配置链接');
596
642
  return;
597
643
  }
598
644
  if( this.isPreview) return;
599
645
  this.$xdUniHelper.navigateTo({
600
- url: this.buyPath + `?film_id=${film_id}`
646
+ url: this.buyPath + `?film_id=${item.id}`
601
647
  })
602
648
  },
603
649
  //影片列表
@@ -629,10 +675,16 @@
629
675
  //todo
630
676
  },
631
677
  handleFilterTab(tab){
632
- if(tab === this.curQueryTab ) {
633
- this.curQueryTab = ''
634
- }
635
- else this.curQueryTab = tab
678
+ uni.pageScrollTo({
679
+ scrollTop: this.listFilterTop,
680
+ duration: 1,
681
+ success:()=>{
682
+ if(tab === this.curQueryTab ) {
683
+ this.curQueryTab = ''
684
+ }
685
+ else this.curQueryTab = tab
686
+ }
687
+ })
636
688
  },
637
689
  handleQuerySort(sortData){
638
690
  this.sortCode = sortData.value;
@@ -640,6 +692,7 @@
640
692
  this.pageToken = '1';
641
693
  this.dataList = null;
642
694
  this.cinemaOrgDataList = null;
695
+ this.virtualList.onChangeTab();
643
696
  this.getList();
644
697
 
645
698
  //等待排序规则
@@ -665,10 +718,6 @@
665
718
  },
666
719
  //影院列表
667
720
 
668
- handleAnimationfinish(e){
669
- this.current = e.detail.current;
670
- },
671
-
672
721
  getCinemaOrgData(){
673
722
  let fitlerData = this.$xdUniHelper.cloneDeep(this.cinemaOrgDataList||[])
674
723
 
@@ -694,9 +743,6 @@
694
743
  }
695
744
  //#endif
696
745
 
697
- console.log(`fitlerData:`,fitlerData)
698
- console.warn(`fitlerData.length=${fitlerData.length}`)
699
-
700
746
  //过滤之后不够分页直接返回值
701
747
  if(fitlerData.length <= this.pageSize) {
702
748
  this.preRendering = this.$xdUniHelper.cloneDeep(fitlerData);
@@ -721,13 +767,18 @@
721
767
 
722
768
  handleTab(value){
723
769
  if(value === this.type) return;
724
- if(value === 'hot' || value === 'rightnow' ) {
770
+ this.type = value;
771
+ if( this.type === 'hot' || this.type === 'rightnow' ) {
772
+ this.isFixed = false;
725
773
  this.virtualList.onChangeTab(this,'#content-ref', 'fixed' );
726
774
  }
727
- if(value === 'list') {
775
+ if( this.type === 'list') {
728
776
  this.virtualList.onChangeTab(this,'#content-list-ref', 'auto' );
777
+ this.$nextTick(()=>{
778
+ this.getListFilterEleTop()
779
+ })
729
780
  }
730
- this.type = value;
781
+
731
782
  this.dataList = null;
732
783
  this.pageToken = '1';
733
784
  this.getList();
@@ -774,11 +825,15 @@
774
825
  }).then(res => {
775
826
  if(this.isFirstLoadingData) this.$xdHideLoading({});
776
827
 
777
-
778
828
  //影片列表处理
779
829
  if(this.type === 'rightnow' || this.type==='hot'){
780
830
  //预览模式
781
- if(this.isPreview) this.dataList = (this.dataList||[]).concat(res['list']);
831
+ if(this.isPreview){
832
+ this.dataList = (this.dataList||[]).concat(res['list']).map(item=>{
833
+ item.is_content_show = true;
834
+ return item
835
+ });
836
+ }
782
837
  else {
783
838
  this.virtualList.pushVirtualData(res['list']);
784
839
  this.pageToken = res.next_page_token;
@@ -788,19 +843,20 @@
788
843
 
789
844
  //影院列表处理
790
845
  if(this.type === 'list') {
791
- debugger
792
846
  this.cinemaOrgDataList = res['list'];
793
847
  this.cinemaAreaList = [{area_code:'all', area_name:'全城'}].concat(res['area_list']);
794
848
 
795
849
  //预览模式
796
850
  if(this.isPreview) {
797
- this.dataList = (this.dataList||[]).concat(res['list'].slice(0, 20));
851
+ this.dataList = (this.dataList||[]).concat(res['list'].slice(0, 20)).map(item=>{
852
+ item.is_content_show = true;
853
+ return item
854
+ });
798
855
  return;
799
856
  }
800
857
 
801
858
  //小于数量页面显示记录
802
859
  if(res['list'].length <= this.pageSize) {
803
- //this.dataList = res['list'];
804
860
  this.preRendering = this.$xdUniHelper.cloneDeep(res['list']);
805
861
  this.pageToken = '';
806
862
  return
@@ -866,6 +922,8 @@
866
922
  this.tabBorder = this.getXdBorder({width:2,color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.tabBorder', {}));
867
923
  this.tabActBorder = this.getXdBorder({width:2,color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.tabActBorder', {}));
868
924
  this.tabRradius = getContainerPropsValue(container, 'content.tabRradius', '10');
925
+ this.sort_consume_mode = getContainerPropsValue(container, 'content.sort_consume_mode', '');
926
+ this.isList = getContainerPropsValue(container, 'content.isList', 'N');
869
927
 
870
928
  //内容
871
929
  this.contMargin = getContainerPropsValue(container, 'content.contMargin', {});
@@ -883,14 +941,14 @@
883
941
  this.showRightnowName = getContainerPropsValue(container, 'content.showRightnowName', '');
884
942
  this.showListName = getContainerPropsValue(container, 'content.showListName', '');
885
943
 
886
-
944
+ //广告设置
887
945
  this.poster = getContainerPropsValue(container, 'content.poster',{});
888
946
  this.posterNum = getContainerPropsValue(container, 'content.posterNum',1);
889
- this.sort_consume_mode = getContainerPropsValue(container, 'content.sort_consume_mode', '');
890
- this.isList = getContainerPropsValue(container, 'content.isList', 'N');
947
+ this.carouselTime = Number(getContainerPropsValue(container, 'content.carouselTime',5)) * 1000;
891
948
 
892
949
  //链接(影院)
893
950
  this.onlinePath = getContainerPropsValue(container, 'content.onlinePath', {value:''}).value;
951
+ this.codePath = getContainerPropsValue(container, 'content.codePath', {value:''}).value;
894
952
 
895
953
  //链接(影片)
896
954
  this.buyPath = getContainerPropsValue(container, 'content.buyPath', {value: ""}).value;
@@ -901,7 +959,14 @@
901
959
  },
902
960
 
903
961
  onJfbScroll(options){
962
+ //console.log(options.e.scrollTop)
904
963
  this.virtualList.onScrollEvent(options.e.scrollTop);
964
+
965
+ //未初始化完成不执行改逻辑
966
+ if(this.listFilterTop !== null) {
967
+ this.isFixed = options.e.scrollTop >= this.listFilterTop
968
+ }
969
+
905
970
  },
906
971
 
907
972
  setShowTypeList(){
@@ -917,14 +982,27 @@
917
982
  })
918
983
 
919
984
  //已有选中值不设置默认值
920
- if(this.type === '' && list.length > 0) {
921
- this.type = list[0].value;
985
+ if(this.addressType) {
986
+ this.type = this.addressType;
922
987
  }
988
+ else {
989
+ if(this.type === '' && list.length > 0) {
990
+ this.type = list[0].value;
991
+ }
992
+ }
993
+
994
+ //
995
+ if(this.type === 'list') {
996
+ this.$nextTick(()=>{
997
+ this.getListFilterEleTop()
998
+ })
999
+ }
1000
+
923
1001
  this.showTypeListData = list;
924
1002
  },
925
1003
 
926
1004
  onJfbReachBottom(options) {
927
- if(!this.pageToken || this.dataList === null) return false;
1005
+ if(this.pageToken === '' || this.dataList === null) return;
928
1006
  this.getList();
929
1007
  },
930
1008
 
@@ -934,6 +1012,7 @@
934
1012
  }
935
1013
  },
936
1014
 
1015
+
937
1016
  //重新回去广告位置工
938
1017
  onJfbUpdate() {
939
1018
  this.onJfbLoad(this.options)
@@ -948,6 +1027,8 @@
948
1027
  @import "./JfbMovieTfkFilmListLess.less";
949
1028
 
950
1029
  .jfb-movie-tfk-film-list {
1030
+ position: relative;
1031
+ z-index: 200;
951
1032
  &__body{
952
1033
  .tfk-list {
953
1034
  & >view:first-child {
@@ -976,7 +1057,7 @@
976
1057
  .list-cont {
977
1058
  position: relative;
978
1059
  z-index: 2;
979
- min-height: 600rpx;
1060
+
980
1061
  .skeleton-wrap {
981
1062
  .skeleton-wrap-item {
982
1063
  height: 240rpx;
@@ -1060,7 +1141,7 @@
1060
1141
  }
1061
1142
 
1062
1143
  &-item {
1063
- height: 240rpx;
1144
+ box-sizing: content-box;
1064
1145
 
1065
1146
  &:last-child {
1066
1147
  margin-bottom: 0!important;
@@ -1092,9 +1173,12 @@
1092
1173
  .list-filter {
1093
1174
  position: relative;
1094
1175
  z-index: 3;
1095
- .hasFitler {
1096
- box-shadow: 0 -5rpx 20rpx 0 rgba(0,0,0, .1);
1097
- border-radius: 20rpx 20rpx 0 0;
1176
+
1177
+ &.isFixed {
1178
+ position: fixed;
1179
+ left:0;
1180
+ right: 0;
1181
+ z-index: 9999;
1098
1182
  }
1099
1183
 
1100
1184
  &-block {
@@ -1126,7 +1210,12 @@
1126
1210
  width: 100%;
1127
1211
  z-index: 3;
1128
1212
  }
1213
+
1214
+ &-empty{
1215
+ height: 100rpx;
1216
+ }
1129
1217
  }
1218
+
1130
1219
  }
1131
1220
 
1132
1221
  .noConfig {
@@ -1136,10 +1225,11 @@
1136
1225
  }
1137
1226
 
1138
1227
  .preRendering {
1228
+ background: #eee;
1139
1229
  position: fixed;
1140
- top: -9999px;
1141
- left: -9999px;
1142
- opacity: 0;
1230
+ top:-9999rpx;
1231
+ left:-9999rpx;
1232
+ opacity: 1;
1143
1233
  z-index: 0;
1144
1234
  width: 100%;
1145
1235
  box-sizing: border-box;