jufubao-movie 1.0.35-beta1 → 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.
@@ -43,6 +43,7 @@
43
43
  </view>
44
44
  </view>
45
45
  <view v-else class="film_data_wrap">
46
+ <view v-if="filmInfo.poster" class="active_film_bg" :style="{backgroundImage:'url('+ filmInfo.poster +')'}"></view>
46
47
  <view class="film_list_swiper">
47
48
  <!-- #ifdef H5 -->
48
49
  <z-swiper
@@ -63,13 +64,21 @@
63
64
  </z-swiper-item>
64
65
  </z-swiper>
65
66
  <!-- #endif -->
66
- <!-- #ifdef MP -->
67
- <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
+ >
68
75
  <swiper-item>
69
76
  <view></view>
70
77
  </swiper-item>
71
78
  <swiper-item v-for="(item,index) in list" :key="index">
72
- <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>
73
82
  </swiper-item>
74
83
  <swiper-item>
75
84
  <view></view>
@@ -80,9 +89,7 @@
80
89
  <view v-if="filmInfo" class="film_info">
81
90
  <view class="film_name">{{filmInfo.show_name || ""}} <view v-if="filmInfo.remark" class="film_score">评分:{{filmInfo.remark}}</view></view>
82
91
  <view class="film_type_score">
83
- <view class="film_type">
84
- {{filmTypeAll}}
85
- </view>
92
+ <view class="film_type">{{filmTypeAll}}</view>
86
93
  </view>
87
94
  </view>
88
95
  </view>
@@ -181,8 +188,11 @@
181
188
  import extsMixins from "@/mixins/extsMixins"
182
189
  import { getContainerPropsValue } from "@/utils/xd.base";
183
190
  import XdTab from "@/components/XdTab/XdTab";
191
+ //#ifdef H5
184
192
  import ZSwiper from "@zebra-ui/swiper/components/z-swiper/z-swiper.vue"
185
193
  import ZSwiperItem from "@zebra-ui/swiper/components/z-swiper-item/z-swiper-item.vue"
194
+ //#endif
195
+
186
196
  const Color = require('color');
187
197
  import { mapState } from "vuex"
188
198
 
@@ -195,8 +205,10 @@
195
205
  XdCoins,
196
206
  XdNoticeBar,
197
207
  XdUnit,
208
+ //#ifdef H5
198
209
  ZSwiper,
199
210
  ZSwiperItem
211
+ //#endif
200
212
  },
201
213
  mixins: [componentsMixins,extsMixins,JfbMovieLineScheduleMixin],
202
214
  data() {
@@ -409,7 +421,8 @@
409
421
  &__body{
410
422
  background: #FAFAFA;
411
423
  .schedule_wrap{
412
- margin-top: 32rpx;
424
+ position: relative;
425
+ z-index: 2;
413
426
  .schedule_date{
414
427
  border-radius: 10px 10px 0px 0px;
415
428
  background: #FFFFFF;
@@ -510,6 +523,10 @@
510
523
  }
511
524
  }
512
525
  .film_data_wrap{
526
+ padding-bottom: 32rpx;
527
+ border-top: 1rpx solid #eee;
528
+ position: relative;
529
+
513
530
  &.skeleton-wrap{
514
531
  .film_list_swiper{
515
532
  display: flex;
@@ -533,18 +550,34 @@
533
550
  .image {
534
551
  height: 100%;
535
552
  width: 100%;
553
+ border-radius: 18rpx;
536
554
  }
537
555
  .film_list_swiper{
538
556
  height: 300rpx;
539
557
  width: 100%;
540
- margin: 40rpx 0;
558
+ padding: 40rpx 0;
559
+
560
+ //#ifdef MP-WEIXIN
561
+ .image-box {
562
+ width: 100%;
563
+ height: 300rpx;
564
+ }
565
+ //#endif
541
566
 
542
567
  .image {
568
+ margin: 0 auto;
569
+ //#ifdef H5
543
570
  width: 100%;
571
+ //#endif
572
+ //#ifdef MP-WEIXIN
573
+ width: 220rpx;
574
+ border-radius: 14rpx;
575
+ //#endif
544
576
  height: 300rpx;
545
577
  transform: scale(0.9);
546
578
  filter: contrast(0.5);
547
579
  transition: all 300ms;
580
+
548
581
  &.swiper_active{
549
582
  transform: scale(1);
550
583
  filter: contrast(1);
@@ -575,16 +608,33 @@
575
608
  margin-top: 16rpx;
576
609
  .film_type{
577
610
  font-size: 24rpx;
578
- color: #AAAAAA;
611
+ color: #999;
579
612
  font-weight: 400;
580
613
  padding: 0 40rpx;
581
614
  }
582
615
 
583
616
  }
584
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
+ }
585
635
  }
586
636
  .ticket_notice{
587
- padding: 20rpx 48rpx;
637
+ padding: 20rpx 20rpx;
588
638
  font-size: 26rpx;
589
639
  line-height: 36rpx;
590
640
  &.skeleton-wrap{
@@ -592,9 +642,9 @@
592
642
  }
593
643
  }
594
644
  .cinema_data_wrap{
595
- border-radius: 0px 0px 20rpx 20rpx;
645
+ border-radius: 0 0 20rpx 20rpx;
596
646
  background: rgba(255, 255, 255, 1);
597
- 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);
598
648
  padding: 28rpx 48rpx;
599
649
  display: flex;
600
650
  align-items: center;
@@ -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
+ };