jufubao-base 1.0.169-beta13 → 1.0.169-beta15

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.
@@ -32,7 +32,7 @@
32
32
  <template v-if="type_other !== 2">
33
33
  <view
34
34
  v-for="item in dataList"
35
- :key="item.id"
35
+ :key="item.cuid"
36
36
  :style="{
37
37
  marginBottom:$parentVm.outSpacing + 'rpx',
38
38
  padding:contMarginComp,
@@ -43,43 +43,43 @@
43
43
  height: heightRpx,
44
44
  backgroundColor: $parentVm.contBgColor
45
45
  }">
46
- <content-film
47
- type="hot"
48
- v-if="type_code === 'film'"
49
- style="width: 100%; height: 100%"
50
- :keyword="keyword"
51
- :item="item"
52
- :out-spacing="$parentVm.outSpacing"
53
- :color="$parentVm.mainColor"
54
- :border-radius="$parentVm.imgRradius"
55
- @on-film-detail="(film)=>{$parentVm.handleFilmDetail(film, dataConfig)}"
56
- @on-buy="(film)=>{$parentVm.handleBuy(film, dataConfig)}"
57
- ></content-film>
58
- <content-cinema
59
- v-if="type_code === 'cinema'"
60
- style="width: 100%;height: 100%"
61
- type="list"
62
- :keyword="keyword"
63
- :item="item"
64
- :out-spacing="$parentVm.outSpacing"
65
- :color="{SEAT:$parentVm.mainColor,CODE:$parentVm.subMainColor,SELL:$parentVm.successColor}"
66
- :border-radius="$parentVm.imgRradius"
67
- @on-schedule="(cinema)=>{$parentVm.handleSchedule(cinema,dataConfig)}"
68
- @on-cashier-detail="(cinema)=>{$parentVm.handleCashierDetail(cinema,dataConfig)}"
69
- @on-code-detail="(cinema)=>{$parentVm.handleCodeDetail(cinema,dataConfig)}"
70
- ></content-cinema>
71
- <content-shop
72
- v-if="type_code === 'shop'"
73
- style="width: 100%; height: 100%"
74
- :keyword="keyword"
75
- :out-spacing="$parentVm.outSpacing"
76
- :item="item"
77
- :color="$parentVm.mainColor"
78
- :border-radius="$parentVm.imgRradius"
79
- :is-echange="'Y' || $parentVm.isShowExchange"
80
- @on-shop-jhd="(shop)=>{$parentVm.handleShopJhd(shop,dataConfig)}"
81
- @on-shop-detail="(shop)=>{$parentVm.handleShopDetail(shop,dataConfig)}"
82
- ></content-shop>
46
+ <content-film
47
+ type="hot"
48
+ v-if="type_code === 'film'"
49
+ style="width: 100%; height: 100%"
50
+ :keyword="keyword"
51
+ :item="item"
52
+ :out-spacing="$parentVm.outSpacing"
53
+ :color="$parentVm.mainColor"
54
+ :border-radius="$parentVm.imgRradius"
55
+ @on-film-detail="handleFilmDetail"
56
+ @on-buy="handleBuy"
57
+ ></content-film>
58
+ <content-cinema
59
+ v-if="type_code === 'cinema'"
60
+ style="width: 100%;height: 100%"
61
+ type="list"
62
+ :keyword="keyword"
63
+ :item="item"
64
+ :out-spacing="$parentVm.outSpacing"
65
+ :color="{SEAT:$parentVm.mainColor,CODE:$parentVm.subMainColor,SELL:$parentVm.successColor}"
66
+ :border-radius="$parentVm.imgRradius"
67
+ @on-schedule="handleSchedule"
68
+ @on-cashier-detail="handleCashierDetail"
69
+ @on-code-detail="handleCodeDetail"
70
+ ></content-cinema>
71
+ <content-shop
72
+ v-if="type_code === 'shop'"
73
+ style="width: 100%; height: 100%"
74
+ :keyword="keyword"
75
+ :out-spacing="$parentVm.outSpacing"
76
+ :item="item"
77
+ :color="$parentVm.mainColor"
78
+ :border-radius="$parentVm.imgRradius"
79
+ :is-echange="'Y' || $parentVm.isShowExchange"
80
+ @on-shop-jhd="handleShopJhd"
81
+ @on-shop-detail="handleShopDetail"
82
+ ></content-shop>
83
83
  <content-product
84
84
  v-if="$parentVm.productConfig !== null && type_code === 'product'"
85
85
  style="width: 100%; height: 100%"
@@ -90,7 +90,7 @@
90
90
  :color="$parentVm.mainColor"
91
91
  :border-radius="$parentVm.imgRradius"
92
92
  :cell="type_other"
93
- @on-product-detail="(product)=>{$parentVm.handleProductDetail(product,dataConfig)}"
93
+ @on-product-detail="handleProductDetail"
94
94
  ></content-product>
95
95
  </view>
96
96
  </template>
@@ -99,7 +99,7 @@
99
99
  <view
100
100
  v-if="productTowList[listKey] !== null"
101
101
  v-for="item in productTowList[listKey]"
102
- :key="item.id"
102
+ :key="item.cuid"
103
103
  :style="{
104
104
  marginBottom:$parentVm.outSpacing + 'rpx',
105
105
  padding:contMarginComp,
@@ -122,12 +122,11 @@
122
122
  :brand-color="$parentVm.brandColor"
123
123
  :border-radius="$parentVm.imgRradius"
124
124
  :cell="type_other"
125
- @on-product-detail="(product)=>{$parentVm.handleProductDetail(product,dataConfig)}"
125
+ @on-product-detail="handleProductDetail"
126
126
  ></content-product>
127
127
  </view>
128
128
  </view>
129
129
  </view>
130
-
131
130
  </view>
132
131
  </view>
133
132
  </template>
@@ -219,7 +218,7 @@ export default {
219
218
  },
220
219
  data(){
221
220
  return {
222
- $parentVm:null,
221
+ $parentVm:{},
223
222
  parentStatus: false,
224
223
  skeletonCount: 6,
225
224
  hasNoData: false,
@@ -258,7 +257,9 @@ export default {
258
257
  this.onCusReloadList();
259
258
  },500)
260
259
  },
260
+
261
261
  tabId(){
262
+ this.handleClear();
262
263
  this.parseTab()
263
264
  this.onCusReloadList();
264
265
  },
@@ -281,8 +282,6 @@ export default {
281
282
  parseTab(){
282
283
  let tabs = this.tabId.split('@');
283
284
  this.type_code = tabs[1];
284
- this.search_range = tabs[0]
285
- this.is_open_city = tabs[2];
286
285
  if(this.type_code === 'product'){
287
286
  this.type_other = Number(tabs[3]);
288
287
  if(this.type_other === 2) this.skeletonCount = 12
@@ -292,13 +291,15 @@ export default {
292
291
  this.skeletonCount = 6;
293
292
  this.type_other = null
294
293
  }
294
+ this.search_range = tabs[0]
295
+ this.is_open_city = tabs[2];
295
296
  },
296
297
 
297
298
  handleClear(){
298
299
  this.is_open_city = 'N';
299
300
  this.dataConfig = null;
300
301
  this.page_token = '1';
301
- this.dataList = null;
302
+ this.dataList = [];
302
303
  this.productTowList = {
303
304
  left:null,
304
305
  right:null,
@@ -307,7 +308,7 @@ export default {
307
308
 
308
309
  getParentMV(){
309
310
  this.$emit('on-parent-vm', ($vm)=>{
310
- this.$parentVm = $vm;
311
+ //this.$parentVm = $vm;
311
312
  this.parentStatus = true;
312
313
  })
313
314
  },
@@ -323,17 +324,19 @@ export default {
323
324
  this.getList();
324
325
  },
325
326
 
326
-
327
327
  getList(){
328
+ let time = new Date().getTime();
328
329
 
329
330
  //无关键字不搜索
330
331
  if(this.keyword === '') {
331
332
  return;
332
333
  }
333
334
  this.$xdShowLoading({});
335
+ console.log(new Date().getTime()-time)
334
336
  this.$emit('on-list', {
335
337
  params:this.getParams,
336
338
  cb:(res)=>{
339
+ console.log(new Date().getTime()-time)
337
340
  //无数据处理
338
341
  if(res === null){
339
342
  this.hasNoData = true;
@@ -348,10 +351,7 @@ export default {
348
351
 
349
352
  //整理为统一ID
350
353
  res.items = res.items.map((item,index)=>{
351
- if(!item.id){
352
- item.id = item.product_id || item.resource_shop_id || item.cinema_id || item.film_id
353
- }
354
- //item.list_title = `${index} - ${ item.list_title}`
354
+ item.cuid = `${this.$xdUniHelper.randomChar(5)}_${item.product_id || item.resource_shop_id || item.cinema_id || item.film_id}`
355
355
  return item;
356
356
  })
357
357
 
@@ -371,10 +371,47 @@ export default {
371
371
  this.dataList = (this.dataList||[]).concat(res.items);
372
372
  this.page_token = res.next_page_token
373
373
  this.hasNoData = false;
374
- this.$xdHideLoading();
374
+ this.$nextTick(()=>{
375
+ setTimeout(()=>{
376
+ this.$xdHideLoading();
377
+ },300)
378
+ })
375
379
  }
376
380
  })
377
- }
381
+ },
382
+
383
+ //影片
384
+ handleFilmDetail(film){
385
+ this.$parentVm.handleFilmDetail(film, this.dataConfig)
386
+ },
387
+ handleBuy(film){
388
+ this.$parentVm.handleBuy(film, this.dataConfig)
389
+ },
390
+
391
+ //影院
392
+ handleSchedule(cinema){
393
+ this.$parentVm.handleSchedule(cinema, this.dataConfig)
394
+ },
395
+ handleCashierDetail(cinema){
396
+ this.$parentVm.handleCashierDetail(cinema, this.dataConfig)
397
+ },
398
+ handleCodeDetail(cinema){
399
+ this.$parentVm.handleCodeDetail(cinema, this.dataConfig)
400
+ },
401
+
402
+ //门店
403
+ handleShopJhd(shop){
404
+ this.$parentVm.handleShopJhd(shop, this.dataConfig)
405
+ },
406
+ handleShopDetail(shop){
407
+ this.$parentVm.handleShopDetail(shop, this.dataConfig)
408
+ },
409
+
410
+ //商品
411
+ handleProductDetail(product){
412
+ this.$parentVm.handleProductDetail(product, this.dataConfig)
413
+ },
414
+
378
415
  }
379
416
  }
380
417
  </script>
@@ -43,14 +43,13 @@
43
43
  <view v-if="!isPreview" style="height: 100rpx;"></view>
44
44
 
45
45
  <view class="tfk-search" :style="{padding: outSpacing + 'rpx'}">
46
- <all-list v-if="tabId === 'all'"
47
- :keyword="keyword"
48
- @on-parent-vm="handleParentVm"
49
- @on-list="handleList"
50
- @on-switch="handleSwitchMenu"
51
- ></all-list>
46
+ <!-- <all-list v-if="tabId === 'all'"-->
47
+ <!-- :keyword="keyword"-->
48
+ <!-- @on-parent-vm="handleParentVm"-->
49
+ <!-- @on-list="handleList"-->
50
+ <!-- @on-switch="handleSwitchMenu"-->
51
+ <!-- ></all-list>-->
52
52
  <custom-list
53
- v-else
54
53
  :tab-id="tabId"
55
54
  :keyword="keyword"
56
55
  ref="customList"
@@ -74,14 +73,14 @@
74
73
  import extsMixins from "@/mixins/extsMixins";
75
74
  import listMixins from "./listMixins";
76
75
  import CustomList from "./CustomList.vue";
77
- import AllList from "./AllList.vue";
76
+ //import AllList from "./AllList.vue";
78
77
 
79
78
  export default {
80
79
  name: "JfbBaseTfkSearch",
81
80
  components: {
82
81
  CustomList,
83
82
  XdFontIcon,
84
- AllList,
83
+ //AllList,
85
84
  XdSearchHistory
86
85
  },
87
86
  mixins: [