jufubao-base 1.0.169-beta3 → 1.0.169-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 +1 -1
- package/src/components/JfbBaseLogin/Attr.js +54 -16
- package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
- package/src/components/JfbBaseOrderDetail/Api.js +12 -7
- package/src/components/JfbBaseOrderDetail/Attr.js +28 -14
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +66 -18
- package/src/components/JfbBaseOrderDetail/Mock.js +3 -1
- package/src/components/JfbBaseTfkCardBind/Attr.js +36 -9
- package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +1 -1
- package/src/components/JfbBaseTfkCardDetail/Attr.js +35 -6
- package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +1 -1
- package/src/components/JfbBaseTfkCardLogin/Attr.js +98 -4
- package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +43 -18
- package/src/components/JfbBaseTfkSearch/Attr.js +24 -37
- package/src/components/JfbBaseTfkSearch/ContentCinema.vue +147 -0
- package/src/components/JfbBaseTfkSearch/ContentItem.vue +165 -0
- package/src/components/JfbBaseTfkSearch/CusAttr.js +201 -0
- package/src/components/JfbBaseTfkSearch/CustomList.vue +229 -0
- package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +46 -14
- package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +46 -0
- package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
- package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +111 -0
- package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
- package/src/components/JfbBaseTfkSearch/listMixins.js +76 -0
- package/src/components/JfbBaseTfkSearch/search.js +175 -0
|
@@ -18,6 +18,12 @@ export default {
|
|
|
18
18
|
{ label: '我的优惠券', value: 'coupon' },
|
|
19
19
|
],
|
|
20
20
|
},
|
|
21
|
+
{
|
|
22
|
+
ele: "title",
|
|
23
|
+
label: "公告内容配置 - 通用",
|
|
24
|
+
size: "small",
|
|
25
|
+
groupKey: "content",
|
|
26
|
+
},
|
|
21
27
|
{
|
|
22
28
|
label: '公告内容:',
|
|
23
29
|
ele: 'xd-site-news',
|
|
@@ -247,6 +253,7 @@ export default {
|
|
|
247
253
|
label: "我的票券包内容配置",
|
|
248
254
|
size: "small",
|
|
249
255
|
groupKey: "content",
|
|
256
|
+
hidden: data.previewCurrent !== 'card'
|
|
250
257
|
},
|
|
251
258
|
{
|
|
252
259
|
label: '票券背景图:',
|
|
@@ -267,12 +274,14 @@ export default {
|
|
|
267
274
|
action: 'action',
|
|
268
275
|
sort: true,
|
|
269
276
|
maxlen: 100,
|
|
277
|
+
hidden: data.previewCurrent !== 'card'
|
|
270
278
|
},
|
|
271
279
|
{
|
|
272
280
|
ele: "title",
|
|
273
281
|
label: "我的优惠券内容配置",
|
|
274
282
|
size: "small",
|
|
275
283
|
groupKey: "content",
|
|
284
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
276
285
|
},
|
|
277
286
|
{
|
|
278
287
|
label: '优惠券背景图:',
|
|
@@ -293,10 +302,11 @@ export default {
|
|
|
293
302
|
action: 'action',
|
|
294
303
|
sort: true,
|
|
295
304
|
maxlen: 100,
|
|
305
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
296
306
|
},
|
|
297
307
|
{
|
|
298
308
|
ele: "title",
|
|
299
|
-
label: "列表容器配置",
|
|
309
|
+
label: "列表容器配置 - 通用",
|
|
300
310
|
size: "small",
|
|
301
311
|
groupKey: "style",
|
|
302
312
|
},
|
|
@@ -327,7 +337,7 @@ export default {
|
|
|
327
337
|
},
|
|
328
338
|
{
|
|
329
339
|
ele: "title",
|
|
330
|
-
label: "标题菜单配置",
|
|
340
|
+
label: "标题菜单配置 - 通用",
|
|
331
341
|
size: "small",
|
|
332
342
|
groupKey: "style",
|
|
333
343
|
},
|
|
@@ -362,7 +372,7 @@ export default {
|
|
|
362
372
|
groupKey:'style',
|
|
363
373
|
ele: 'el-input',
|
|
364
374
|
valueKey: 'menuItemMargin',
|
|
365
|
-
value: data.menuItemMargin ||
|
|
375
|
+
value: data.menuItemMargin || 40,
|
|
366
376
|
type: "number",
|
|
367
377
|
className: "input40",
|
|
368
378
|
placeholder: '请输入菜单间距',
|
|
@@ -425,11 +435,83 @@ export default {
|
|
|
425
435
|
inline: false,
|
|
426
436
|
notice: '填充设置,单位:<span style="color: red">像素</span>。默认值:<span style="color: red">20</span> 像素',
|
|
427
437
|
},
|
|
438
|
+
{
|
|
439
|
+
ele: "title",
|
|
440
|
+
label: "公告样式配置 - 通用",
|
|
441
|
+
size: "small",
|
|
442
|
+
groupKey: "style",
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
label: "外边距设置:",
|
|
446
|
+
groupKey:'style',
|
|
447
|
+
ele: 'xd-margin-padding',
|
|
448
|
+
valueKey: 'noticeMargin',
|
|
449
|
+
value: data.noticeMargin || {
|
|
450
|
+
top: 20,
|
|
451
|
+
right: 0,
|
|
452
|
+
bottom: 20,
|
|
453
|
+
left:20
|
|
454
|
+
},
|
|
455
|
+
setting: {
|
|
456
|
+
type: 'margin',
|
|
457
|
+
},
|
|
458
|
+
placeholder: '请设置边距',
|
|
459
|
+
inline: false,
|
|
460
|
+
notice: '设置外边距,<span style="color: red">单位:像素</span>。',
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
label: "内边距设置:",
|
|
464
|
+
groupKey:'style',
|
|
465
|
+
ele: 'xd-margin-padding',
|
|
466
|
+
valueKey: 'noticePadding',
|
|
467
|
+
value: data.noticePadding || null,
|
|
468
|
+
setting: {
|
|
469
|
+
type: 'padding',
|
|
470
|
+
},
|
|
471
|
+
placeholder: '请设置边距',
|
|
472
|
+
inline: false,
|
|
473
|
+
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
label: "背景色设置:",
|
|
477
|
+
ele: "xd-color",
|
|
478
|
+
groupKey:'style',
|
|
479
|
+
valueKey: "noticeBgColor",
|
|
480
|
+
value: data.noticeBgColor || null,
|
|
481
|
+
setting: {
|
|
482
|
+
showAlpha: true,
|
|
483
|
+
isAlpha: true
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
label: "文字设置:",
|
|
488
|
+
ele: "xd-font",
|
|
489
|
+
valueKey: "noticeFont",
|
|
490
|
+
value: data.noticeFont || {},
|
|
491
|
+
groupKey:'style',
|
|
492
|
+
setting: {
|
|
493
|
+
align: false,
|
|
494
|
+
lineHeight: false,
|
|
495
|
+
},
|
|
496
|
+
handleCustom({action, data}) {
|
|
497
|
+
XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
|
|
498
|
+
.then(res => {
|
|
499
|
+
data.cb(res.list)
|
|
500
|
+
})
|
|
501
|
+
.catch(error => {
|
|
502
|
+
data.cb([])
|
|
503
|
+
console.error(error);
|
|
504
|
+
});
|
|
505
|
+
},
|
|
506
|
+
inline: false,
|
|
507
|
+
notice: '填充设置,单位:<span style="color: red">像素</span>。默认值:<span style="color: red">20</span> 像素',
|
|
508
|
+
},
|
|
428
509
|
{
|
|
429
510
|
ele: "title",
|
|
430
511
|
label: "我的票券包样式配置",
|
|
431
512
|
size: "small",
|
|
432
513
|
groupKey: "style",
|
|
514
|
+
hidden: data.previewCurrent !== 'card'
|
|
433
515
|
},
|
|
434
516
|
{
|
|
435
517
|
label: "单项内边距设置:",
|
|
@@ -443,6 +525,7 @@ export default {
|
|
|
443
525
|
placeholder: '请设置边距',
|
|
444
526
|
inline: false,
|
|
445
527
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
528
|
+
hidden: data.previewCurrent !== 'card'
|
|
446
529
|
},
|
|
447
530
|
{
|
|
448
531
|
label: "圆角设置",
|
|
@@ -462,6 +545,7 @@ export default {
|
|
|
462
545
|
console.error(error);
|
|
463
546
|
});
|
|
464
547
|
},
|
|
548
|
+
hidden: data.previewCurrent !== 'card'
|
|
465
549
|
},
|
|
466
550
|
{
|
|
467
551
|
label: "登录按钮文字背景色设置:",
|
|
@@ -485,6 +569,7 @@ export default {
|
|
|
485
569
|
data.cb([])
|
|
486
570
|
});
|
|
487
571
|
},
|
|
572
|
+
hidden: data.previewCurrent !== 'card'
|
|
488
573
|
},
|
|
489
574
|
{
|
|
490
575
|
label: "登录按钮圆角设置",
|
|
@@ -504,6 +589,7 @@ export default {
|
|
|
504
589
|
console.error(error);
|
|
505
590
|
});
|
|
506
591
|
},
|
|
592
|
+
hidden: data.previewCurrent !== 'card'
|
|
507
593
|
},
|
|
508
594
|
{
|
|
509
595
|
label: "登录按钮内边距设置:",
|
|
@@ -517,12 +603,14 @@ export default {
|
|
|
517
603
|
placeholder: '请设置边距',
|
|
518
604
|
inline: false,
|
|
519
605
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
606
|
+
hidden: data.previewCurrent !== 'card'
|
|
520
607
|
},
|
|
521
608
|
{
|
|
522
609
|
ele: "title",
|
|
523
610
|
label: "我的优惠券样式配置",
|
|
524
611
|
size: "small",
|
|
525
612
|
groupKey: "style",
|
|
613
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
526
614
|
},
|
|
527
615
|
{
|
|
528
616
|
label: "优惠券左侧背景色设置:",
|
|
@@ -530,6 +618,7 @@ export default {
|
|
|
530
618
|
valueKey: "couponLeftBgColor",
|
|
531
619
|
value: data.couponLeftBgColor || 'linear-gradient(180deg, #FFA852 0%, #FF5733 100%)',
|
|
532
620
|
groupKey:'style',
|
|
621
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
533
622
|
},
|
|
534
623
|
{
|
|
535
624
|
label: "圆角设置",
|
|
@@ -549,6 +638,7 @@ export default {
|
|
|
549
638
|
console.error(error);
|
|
550
639
|
});
|
|
551
640
|
},
|
|
641
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
552
642
|
},
|
|
553
643
|
{
|
|
554
644
|
label: "优惠券标题背景颜色设置:",
|
|
@@ -559,7 +649,8 @@ export default {
|
|
|
559
649
|
setting: {
|
|
560
650
|
showAlpha: true,
|
|
561
651
|
isAlpha: true
|
|
562
|
-
}
|
|
652
|
+
},
|
|
653
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
563
654
|
},
|
|
564
655
|
{
|
|
565
656
|
label: "去使用按钮文字背景色设置: ",
|
|
@@ -583,6 +674,7 @@ export default {
|
|
|
583
674
|
data.cb([])
|
|
584
675
|
});
|
|
585
676
|
},
|
|
677
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
586
678
|
},
|
|
587
679
|
{
|
|
588
680
|
label: "按钮内边距设置:",
|
|
@@ -596,6 +688,7 @@ export default {
|
|
|
596
688
|
placeholder: '请设置边距',
|
|
597
689
|
inline: false,
|
|
598
690
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
691
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
599
692
|
},
|
|
600
693
|
{
|
|
601
694
|
label: "按钮圆角设置",
|
|
@@ -615,6 +708,7 @@ export default {
|
|
|
615
708
|
console.error(error);
|
|
616
709
|
});
|
|
617
710
|
},
|
|
711
|
+
hidden: data.previewCurrent !== 'coupon'
|
|
618
712
|
},
|
|
619
713
|
{
|
|
620
714
|
label: '票券绑定跳转路径:', //label
|
|
@@ -39,17 +39,18 @@
|
|
|
39
39
|
<view class="JfbBaseNotice">
|
|
40
40
|
<!--notice-->
|
|
41
41
|
<view class="jfb-base-tfk-card-login__body-line" v-if="!notice"></view>
|
|
42
|
-
<view
|
|
42
|
+
<view class="jfb-base-tfk-card-login__body-notice" :style="noticeWrapBoxStyle" v-if="notice">
|
|
43
43
|
<view
|
|
44
44
|
class="jfb-base-tfk-card-login__body-notice-in"
|
|
45
|
-
:style="
|
|
45
|
+
:style="noticeBoxStyle"
|
|
46
46
|
>
|
|
47
47
|
<xd-notice-bar
|
|
48
48
|
style="width: 100%"
|
|
49
|
+
:color="noticeFont.color"
|
|
49
50
|
:showIcon="true"
|
|
50
51
|
:scrollable="true"
|
|
51
52
|
:speed="20"
|
|
52
|
-
:fontSize="
|
|
53
|
+
:fontSize="noticeFont.size"
|
|
53
54
|
:height="70"
|
|
54
55
|
:is-no-bgc="false"
|
|
55
56
|
>
|
|
@@ -59,15 +60,14 @@
|
|
|
59
60
|
</xd-notice-bar>
|
|
60
61
|
</view>
|
|
61
62
|
</view>
|
|
62
|
-
<view class="jfb-base-tfk-card-login__body-notice" v-if="noticeStatus && isPreview && notice === ''">
|
|
63
|
+
<view class="jfb-base-tfk-card-login__body-notice" :style="noticeWrapBoxStyle" v-if="noticeStatus && isPreview && notice === ''">
|
|
63
64
|
<view
|
|
64
65
|
class="jfb-base-tfk-card-login__body-notice-in"
|
|
65
|
-
:style="{
|
|
66
|
-
background: noticeBackgroundColor,
|
|
66
|
+
:style="[noticeBoxStyle, {
|
|
67
67
|
textAlign: 'center',
|
|
68
68
|
color: dangerColor,
|
|
69
69
|
fontSize: 26 + 'rpx',
|
|
70
|
-
}">该组件未配置数据,因此改模块在正式环境将不显示</view>
|
|
70
|
+
}]">该组件未配置数据,因此改模块在正式环境将不显示</view>
|
|
71
71
|
</view>
|
|
72
72
|
<!--notice end-->
|
|
73
73
|
</view>
|
|
@@ -200,6 +200,10 @@
|
|
|
200
200
|
couponUseBtnPadding: {},
|
|
201
201
|
couponBtnRadius: 16,
|
|
202
202
|
couponLeftBgColor: "",
|
|
203
|
+
noticeBgColor: "",
|
|
204
|
+
noticeMargin: {},
|
|
205
|
+
noticePadding: {},
|
|
206
|
+
noticeFont: {},
|
|
203
207
|
}
|
|
204
208
|
},
|
|
205
209
|
computed: {
|
|
@@ -348,6 +352,26 @@
|
|
|
348
352
|
borderRadius: this.couponRadius + 'rpx',
|
|
349
353
|
})
|
|
350
354
|
},
|
|
355
|
+
noticeWrapBoxStyle(){
|
|
356
|
+
let padding = `${this.checkValue(this.noticeMargin.top, 20)}rpx`;
|
|
357
|
+
padding = `${padding} ${this.checkValue(this.noticeMargin.right, 20)}rpx`;
|
|
358
|
+
padding = `${padding} ${this.checkValue(this.noticeMargin.bottom, 20)}rpx`;
|
|
359
|
+
padding = `${padding} ${this.checkValue(this.noticeMargin.left, 20)}rpx`;
|
|
360
|
+
|
|
361
|
+
return this.styleObjectToString({
|
|
362
|
+
padding: padding,
|
|
363
|
+
})
|
|
364
|
+
},
|
|
365
|
+
noticeBoxStyle(){
|
|
366
|
+
let padding = `${this.checkValue(this.noticePadding.top, 20)}rpx`;
|
|
367
|
+
padding = `${padding} ${this.checkValue(this.noticePadding.right, 20)}rpx`;
|
|
368
|
+
padding = `${padding} ${this.checkValue(this.noticePadding.bottom, 20)}rpx`;
|
|
369
|
+
padding = `${padding} ${this.checkValue(this.noticePadding.left, 20)}rpx`;
|
|
370
|
+
return this.styleObjectToString({
|
|
371
|
+
padding: padding,
|
|
372
|
+
background: this.noticeBgColor
|
|
373
|
+
})
|
|
374
|
+
}
|
|
351
375
|
},
|
|
352
376
|
watch: {
|
|
353
377
|
container(value, oldValue) {
|
|
@@ -393,8 +417,12 @@
|
|
|
393
417
|
this.couponUseBtnPadding = getContainerPropsValue(value, "content.couponUseBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
|
|
394
418
|
this.couponBtnRadius = getContainerPropsValue(value, "content.couponBtnRadius", 16);
|
|
395
419
|
this.couponLeftBgColor = getContainerPropsValue(value, "content.couponLeftBgColor", "");
|
|
420
|
+
this.noticeBgColor = getContainerPropsValue(value, "content.noticeBgColor", "");
|
|
421
|
+
this.noticeMargin = getContainerPropsValue(value, "content.noticeMargin", {top: 20, left: 20, right: 20, bottom: 20});
|
|
422
|
+
this.noticePadding = getContainerPropsValue(value, "content.noticePadding", {top: 20, left: 20, right: 20, bottom: 20});
|
|
423
|
+
this.noticeFont = getContainerPropsValue(value, "content.noticeFont", {});
|
|
396
424
|
|
|
397
|
-
console.log(this.
|
|
425
|
+
console.log(this.noticeFont, 'noticeFont')
|
|
398
426
|
|
|
399
427
|
if(this.$configProject.isPreview){
|
|
400
428
|
this.menuType = this.previewCurrent;
|
|
@@ -472,19 +500,12 @@
|
|
|
472
500
|
}
|
|
473
501
|
&-notice {
|
|
474
502
|
width: 100%;
|
|
475
|
-
|
|
476
|
-
height: unit(80, rpx);
|
|
477
|
-
position: relative;
|
|
503
|
+
box-sizing: border-box;
|
|
478
504
|
&-in {
|
|
479
|
-
position: absolute;
|
|
480
|
-
left: unit(-30, rpx);
|
|
481
|
-
top: unit(0, rpx);
|
|
482
|
-
right: unit(-30, rpx);
|
|
483
|
-
bottom: 0;
|
|
484
505
|
display: flex;
|
|
485
|
-
padding: 0 unit(30, rpx);
|
|
486
506
|
overflow: hidden;
|
|
487
507
|
align-items: center;
|
|
508
|
+
box-sizing: border-box;
|
|
488
509
|
}
|
|
489
510
|
|
|
490
511
|
}
|
|
@@ -569,7 +590,11 @@
|
|
|
569
590
|
}
|
|
570
591
|
}
|
|
571
592
|
}
|
|
572
|
-
.coupon_list{
|
|
593
|
+
.coupon_list{
|
|
594
|
+
::v-deep .xd-coupon_item{
|
|
595
|
+
margin: var(--card-list-margin) 0;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
573
598
|
.no_more_card{
|
|
574
599
|
text-align: center;
|
|
575
600
|
padding: 20rpx 0;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
import CusAttr from "./CusAttr";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @description 当表单组件中有联动操作时候,使用方法进行返回
|
|
@@ -8,50 +9,36 @@ export default {
|
|
|
8
9
|
content: (data) => {
|
|
9
10
|
return [
|
|
10
11
|
{
|
|
11
|
-
label: '
|
|
12
|
-
ele: 'xd-
|
|
13
|
-
valueKey: '
|
|
14
|
-
value: data
|
|
15
|
-
|
|
16
|
-
classNmae: 'input80',
|
|
12
|
+
label: '是否支持聚好兑:',
|
|
13
|
+
ele: 'xd-radio',
|
|
14
|
+
valueKey: 'isShowExchange',
|
|
15
|
+
value: data['isShowExchange'] || "N",
|
|
16
|
+
groupKey:'content',
|
|
17
17
|
rules: [
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
18
|
+
{required: true, message: '请选择', trigger: ['blur', 'change']}
|
|
19
|
+
],
|
|
20
|
+
list: [
|
|
21
|
+
{"label": "支持", "value": "Y"},
|
|
22
|
+
{"label": "不支持", "value": "N"},
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
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: '高度:',
|
|
26
|
+
label: '外边间距:',
|
|
36
27
|
ele: 'el-input',
|
|
37
28
|
type: 'number',
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
required: true,
|
|
45
|
-
message: '请输入占位框高度',
|
|
46
|
-
trigger: 'blur'
|
|
47
|
-
},
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: '', //label
|
|
52
|
-
ele: 'slot', //package 名称
|
|
53
|
-
slot: 'is_reference',
|
|
29
|
+
groupKey:'style',
|
|
30
|
+
valueKey: 'outSpacing',
|
|
31
|
+
value: data['outSpacing'] || '',
|
|
32
|
+
notice: '外边间距设置,单位:像素,默认值:<span style="color:red">20</span> px',
|
|
33
|
+
inline: false,
|
|
34
|
+
className: 'input60',
|
|
54
35
|
},
|
|
36
|
+
|
|
37
|
+
//todo
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
//列表相关属性
|
|
41
|
+
...CusAttr(data),
|
|
55
42
|
].filter(i=>i)
|
|
56
43
|
},
|
|
57
44
|
advanced: [],
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<view class="content" @click="handleCinemaDetail">
|
|
3
|
+
<view class="title">{{item['cinema_name']}}</view>
|
|
4
|
+
<view class="address">{{item['address']}}</view>
|
|
5
|
+
<view class="bottom">
|
|
6
|
+
<view class="distance">
|
|
7
|
+
<template v-if="item['distance']">
|
|
8
|
+
<xd-font-icon size="26" icon="icondizhi" :color="color.SEAT"></xd-font-icon>
|
|
9
|
+
<text :style="{color: color.SEAT}">{{item['distance']}}</text>
|
|
10
|
+
</template>
|
|
11
|
+
</view>
|
|
12
|
+
<view class="btn">
|
|
13
|
+
<!--不展示核销类型【SELL】-->
|
|
14
|
+
<view
|
|
15
|
+
v-for="(name,index) in item['cinema_type_name']"
|
|
16
|
+
v-if="item['cinema_type'][index] !== 'SELL'"
|
|
17
|
+
:key="index"
|
|
18
|
+
@click.stop="handleBtn(item['cinema_type'][index])"
|
|
19
|
+
:style="{
|
|
20
|
+
backgroundColor:color[item['cinema_type'][index]],
|
|
21
|
+
color:'#fff'
|
|
22
|
+
}">{{name}}</view>
|
|
23
|
+
</view>
|
|
24
|
+
</view>
|
|
25
|
+
</view>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
import XdButton from "@/components/XdButton/XdButton.vue";
|
|
30
|
+
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon.vue";
|
|
31
|
+
|
|
32
|
+
export default {
|
|
33
|
+
name:'ContentCinema',
|
|
34
|
+
components:{
|
|
35
|
+
XdButton,
|
|
36
|
+
XdFontIcon
|
|
37
|
+
},
|
|
38
|
+
props:{
|
|
39
|
+
item:Object,
|
|
40
|
+
color: {
|
|
41
|
+
type: Object,
|
|
42
|
+
default: {}
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
},
|
|
46
|
+
data(){
|
|
47
|
+
return {
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
created() {
|
|
52
|
+
|
|
53
|
+
},
|
|
54
|
+
methods:{
|
|
55
|
+
handleCinemaDetail(){
|
|
56
|
+
//优先在线选座
|
|
57
|
+
if(this.item['cinema_type'].includes('SEAT')) {
|
|
58
|
+
this.handleSchedule();
|
|
59
|
+
return
|
|
60
|
+
}
|
|
61
|
+
if(this.item['cinema_type'].includes('CODE')) {
|
|
62
|
+
this.handleCodeDetail();
|
|
63
|
+
return
|
|
64
|
+
}
|
|
65
|
+
if(this.item['cinema_type'].includes('SELL')) {
|
|
66
|
+
this.handleCashierDetail();
|
|
67
|
+
return
|
|
68
|
+
}
|
|
69
|
+
console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
handleBtn(code){
|
|
73
|
+
if(code === 'SEAT') this.handleSchedule();
|
|
74
|
+
else if(code === 'CODE') this.handleCodeDetail();
|
|
75
|
+
else if(code === 'SELL') this.handleCashierDetail();
|
|
76
|
+
else console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
//电子码
|
|
80
|
+
handleCodeDetail(){
|
|
81
|
+
console.warn(`handleCodeDetail`)
|
|
82
|
+
this.$emit('on-code-detail', this.item);
|
|
83
|
+
},
|
|
84
|
+
//核销
|
|
85
|
+
handleCashierDetail(){
|
|
86
|
+
console.warn(`handleCashierDetail`)
|
|
87
|
+
this.$emit('on-cashier-detail', this.item);
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
//选座排期
|
|
91
|
+
handleSchedule(){
|
|
92
|
+
console.warn(`handleSchedule`)
|
|
93
|
+
this.$emit('on-schedule', this.item);
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
</script>
|
|
98
|
+
|
|
99
|
+
<style scoped lang="less">
|
|
100
|
+
.content {
|
|
101
|
+
.title {
|
|
102
|
+
font-size: 32rpx;
|
|
103
|
+
line-height: 40rpx;
|
|
104
|
+
margin-bottom: 20rpx;
|
|
105
|
+
color: #333;
|
|
106
|
+
font-weight: 500;
|
|
107
|
+
}
|
|
108
|
+
.address {
|
|
109
|
+
font-size: 24rpx;
|
|
110
|
+
line-height: 30rpx;
|
|
111
|
+
color: #999;
|
|
112
|
+
margin-bottom: 15rpx;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.bottom {
|
|
116
|
+
display: flex;
|
|
117
|
+
justify-content: space-between;
|
|
118
|
+
align-items: center;
|
|
119
|
+
margin-top: 30rpx;
|
|
120
|
+
|
|
121
|
+
& > .distance {
|
|
122
|
+
display: flex;
|
|
123
|
+
justify-content: flex-start;
|
|
124
|
+
align-items: center;
|
|
125
|
+
|
|
126
|
+
& > text {
|
|
127
|
+
margin-left: 10rpx;
|
|
128
|
+
font-size: 24rpx;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
& > .btn {
|
|
133
|
+
display: flex;
|
|
134
|
+
justify-content: flex-end;
|
|
135
|
+
align-items: center;
|
|
136
|
+
|
|
137
|
+
& > view {
|
|
138
|
+
margin-left: 10rpx;
|
|
139
|
+
padding: 0 30rpx;
|
|
140
|
+
line-height: 60rpx;
|
|
141
|
+
border-radius: 30rpx;
|
|
142
|
+
font-size: 26rpx;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
</style>
|