jufubao-movie 1.0.35 → 1.0.36-beta1

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.35",
3
+ "version": "1.0.36-beta1",
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
  }
@@ -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
+ };
@@ -0,0 +1,111 @@
1
+ <template>
2
+ <view
3
+ class="jfb-movie-tfk-film-recommend"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-movie-tfk-film-recommend__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-movie-tfk-film-recommend__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-movie-tfk-film-recommend__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 JfbMovieTfkFilmRecommendMixin from "./JfbMovieTfkFilmRecommendMixin";
26
+ import { getContainerPropsValue } from "@/utils/xd.base";
27
+ import componentsMixins from "@/mixins/componentsMixins";
28
+ import extsMixins from "@/mixins/extsMixins";
29
+ export default {
30
+ name: "JfbMovieTfkFilmRecommend",
31
+ components: {
32
+ XdFontIcon
33
+ },
34
+ mixins: [
35
+ componentsMixins, extsMixins, JfbMovieTfkFilmRecommendMixin
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 "./JfbMovieTfkFilmRecommendLess.less";
105
+
106
+ .jfb-movie-tfk-film-recommend {
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-recommend {
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-recommend {
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-recommend'
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
+ }