jufubao-movie 1.0.34-beta3 → 1.0.34-beta5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-movie",
3
- "version": "1.0.34-beta3",
3
+ "version": "1.0.34-beta5",
4
4
  "private": false,
5
5
  "description": "聚福宝在线选座业务组件插件包",
6
6
  "main": "index.js",
@@ -38,6 +38,19 @@ export default {
38
38
  router: XdBus.getParentApi('getPagesTree'),
39
39
  },
40
40
  },
41
+ {
42
+ label: '电子码兑换:',
43
+ ele: 'xd-select-pages-path',
44
+ valueKey: 'codeChoosePath',
45
+ placeholder: '请选择电子码兑换路径',
46
+ value: data.codeChoosePath || null,
47
+ className: 'input80',
48
+ groupKey:'advanced',
49
+ setting: {
50
+ router: XdBus.getParentApi('getPagesTree'),
51
+ },
52
+ inline: false,
53
+ },
41
54
  ].filter(i=>i)
42
55
  },
43
56
  }
@@ -57,8 +57,15 @@
57
57
  <view class="cinema_item" v-for="i in 5" :key="i">
58
58
  <view class="item_main">
59
59
  <view class="item_name"></view>
60
+ </view>
61
+ <view>
62
+ <view class="item_addr"></view>
63
+ </view>
64
+ <view class="item_dist_btn">
60
65
  <view class="item_dist"></view>
61
- <view class="item_addr"></view> 
66
+ <view style="display: flex;">
67
+ <view class="cinema_item-btn"></view>
68
+ </view>
62
69
  </view>
63
70
  </view>
64
71
  </view>
@@ -68,12 +75,32 @@
68
75
  class="cinema_item"
69
76
  v-for="item in filterCinemaList"
70
77
  :key="item.cinema_id"
71
- @click="toChooseSchedule(item.cinema_id)"
78
+ @click="toChooseSchedule(item)"
72
79
  >
73
80
  <view class="item_main">
74
81
  <view class="item_name">{{ item.cinema_name }}</view>
75
- <view class="item_dist">{{ item.distance }}</view>
76
- <view class="item_addr">{{ item.address }}</view> </view>
82
+ </view>
83
+ <view>
84
+ <view class="item_addr">{{ item.address }}</view>
85
+ </view>
86
+ <view class="item_dist_btn">
87
+ <view class="item_dist">
88
+ <xd-font-icon icon="icondizhi" size="32" style="margin-right: 30rpx;"></xd-font-icon>
89
+ {{ item.distance }}
90
+ </view>
91
+ <view style="display: flex;">
92
+ <view
93
+ v-if="item.code_index > -1"
94
+ :style="{background: mainColor}"
95
+ class="cinema_item-btn"
96
+ @click.stop="toCodePath(item)">电子码</view>
97
+ <view
98
+ v-if="item.seat_index > -1"
99
+ :style="{background: mainColor, marginLeft: '20rpx'}"
100
+ class="cinema_item-btn"
101
+ @click.stop="toSchedulePath(item)">在线选座</view>
102
+ </view>
103
+ </view>
77
104
  </view>
78
105
  </view>
79
106
  <view v-else class="cinema_list">
@@ -143,6 +170,7 @@ export default {
143
170
  film: {},
144
171
  cinemaList: [],
145
172
  scheduleChoosePath: "",
173
+ codeChoosePath: "",
146
174
  film_id: "",
147
175
  citySubs: [],
148
176
  subIndex: 0,
@@ -200,12 +228,20 @@ export default {
200
228
  "content.schedule_choose_path",
201
229
  { value: "/movie/schedule/schedule" }
202
230
  ).value;
231
+ this.codeChoosePath = getContainerPropsValue(container, "content.codeChoosePath", {value: ""}).value;
232
+ },
233
+ toChooseSchedule(item) {
234
+ if(item.seat_index > -1) this.toSchedulePath(item);
235
+ else if(item.code_index > -1) this.toCodePath(item);
203
236
  },
204
- toChooseSchedule(cinema_id) {
237
+ toCodePath(item){
205
238
  this.$xdUniHelper.navigateTo({
206
- url:
207
- this.scheduleChoosePath +
208
- `?cinema_id=${cinema_id}&film_id=${this.film_id}`,
239
+ url: this.codeChoosePath + `?cinema_id=${item.cinema_id}`,
240
+ });
241
+ },
242
+ toSchedulePath(item){
243
+ this.$xdUniHelper.navigateTo({
244
+ url: this.scheduleChoosePath + `?cinema_id=${item.cinema_id}&film_id=${this.film_id}`,
209
245
  });
210
246
  },
211
247
  handleGetCitySub(city_code) {
@@ -237,7 +273,13 @@ export default {
237
273
  this.loadingList = false;
238
274
  this.$xdHideLoading();
239
275
  const { list, next_page_token, area_list } = res;
240
- this.cinemaList = list;
276
+ this.cinemaList = list.map(item => {
277
+ let seat_index = item.cinema_type.findIndex(ii => ii == 'SEAT'); //在线选座
278
+ let code_index = item.cinema_type.findIndex(ii => ii == 'CODE'); //电子码
279
+ item['code_index'] = code_index;
280
+ item['seat_index'] = seat_index;
281
+ return item;
282
+ });
241
283
  this.page_token = next_page_token;
242
284
  let citySubs = area_list.map((item) => {
243
285
  return {
@@ -413,19 +455,23 @@ view {
413
455
  }
414
456
  .cinema_list {
415
457
  background: #fff;
416
-
417
458
  &.skeleton-wrap{
418
459
  .cinema_item{
419
460
  .item_name{
420
- .skeleton-item(400rpx);
461
+ .skeleton-item(100%, 62rpx);
462
+ }
463
+ .item_addr{
464
+ .skeleton-item(300rpx);
421
465
  }
422
466
  .item_dist{
423
- .skeleton-item;
424
- padding: 0 !important;
425
- margin-top: 20rpx;
467
+ .skeleton-item(100rpx);
468
+ }
469
+ .cinema_item-btn{
470
+ .skeleton-item(160rpx, 50rpx, 50rpx);
426
471
  }
427
472
  }
428
473
  }
474
+
429
475
  .empty_data {
430
476
  font-size: 28rpx;
431
477
  color: #888888;
@@ -433,30 +479,54 @@ view {
433
479
  line-height: 200rpx;
434
480
  }
435
481
  .cinema_item {
436
- padding: unit(32, rpx);
437
- border-bottom: 1px solid #eee;
482
+ padding: 32rpx 40rpx;
483
+ // border-radius: 20rpx;
484
+ background: #ffffff;
485
+ // box-shadow: 0px 16rpx 60rpx 0px #e3e3e3;
486
+ border-bottom: 1px solid #e3e3e3;
487
+ margin-bottom: unit(24, rpx);
488
+ &-btn {
489
+ font-size: unit(26, rpx);
490
+ border-radius: unit(40, rpx);
491
+ padding: unit(12, rpx) unit(48, rpx);
492
+ color: #ffffff;
493
+ text-align: center;
494
+ height: unit(40, rpx);
495
+ line-height: unit(40, rpx);
496
+ }
438
497
  .item_main {
439
498
  display: flex;
440
- flex-direction: column;
499
+ justify-content: space-between;
441
500
  align-items: flex-start;
501
+ margin-bottom: 24rpx;
442
502
  .item_name {
443
503
  font-size: 28rpx;
444
504
  font-weight: 700;
445
505
  color: #000;
446
- padding-right: 20rpx;
447
- }
448
- .item_dist {
449
- font-size: 24rpx;
450
- font-weight: 400;
451
- color: #f3616e;
452
- padding: unit(16, rpx) 0;
453
- }
454
- .item_addr {
455
- font-size: 24rpx;
456
- font-weight: 400;
457
- color: #a6a6a6;
458
506
  }
459
507
  }
508
+ .item_dist {
509
+ font-size: 24rpx;
510
+ font-weight: 400;
511
+ color: #f3616e;
512
+ padding-top: 4rpx;
513
+ display: flex;
514
+ align-items: center;
515
+ justify-content: center;
516
+ }
517
+ .item_addr {
518
+ width: 60%;
519
+ flex-wrap: wrap;
520
+ font-size: 24rpx;
521
+ font-weight: 400;
522
+ color: #a6a6a6;
523
+ }
524
+ .item_dist_btn{
525
+ display: flex;
526
+ justify-content: space-between;
527
+ align-items: center;
528
+ margin-top: 24rpx;
529
+ }
460
530
  }
461
531
  }
462
532
  .filter_modal {
@@ -24,6 +24,9 @@
24
24
  <view class="cinema_name">{{cinemaInfo.cinema_name}}</view>
25
25
  <view class="cinema_address">{{cinemaInfo.address}}</view>
26
26
  </view>
27
+ <view class="cinema_tel" :style="{background: warningColor}" @click="toMapNav">
28
+ <xd-font-icon icon="icondanghang" size="32"></xd-font-icon>
29
+ </view>
27
30
  <view class="cinema_tel" :style="{background: warningColor}" @click="makePhoneCall">
28
31
  <xd-font-icon icon="icondianhua" size="32"></xd-font-icon>
29
32
  </view>
@@ -299,6 +302,15 @@
299
302
  phoneNumber: this.cinemaInfo.phone
300
303
  })
301
304
  },
305
+ toMapNav(){
306
+ const { latitude, longitude, address } = this.cinemaInfo;
307
+ this.handleOpenLocation({
308
+ latitude: latitude,
309
+ longitude: longitude,
310
+ name: '我的位置',
311
+ address: address
312
+ })
313
+ },
302
314
  toChooseSeat(scheduleId){
303
315
  this.$xdUniHelper.navigateTo({
304
316
  url: this.seatChoosePath + `?cinemaId=${this.cinema_id}&filmId=${this.film_id}&scheduleId=${scheduleId}`
@@ -623,6 +635,10 @@
623
635
  text-align: center;
624
636
  line-height: 64rpx;
625
637
  color: #FFFFFF;
638
+
639
+ & + .cinema_tel{
640
+ margin-left: 10rpx;
641
+ }
626
642
  }
627
643
  }
628
644
  }