jufubao-movie 1.0.34-beta5 → 1.0.35-beta100

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.
@@ -24,9 +24,6 @@
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>
30
27
  <view class="cinema_tel" :style="{background: warningColor}" @click="makePhoneCall">
31
28
  <xd-font-icon icon="icondianhua" size="32"></xd-font-icon>
32
29
  </view>
@@ -46,6 +43,7 @@
46
43
  </view>
47
44
  </view>
48
45
  <view v-else class="film_data_wrap">
46
+ <view v-if="filmInfo.poster" class="active_film_bg" :style="{backgroundImage:'url('+ filmInfo.poster +')'}"></view>
49
47
  <view class="film_list_swiper">
50
48
  <!-- #ifdef H5 -->
51
49
  <z-swiper
@@ -66,13 +64,21 @@
66
64
  </z-swiper-item>
67
65
  </z-swiper>
68
66
  <!-- #endif -->
69
- <!-- #ifdef MP -->
70
- <swiper class="swiper" :display-multiple-items="3" :current="curFilmIndex" @change="handleChange">
67
+ <!-- #ifdef MP-WEIXIN -->
68
+ <swiper
69
+ class="swiper"
70
+ style="height: 300rpx; width: 100%"
71
+ :display-multiple-items="3"
72
+ :current="curFilmIndex"
73
+ @change="handleChange"
74
+ >
71
75
  <swiper-item>
72
76
  <view></view>
73
77
  </swiper-item>
74
78
  <swiper-item v-for="(item,index) in list" :key="index">
75
- <image class="image" :class="{swiper_active : curFilmIndex===index}" :src="item.poster" mode="aspectFit"></image>
79
+ <view class="image-box">
80
+ <image class="image" :class="{swiper_active : curFilmIndex===index}" :src="item.poster" mode="scaleToFill"></image>
81
+ </view>
76
82
  </swiper-item>
77
83
  <swiper-item>
78
84
  <view></view>
@@ -83,9 +89,7 @@
83
89
  <view v-if="filmInfo" class="film_info">
84
90
  <view class="film_name">{{filmInfo.show_name || ""}} <view v-if="filmInfo.remark" class="film_score">评分:{{filmInfo.remark}}</view></view>
85
91
  <view class="film_type_score">
86
- <view class="film_type">
87
- {{filmTypeAll}}
88
- </view>
92
+ <view class="film_type">{{filmTypeAll}}</view>
89
93
  </view>
90
94
  </view>
91
95
  </view>
@@ -184,8 +188,11 @@
184
188
  import extsMixins from "@/mixins/extsMixins"
185
189
  import { getContainerPropsValue } from "@/utils/xd.base";
186
190
  import XdTab from "@/components/XdTab/XdTab";
191
+ //#ifdef H5
187
192
  import ZSwiper from "@zebra-ui/swiper/components/z-swiper/z-swiper.vue"
188
193
  import ZSwiperItem from "@zebra-ui/swiper/components/z-swiper-item/z-swiper-item.vue"
194
+ //#endif
195
+
189
196
  const Color = require('color');
190
197
  import { mapState } from "vuex"
191
198
 
@@ -198,8 +205,10 @@
198
205
  XdCoins,
199
206
  XdNoticeBar,
200
207
  XdUnit,
208
+ //#ifdef H5
201
209
  ZSwiper,
202
210
  ZSwiperItem
211
+ //#endif
203
212
  },
204
213
  mixins: [componentsMixins,extsMixins,JfbMovieLineScheduleMixin],
205
214
  data() {
@@ -302,15 +311,6 @@
302
311
  phoneNumber: this.cinemaInfo.phone
303
312
  })
304
313
  },
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
- },
314
314
  toChooseSeat(scheduleId){
315
315
  this.$xdUniHelper.navigateTo({
316
316
  url: this.seatChoosePath + `?cinemaId=${this.cinema_id}&filmId=${this.film_id}&scheduleId=${scheduleId}`
@@ -421,7 +421,8 @@
421
421
  &__body{
422
422
  background: #FAFAFA;
423
423
  .schedule_wrap{
424
- margin-top: 32rpx;
424
+ position: relative;
425
+ z-index: 2;
425
426
  .schedule_date{
426
427
  border-radius: 10px 10px 0px 0px;
427
428
  background: #FFFFFF;
@@ -522,6 +523,10 @@
522
523
  }
523
524
  }
524
525
  .film_data_wrap{
526
+ padding-bottom: 32rpx;
527
+ border-top: 1rpx solid #eee;
528
+ position: relative;
529
+
525
530
  &.skeleton-wrap{
526
531
  .film_list_swiper{
527
532
  display: flex;
@@ -545,18 +550,34 @@
545
550
  .image {
546
551
  height: 100%;
547
552
  width: 100%;
553
+ border-radius: 18rpx;
548
554
  }
549
555
  .film_list_swiper{
550
556
  height: 300rpx;
551
557
  width: 100%;
552
- margin: 40rpx 0;
558
+ padding: 40rpx 0;
559
+
560
+ //#ifdef MP-WEIXIN
561
+ .image-box {
562
+ width: 100%;
563
+ height: 300rpx;
564
+ }
565
+ //#endif
553
566
 
554
567
  .image {
568
+ margin: 0 auto;
569
+ //#ifdef H5
555
570
  width: 100%;
571
+ //#endif
572
+ //#ifdef MP-WEIXIN
573
+ width: 220rpx;
574
+ border-radius: 14rpx;
575
+ //#endif
556
576
  height: 300rpx;
557
577
  transform: scale(0.9);
558
578
  filter: contrast(0.5);
559
579
  transition: all 300ms;
580
+
560
581
  &.swiper_active{
561
582
  transform: scale(1);
562
583
  filter: contrast(1);
@@ -587,16 +608,33 @@
587
608
  margin-top: 16rpx;
588
609
  .film_type{
589
610
  font-size: 24rpx;
590
- color: #AAAAAA;
611
+ color: #999;
591
612
  font-weight: 400;
592
613
  padding: 0 40rpx;
593
614
  }
594
615
 
595
616
  }
596
617
  }
618
+
619
+ .active_film_bg {
620
+ position: absolute;
621
+ background-size: 120% auto;
622
+ top:0;
623
+ left: 0;
624
+ right: 0;
625
+ bottom: -40rpx;
626
+ //#ifdef MP-WEIXIN
627
+ z-index: 0;
628
+ //#endif
629
+ //#ifdef H5
630
+ z-index: -1;
631
+ //#endif
632
+ opacity: .15;
633
+
634
+ }
597
635
  }
598
636
  .ticket_notice{
599
- padding: 20rpx 48rpx;
637
+ padding: 20rpx 20rpx;
600
638
  font-size: 26rpx;
601
639
  line-height: 36rpx;
602
640
  &.skeleton-wrap{
@@ -604,9 +642,9 @@
604
642
  }
605
643
  }
606
644
  .cinema_data_wrap{
607
- border-radius: 0px 0px 20rpx 20rpx;
645
+ border-radius: 0 0 20rpx 20rpx;
608
646
  background: rgba(255, 255, 255, 1);
609
- box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.05);
647
+ box-shadow: 0 2rpx 20rpx 0 rgba(0, 0, 0, 0.05);
610
648
  padding: 28rpx 48rpx;
611
649
  display: flex;
612
650
  align-items: center;
@@ -635,10 +673,6 @@
635
673
  text-align: center;
636
674
  line-height: 64rpx;
637
675
  color: #FFFFFF;
638
-
639
- & + .cinema_tel{
640
- margin-left: 10rpx;
641
- }
642
676
  }
643
677
  }
644
678
  }
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:Tfk
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ //设置方法名字当别忘记加上【模块名字】:Tfk
10
+ mapFnName: 'getTfkByIdFilmSquate',
11
+ title: '获取电影广场列表',
12
+ path: '/api/account/film/list-film-square',
13
+ isRule: false,
14
+ params: {
15
+ last_key: ['当前页', 'Number', '必选'],
16
+ page_size: ['每页数量', 'Number', '必选'],
17
+ },
18
+ isConsole: true,
19
+ disabled: true,
20
+ },
21
+ {
22
+ //设置方法名字当别忘记加上【模块名字】:Tfk
23
+ mapFnName: 'updateTfkFilmPaiqiDate',
24
+ title: '更新排期',
25
+ path: '/api/account/film/paiqi-date',
26
+ isRule: false,
27
+ params: {
28
+ film_id: ['电影id', 'Number', '必选'],
29
+ cinema_id: ['影院id', 'Number', '必选'],
30
+ },
31
+ isConsole: true,
32
+ disabled: true,
33
+ },
34
+ {
35
+ //设置方法名字当别忘记加上【模块名字】:Tfk
36
+ mapFnName: 'removeTfkFilmAddress',
37
+ title: '删除我的配送地址',
38
+ path: '/api/account/film/paiqi-date',
39
+ isRule: false,
40
+ params: {
41
+ film_id: ['电影id', 'Number', '必选'],
42
+ },
43
+ isConsole: true,
44
+ disabled: true,
45
+ },
46
+ {
47
+ //设置方法名字当别忘记加上【模块名字】:Tfk
48
+ mapFnName: 'addTfkFilmcart',
49
+ title: '添加购物车',
50
+ path: '/api/account/film/paiqi-date',
51
+ isRule: false,
52
+ params: {
53
+ film_id: ['电影id', 'Number', '必选'],
54
+ },
55
+ isConsole: true,
56
+ disabled: true,
57
+ },
58
+ ];
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:',
12
+ ele: 'xd-color',
13
+ valueKey: 'bgcolor',
14
+ value: data.bgcolor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ classNmae: 'input80',
17
+ rules: [
18
+ {
19
+ required: true,
20
+ message: '请输入占位框背景颜色',
21
+ trigger: 'blur'
22
+ },
23
+ ]
24
+ },
25
+ {
26
+ label: '选中路径:',
27
+ ele: 'xd-select-pages-path',
28
+ valueKey: 'select-pages-path',
29
+ value: data['select-pages-path'] || null,
30
+ setting: {
31
+ router: XdBus.getParentApi('getPagesTree')
32
+ },
33
+ },
34
+ data.bgcolor && {
35
+ label: '高度:',
36
+ ele: 'el-input',
37
+ type: 'number',
38
+ valueKey: 'height',
39
+ value: data.height || 100,
40
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
41
+ className: 'input80',
42
+ rules: [
43
+ {
44
+ required: true,
45
+ message: '请输入占位框高度',
46
+ trigger: 'blur'
47
+ },
48
+ ]
49
+ },
50
+ {
51
+ label: '', //label
52
+ ele: 'slot', //package 名称
53
+ slot: 'is_reference',
54
+ },
55
+ ].filter(i=>i)
56
+ },
57
+ advanced: [],
58
+ };
@@ -0,0 +1,111 @@
1
+ <template>
2
+ <view
3
+ class="jfb-movie-tfk-film-list"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-movie-tfk-film-list__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-movie-tfk-film-list__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-movie-tfk-film-list__body">
17
+ <view>测试插件( {{containerId}} )</view>
18
+ </view>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
+ import { jfbRootExec } from "@/utils/xd.event";
25
+ import JfbMovieTfkFilmListMixin from "./JfbMovieTfkFilmListMixin";
26
+ import { getContainerPropsValue } from "@/utils/xd.base";
27
+ import componentsMixins from "@/mixins/componentsMixins";
28
+ import extsMixins from "@/mixins/extsMixins";
29
+ export default {
30
+ name: "JfbMovieTfkFilmList",
31
+ components: {
32
+ XdFontIcon
33
+ },
34
+ mixins: [
35
+ componentsMixins, extsMixins, JfbMovieTfkFilmListMixin
36
+ ],
37
+ data() {
38
+ return {
39
+
40
+ //todo
41
+ }
42
+ },
43
+ watch: {
44
+ container(value, oldValue) {
45
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
+ if (this.$configProject['isPreview']) this.init(value)
47
+ },
48
+ },
49
+ created() {
50
+ this.init(this.container);
51
+
52
+ //todo
53
+ },
54
+ methods: {
55
+ onJfbLoad(options) {
56
+
57
+ // jfbRootExec('baiduUserLogin', {
58
+
59
+ // vm: this,// data: {
60
+
61
+ // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
62
+
63
+ // }
64
+
65
+ // }).then().catch()
66
+ },
67
+ /**
68
+ * @description 监听事件变化
69
+ * @param container {object} 业务组件对象自己
70
+ */
71
+ init(container) {
72
+
73
+ //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
74
+
75
+ //this.height = getContainerPropsValue(container, 'content.height', 10);
76
+ },
77
+ onJfbScroll(options) {
78
+ console.log('event.onJfbScroll', options)
79
+ },
80
+ onJfbReachBottom(options) {
81
+ console.log('event.onJfbReachBottom', options)
82
+ },
83
+ onJfbShow(options) {
84
+ console.log('event.onJfbShow', options)
85
+ },
86
+ onJfbHide(options) {
87
+ console.log('event.onJfbHide', options)
88
+ },
89
+ onJfbBack(options) {
90
+ console.log('event.onJfbBack', options)
91
+ },
92
+ onJfbUpdate(...data) {
93
+ console.log('event.onJfbUpdate', data)
94
+ },
95
+ onJfbCustomEvent(options) {
96
+ console.log('event.onJfbReachBottom', options)
97
+ },
98
+ }
99
+ }
100
+
101
+ </script>
102
+
103
+ <style scoped lang="less">
104
+ @import "./JfbMovieTfkFilmListLess.less";
105
+
106
+ .jfb-movie-tfk-film-list {
107
+ &__body{
108
+
109
+ }
110
+ }
111
+ </style>
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @desc 获取绝对路径完整地址
3
+ * @param @path
4
+ **/
5
+ //例如:https://image.jufubao.cn/20220501010108/image/bg/default_gonghui_bg.png
6
+ @basePath: 'business/';
7
+ @doMain: '//sandbox-img.jufubao.cn/';
8
+
9
+ .getBusinessImageUrl(@path, @size: 'size8') {
10
+ @url: "@{doMain}@{basePath}@{path}?x-oss-process=style/@{size}";
11
+ background-image: url(@url);
12
+ }
13
+
14
+ //start
15
+ .jfb-movie-tfk-film-list {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: 4;
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-movie-tfk-film-list {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**endNotPreview**/
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+
4
+ //@AttrImport
5
+ import Attr from "./Attr";
6
+ //@EndAttrImport
7
+
8
+
9
+ export default {
10
+ data() {
11
+ return {
12
+ //#ifdef H5
13
+
14
+ //@AttrData
15
+ Attr:{}, //对外开发编辑属性
16
+ //@EndAttrData
17
+
18
+ // #endif
19
+ cssRoot: 'jfb-movie-tfk-film-list'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+
5
+ getTfkByIdFilmSquate:{},
6
+
7
+ updateTfkFilmPaiqiDate:{},
8
+
9
+ removeTfkFilmAddress:{},
10
+
11
+ addTfkFilmcart:{},
12
+
13
+ }
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:Tfk
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ //设置方法名字当别忘记加上【模块名字】:Tfk
10
+ mapFnName: 'getTfkByIdFilmSquate',
11
+ title: '获取电影广场列表',
12
+ path: '/api/account/film/list-film-square',
13
+ isRule: false,
14
+ params: {
15
+ last_key: ['当前页', 'Number', '必选'],
16
+ page_size: ['每页数量', 'Number', '必选'],
17
+ },
18
+ isConsole: true,
19
+ disabled: true,
20
+ },
21
+ {
22
+ //设置方法名字当别忘记加上【模块名字】:Tfk
23
+ mapFnName: 'updateTfkFilmPaiqiDate',
24
+ title: '更新排期',
25
+ path: '/api/account/film/paiqi-date',
26
+ isRule: false,
27
+ params: {
28
+ film_id: ['电影id', 'Number', '必选'],
29
+ cinema_id: ['影院id', 'Number', '必选'],
30
+ },
31
+ isConsole: true,
32
+ disabled: true,
33
+ },
34
+ {
35
+ //设置方法名字当别忘记加上【模块名字】:Tfk
36
+ mapFnName: 'removeTfkFilmAddress',
37
+ title: '删除我的配送地址',
38
+ path: '/api/account/film/paiqi-date',
39
+ isRule: false,
40
+ params: {
41
+ film_id: ['电影id', 'Number', '必选'],
42
+ },
43
+ isConsole: true,
44
+ disabled: true,
45
+ },
46
+ {
47
+ //设置方法名字当别忘记加上【模块名字】:Tfk
48
+ mapFnName: 'addTfkFilmcart',
49
+ title: '添加购物车',
50
+ path: '/api/account/film/paiqi-date',
51
+ isRule: false,
52
+ params: {
53
+ film_id: ['电影id', 'Number', '必选'],
54
+ },
55
+ isConsole: true,
56
+ disabled: true,
57
+ },
58
+ ];
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:',
12
+ ele: 'xd-color',
13
+ valueKey: 'bgcolor',
14
+ value: data.bgcolor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ classNmae: 'input80',
17
+ rules: [
18
+ {
19
+ required: true,
20
+ message: '请输入占位框背景颜色',
21
+ trigger: 'blur'
22
+ },
23
+ ]
24
+ },
25
+ {
26
+ label: '选中路径:',
27
+ ele: 'xd-select-pages-path',
28
+ valueKey: 'select-pages-path',
29
+ value: data['select-pages-path'] || null,
30
+ setting: {
31
+ router: XdBus.getParentApi('getPagesTree')
32
+ },
33
+ },
34
+ data.bgcolor && {
35
+ label: '高度:',
36
+ ele: 'el-input',
37
+ type: 'number',
38
+ valueKey: 'height',
39
+ value: data.height || 100,
40
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
41
+ className: 'input80',
42
+ rules: [
43
+ {
44
+ required: true,
45
+ message: '请输入占位框高度',
46
+ trigger: 'blur'
47
+ },
48
+ ]
49
+ },
50
+ {
51
+ label: '', //label
52
+ ele: 'slot', //package 名称
53
+ slot: 'is_reference',
54
+ },
55
+ ].filter(i=>i)
56
+ },
57
+ advanced: [],
58
+ };