jufubao-movie 1.0.39-beta1 → 1.0.39-beta11

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.39-beta1",
3
+ "version": "1.0.39-beta11",
4
4
  "private": false,
5
5
  "description": "聚福宝在线选座业务组件插件包",
6
6
  "main": "index.js",
@@ -43,7 +43,6 @@
43
43
  }"
44
44
  >即将上映</view>
45
45
  </view>
46
-
47
46
  <view v-if="loadingList" class="switch_section skeleton-wrap">
48
47
  <view class="film_item" v-for="i in 6" :key="i">
49
48
  <view class="film_post"></view>
@@ -134,8 +133,6 @@
134
133
  </view>
135
134
  </view>
136
135
  </template>
137
-
138
-
139
136
  </view>
140
137
  </view>
141
138
  </template>
@@ -211,6 +208,17 @@
211
208
  }
212
209
  },
213
210
  created() {
211
+ // #ifdef H5
212
+ let mapType = {
213
+ hot:0,
214
+ rightnow: 1,
215
+ }
216
+ let addressType = this.$xdUniHelper.getParmater('tab_id')?this.$xdUniHelper.getParmater('tab_id'):'';
217
+ if(['hot', 'rightnow'].includes(addressType)) {
218
+ this.activeIndex = mapType[addressType];
219
+ }
220
+ // #endif
221
+
214
222
  this.init(this.container);
215
223
  this.getList();
216
224
  },
@@ -4,6 +4,17 @@ export default {
4
4
  style: [],
5
5
  advanced: [],
6
6
  content: [
7
+ {
8
+ label: '是否显示影院名称:',
9
+ ele: 'xd-radio',
10
+ valueKey: 'isShowTitle',
11
+ value: 'Y',
12
+ groupKey:'content',
13
+ list: [
14
+ {label: '是', value: 'Y'},
15
+ {label: '否', value: 'N'},
16
+ ]
17
+ },
7
18
  {
8
19
  label: '订单确认路径:',
9
20
  ele: 'xd-select-pages-path',
@@ -18,14 +18,23 @@
18
18
  <!-- #endif -->
19
19
  <view class="jfb-movie-line-line-seat__body">
20
20
  <view v-if="loadingList" class="skeleton-wrap">
21
- <view class="seat_head">
21
+ <view class="seat_head" v-if="isShowTitle === 'Y'">
22
22
  <view></view>
23
23
  <view></view>
24
24
  </view>
25
- <view class="seat_body">
26
- <view class="seat_line" v-for="i in 7" :key="i">
27
- <view class="seat_item" v-for="ii in 10" :key="ii"></view>
25
+ <view class="seat_tips">
26
+ <view></view>
27
+ <view></view>
28
+ <view></view>
29
+ <view></view>
30
+ <view></view>
31
+ </view>
32
+ <view class="seat_body" :class="{Y:this.isShowTitle ==='Y', 'N': isShowTitle ==='N'}">
33
+ <view class="seat_line" v-for="i in yItem" :key="i">
34
+ <view class="seat_item" v-for="ii in xItem" :key="ii"></view>
28
35
  </view>
36
+ <view v-if="isShowTitle === 'Y'" class="line-Y"></view>
37
+ <view v-else class="line-N"></view>
29
38
  </view>
30
39
  <view class="seat_notice"></view>
31
40
  <view class="seat_foot">
@@ -37,6 +46,7 @@
37
46
  <xd-online-seat
38
47
  v-if="filmId"
39
48
  ref="xdOnlineSeat"
49
+ :is-show-title="isShowTitle"
40
50
  :key="cinemaSeatKey"
41
51
  :is-old="false"
42
52
  :film-id="filmId"
@@ -84,8 +94,11 @@
84
94
  //面板
85
95
  payPath: "", //三方支付路径
86
96
  moviePayPath: "", //订单确认路径
97
+ isShowTitle:'Y',//是否显示影院名称
87
98
  timer: null,
88
99
  time: 0,
100
+ xItem: 10,
101
+ yItem: 7,
89
102
  }
90
103
  },
91
104
  watch: {
@@ -98,6 +111,7 @@
98
111
  this.init(this.container);
99
112
  let systemInfo = uni.getSystemInfoSync();
100
113
  getApp().globalData.$systemInfo = systemInfo;
114
+
101
115
  },
102
116
  methods: {
103
117
  onJfbLoad(options) {
@@ -152,7 +166,10 @@
152
166
  */
153
167
  init(container) {
154
168
  this.moviePayPath = getContainerPropsValue(container, 'content.movie_pay_path', {value: ""}).value;
155
- this.payPath = getContainerPropsValue(container, "content.payPath", {value: "/system/system/pay"}).value;
169
+ this.payPath = getContainerPropsValue(container, "content.payPath", {value: ""}).value;
170
+ this.isShowTitle = getContainerPropsValue(container, "content.isShowTitle", 'Y');
171
+ if(this.isShowTitle === 'Y') this.yItem = 7;
172
+ else this.yItem = 10;
156
173
  },
157
174
  handleGetFilm(resolve) {
158
175
  // console.log('11111', paiqi.result);
@@ -326,29 +343,75 @@
326
343
 
327
344
  .jfb-movie-line-line-seat {
328
345
  &__body {
346
+ background-color: #f8f8f8;
329
347
  .skeleton-wrap{
330
348
  height: 100vh;
349
+
331
350
  .seat_head{
332
- box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
333
- padding: 20rpx 40rpx;
334
- margin-bottom: 20rpx;
351
+ border-radius: 24rpx;
352
+ overflow: hidden;
353
+ margin: 20rpx 20rpx 5rpx;
354
+ box-shadow: 0 4rpx 40rpx rgba(0, 0, 0, 0.2);
355
+ position: relative;
356
+ padding: unit(20, rpx) unit(30, rpx);
357
+
335
358
  & > view:first-child{
336
- .skeleton-item(300rpx);
359
+ .skeleton-item(80%, 36rpx);
360
+ padding-bottom: 15rpx;
337
361
  }
338
362
  & > view:last-child{
339
363
  .skeleton-item(100%, 30rpx);
340
364
  margin-top: 10rpx;
341
365
  }
342
366
  }
367
+ .seat_tips {
368
+ display: flex;
369
+ justify-content: center;
370
+ align-items: center;
371
+ padding-top: 50rpx;
372
+ & > view {
373
+ .skeleton-item(80rpx, 40rpx);
374
+
375
+ margin-right: 20rpx;
376
+ & >view:last-child{
377
+ margin-right: 0;
378
+ }
379
+ }
380
+ }
343
381
  .seat_body{
344
- .skeleton-item(100%, 700rpx, 0, #FEFEFE);
382
+ position: relative;
383
+
384
+ & .line-N {
385
+ position: absolute;
386
+ left:20rpx;
387
+ top:40rpx;
388
+ .skeleton-item(25rpx, 580rpx);
389
+ }
390
+ & .line-Y {
391
+ position: absolute;
392
+ left:20rpx;
393
+ top:40rpx;
394
+ .skeleton-item(25rpx, 400rpx);
395
+ }
396
+
397
+ &.Y {
398
+ .skeleton-item(100%, 500rpx, 0, #FEFEFE);
399
+ }
400
+ &.N {
401
+ .skeleton-item(100%, 700rpx, 0, #FEFEFE);
402
+ }
403
+
404
+
405
+
345
406
  padding: 20rpx 100rpx;
346
407
  box-sizing: border-box;
347
408
  .seat_line{
348
409
  display: flex;
349
410
  margin: 20rpx;
350
411
  .seat_item{
351
- .skeleton-item(50rpx, 50rpx);
412
+ margin: 0 6rpx;
413
+ .skeleton-item(40rpx, 40rpx);
414
+ border-radius: 10rpx;
352
415
  }
353
416
  }
354
417
  }
@@ -3055,6 +3055,7 @@ module.exports = {
3055
3055
  film_id: "200",
3056
3056
  cinema_id: "7",
3057
3057
  cinema_name: "聚福宝测试影院聚福宝测试影院聚福宝测试影院聚福宝测试影院",
3058
+ "cinema_address":"燕高路西侧实验小学南侧",
3058
3059
  film_name: "碧血锦衣卫",
3059
3060
  show_date: "2024-04-08(周一) 14:20",
3060
3061
  show_version: "英语 2D",
@@ -1,21 +1,14 @@
1
1
  <template>
2
2
  <view class="xd-seat" v-if="paiqiStatus">
3
+ <view class="float"></view>
3
4
  <view
4
5
  class="xd-seat__title"
5
- v-if="filmInfo"
6
+ v-if="isShowTitle === 'Y' && filmInfo"
6
7
  id="xd-seat__title"
7
8
  :style="{ borderTopColor: styleMainColor }"
8
9
  >
9
- <view class="xd-seat__title-name">{{ filmInfo["film_name"] }}</view>
10
- <view class="xd-seat__title-address">{{cinemaInfo["cinema_name"] }}</view>
11
- <view class="xd-seat__title-back" v-if="show" @click.stop="back">
12
- <xd-font-icon
13
- icon="iconzhiyuanfanhui12"
14
- width="50"
15
- height="50"
16
- size="50"
17
- ></xd-font-icon>
18
- </view>
10
+ <view class="xd-seat__title-name" :style="{marginBottom:cinemaInfo['cinema_address']?'15rpx':0 }">{{ filmInfo["cinema_name"] }}</view>
11
+ <view class="xd-seat__title-address" v-if="cinemaInfo['cinema_address']">{{cinemaInfo["cinema_address"] }}</view>
19
12
  </view>
20
13
  <view class="xd-seat__content" v-if="height !== null" :style="getHeight">
21
14
  <xd-online-seat-move
@@ -38,14 +31,13 @@
38
31
  showIcon
39
32
  >
40
33
  <view
41
- style="
42
- padding: 10rpx 0rpx 10rpx 20rpx;
43
- "
34
+ style="padding: 10rpx 0rpx 10rpx 20rpx;"
44
35
  v-for="(item, index) in noticeList"
45
36
  :key="index"
46
37
  >{{ item }}</view>
47
38
  </xd-notice-bar>
48
39
  </view>
40
+ <view class="xd-seat__footer-name">{{filmInfo.film_name}}</view>
49
41
  <view class="xd-seat__footer-paiqi">
50
42
  <view class="xd-seat__footer-paiqi-tab">
51
43
  <view>
@@ -225,6 +217,10 @@ export default {
225
217
  XdNoticeBar,
226
218
  },
227
219
  props: {
220
+ isShowTitle: {
221
+ type: String,
222
+ default:'Y'
223
+ },
228
224
  isOld: {
229
225
  type: Boolean,
230
226
  default: true,
@@ -361,7 +357,7 @@ export default {
361
357
  this.show = false;
362
358
  // #endif
363
359
  // #ifdef H5
364
- this.show = true;
360
+ this.show = false;
365
361
  // #endif
366
362
 
367
363
  this.getFilm();
@@ -477,6 +473,7 @@ export default {
477
473
  this.$emit("onGetFilm", (film) => {
478
474
  this.cinemaInfo = film["cinema_data"];
479
475
  this.filmInfo = this.getFilmInfo(film["film_data"]);
476
+ debugger
480
477
  this.getScheduleList(film["paiqi_data"]);
481
478
  console.log("getFilm", film);
482
479
  this.paiqiStatus = true;
@@ -491,10 +488,16 @@ export default {
491
488
  */
492
489
  setContent() {
493
490
  this.$nextTick(() => {
491
+ let elxs = [];
492
+ if(this.isShowTitle === 'Y') elxs.push('#xd-seat__title');
493
+ elxs.push('#xd-seat__footer');
494
494
  this.$xdUniHelper
495
- .getWindowHeight(["#xd-seat__title", "#xd-seat__footer"], this)
495
+ .getWindowHeight(elxs, this)
496
496
  .then((res) => {
497
- let top = res["#xd-seat__title"]["height"];
497
+ let top = 0;
498
+ if(this.isShowTitle === 'Y') {
499
+ top = res["#xd-seat__title"]["height"] ;
500
+ }
498
501
  let footer = res["#xd-seat__footer"]["height"];
499
502
  console.log("getFilm", top, footer);
500
503
  this.height = `calc(100vh - ${
@@ -648,6 +651,10 @@ export default {
648
651
  </script>
649
652
 
650
653
  <style scoped lang="less">
654
+ .float {
655
+ height: 1px;
656
+ width: 100%;
657
+ }
651
658
  .xd-seat {
652
659
  height: 100%;
653
660
  overflow-y: hidden;
@@ -702,22 +709,26 @@ export default {
702
709
  }
703
710
 
704
711
  &__title {
705
- border-top-width: unit(4, rpx);
706
- border-top-style: solid;
707
- box-shadow: 0 0 unit(15, rpx) rgba(0, 0, 0, 0.2);
712
+ border-radius: 24rpx;
713
+ overflow: hidden;
714
+ margin: 20rpx 20rpx 5rpx;
715
+ box-shadow: 0 4rpx 40rpx rgba(0, 0, 0, 0.2);
708
716
  position: relative;
709
- padding: unit(20, rpx) unit(20, rpx);
717
+ padding: unit(20, rpx) unit(30, rpx);
710
718
  z-index: 100;
711
719
 
712
720
  &-name {
713
- font-size: @xd-font-size-lg;
721
+ font-size: 36rpx;
714
722
  line-height: unit(40, rpx);
715
- padding-bottom: unit(10, rpx);
723
+ .uni-max-cut(1,40);
724
+ margin-bottom: 10rpx;
716
725
  }
717
726
 
718
727
  &-address {
719
- font-size: @xd-font-size-sm;
720
- color: #999;
728
+ font-size: 28rpx;
729
+ line-height: unit(36, rpx);
730
+ .uni-max-cut(1,36);
731
+ color: #A6A6A6;
721
732
  }
722
733
 
723
734
  &-back {
@@ -745,6 +756,15 @@ export default {
745
756
  z-index: 101;
746
757
  background: #fff;
747
758
 
759
+ &-name {
760
+ line-height: 40rpx;
761
+ font-size: 36rpx;
762
+ .uni-cut(1,40);
763
+ padding: 0 20rpx;
764
+ font-weight: 600;
765
+ color: #333;
766
+ }
767
+
748
768
  &-paiqi {
749
769
  &-content {
750
770
  height: unit(134, rpx);
@@ -847,11 +867,11 @@ export default {
847
867
  &-input {
848
868
  font-size: @xd-font-size-base;
849
869
  background: #fff;
850
- border-radius: unit(25, rpx);
870
+ border-radius: unit(30, rpx);
851
871
  flex: 1;
852
872
  height: unit(50, rpx);
853
873
  line-height: unit(50, rpx);
854
- padding: unit(20,rpx) unit(25, rpx);
874
+ padding: unit(10,rpx) unit(25, rpx);
855
875
  background: #f8f8f8;
856
876
 
857
877
  // &:hover {
@@ -915,6 +935,7 @@ export default {
915
935
 
916
936
  & .tab-show {
917
937
  font-size: @xd-font-size-base;
938
+ color:#999
918
939
  }
919
940
 
920
941
  & > view {
@@ -407,7 +407,6 @@
407
407
  :style="{
408
408
  top : seatOffsetTop + 'px',
409
409
  width: 30 * scale + 'rpx',
410
- background: styleMainColor
411
410
  }"
412
411
  >
413
412
  <view
@@ -1192,7 +1191,12 @@
1192
1191
 
1193
1192
  </script>
1194
1193
  <style lang="less">
1195
-
1194
+ .preloadIcon {
1195
+ position: fixed;
1196
+ top: -9999px;
1197
+ left: -9999px;
1198
+ z-index: 0;
1199
+ }
1196
1200
  .xd-online-seat {
1197
1201
  height: 100%;
1198
1202
  box-sizing: border-box;
@@ -1244,21 +1248,21 @@
1244
1248
  }
1245
1249
 
1246
1250
  &__stage {
1247
- background-image: url(@xd-bg-filmBg);
1251
+ background-image: url('https://img.jufubao.cn/common/stage.png?v1');
1248
1252
  background-size: 100%;
1249
1253
  background-position: top left;
1250
1254
  background-repeat: no-repeat;
1251
- color: @xd-text-color;
1255
+ color: #999;
1252
1256
  width: unit(533, rpx);
1253
1257
  height: unit(50, rpx);
1254
- font-size: @xd-font-size-base;
1258
+ font-size: 20rpx;
1255
1259
  text-align: center;
1256
1260
  margin: unit(20, rpx) auto unit(40, rpx);
1257
1261
  box-sizing: border-box;
1258
1262
 
1259
- *, text {
1263
+ & > text {
1260
1264
  display: inline-block;
1261
- padding: unit(30, rpx) 0 0;
1265
+ padding: unit(40, rpx) 0 0;
1262
1266
  }
1263
1267
  }
1264
1268
 
@@ -1280,7 +1284,7 @@
1280
1284
  justify-content: center;
1281
1285
  align-content: center;
1282
1286
  height: unit(50, rpx);
1283
- padding: unit(30, rpx) 0;
1287
+ padding: unit(20, rpx) 0 10rpx;
1284
1288
 
1285
1289
  &-item {
1286
1290
  font-size: @xd-font-size-base;
@@ -1344,7 +1348,7 @@
1344
1348
  &__left-bar {
1345
1349
  position: fixed;
1346
1350
  left: unit(10, rpx);
1347
- background-color: rgba(0, 0, 0, 0.3);
1351
+ background-color: #ACADAF;
1348
1352
  border-radius: unit(14, rpx);
1349
1353
  overflow: hidden;
1350
1354
  font-size: unit(20, rpx);
@@ -647,7 +647,7 @@
647
647
  z-index: 0;
648
648
  //#endif
649
649
  //#ifdef H5
650
- z-index: -1;
650
+ z-index: 0;
651
651
  //#endif
652
652
  opacity: .15;
653
653