jufubao-base 1.0.169-beta2 → 1.0.169-beta20
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/JfbBaseHeader/JfbBaseHeader.vue +2 -2
- package/src/components/JfbBaseLogin/Attr.js +54 -16
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +3 -1
- package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
- package/src/components/JfbBaseOrderDetail/Api.js +12 -7
- package/src/components/JfbBaseOrderDetail/Attr.js +28 -14
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +68 -18
- package/src/components/JfbBaseOrderDetail/Mock.js +3 -1
- package/src/components/JfbBaseTfkCardBind/Api.js +49 -30
- package/src/components/JfbBaseTfkCardBind/Attr.js +139 -15
- package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +217 -19
- package/src/components/JfbBaseTfkCardBind/Mock.js +19 -9
- package/src/components/JfbBaseTfkCardDetail/Api.js +11 -0
- package/src/components/JfbBaseTfkCardDetail/Attr.js +158 -7
- package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +159 -17
- package/src/components/JfbBaseTfkCardLogin/Attr.js +490 -4
- package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +393 -106
- package/src/components/JfbBaseTfkCardLogin/Mock.js +6 -536
- package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +75 -19
- package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
- package/src/components/JfbBaseTfkSearch/AllList.vue +350 -0
- package/src/components/JfbBaseTfkSearch/Api.js +11 -42
- package/src/components/JfbBaseTfkSearch/Attr.js +344 -32
- package/src/components/JfbBaseTfkSearch/ContentCinema.vue +157 -0
- package/src/components/JfbBaseTfkSearch/ContentFilm.vue +218 -0
- package/src/components/JfbBaseTfkSearch/ContentProduct.vue +317 -0
- package/src/components/JfbBaseTfkSearch/ContentShop.vue +186 -0
- package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
- package/src/components/JfbBaseTfkSearch/CustomList.vue +453 -0
- package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +286 -35
- package/src/components/JfbBaseTfkSearch/Mock.js +242 -11
- package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
- package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
- package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
- package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
- package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
- package/src/components/JfbBaseTfkSearch/listMixins.js +187 -0
- package/src/mixins/colorCardMixins.js +71 -9
- package/src/mixins/componentsMixins.js +376 -23
- package/src/mixins/posterMixins.js +122 -0
|
@@ -29,6 +29,7 @@ export default {
|
|
|
29
29
|
{ label: "隐藏业务线", value: "N" },
|
|
30
30
|
{ label: "展示业务线", value: "Y" }
|
|
31
31
|
],
|
|
32
|
+
hidden: data.previewCurrent !== 'main'
|
|
32
33
|
},
|
|
33
34
|
{
|
|
34
35
|
label: '票券背景图:',
|
|
@@ -49,6 +50,7 @@ export default {
|
|
|
49
50
|
action: 'action',
|
|
50
51
|
sort: true,
|
|
51
52
|
maxlen: 100,
|
|
53
|
+
hidden: data.previewCurrent !== 'main'
|
|
52
54
|
},
|
|
53
55
|
{
|
|
54
56
|
label: "票券使用规则",
|
|
@@ -279,6 +281,7 @@ export default {
|
|
|
279
281
|
ele: "title",
|
|
280
282
|
size: "small",
|
|
281
283
|
groupKey: 'style',
|
|
284
|
+
hidden: data.previewCurrent !== 'main'
|
|
282
285
|
},
|
|
283
286
|
{
|
|
284
287
|
label: "字体颜色",
|
|
@@ -286,6 +289,7 @@ export default {
|
|
|
286
289
|
valueKey: 'cardFontColor',
|
|
287
290
|
value: data.cardFontColor || '#303133',
|
|
288
291
|
groupKey:'style',
|
|
292
|
+
hidden: data.previewCurrent !== 'main'
|
|
289
293
|
},
|
|
290
294
|
{
|
|
291
295
|
label: "外边距设置",
|
|
@@ -304,6 +308,7 @@ export default {
|
|
|
304
308
|
placeholder: '请设置边距',
|
|
305
309
|
inline: false,
|
|
306
310
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
311
|
+
hidden: data.previewCurrent !== 'main'
|
|
307
312
|
},
|
|
308
313
|
{
|
|
309
314
|
label: "内边距设置",
|
|
@@ -322,15 +327,17 @@ export default {
|
|
|
322
327
|
placeholder: '请设置内边距',
|
|
323
328
|
inline: false,
|
|
324
329
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
330
|
+
hidden: data.previewCurrent !== 'main'
|
|
325
331
|
},
|
|
326
332
|
{
|
|
327
333
|
label: "票券高度",
|
|
328
334
|
ele: "el-input",
|
|
329
335
|
valueKey: 'cardHeight',
|
|
330
|
-
value: data.cardHeight ||
|
|
336
|
+
value: data.cardHeight || 340,
|
|
331
337
|
type: 'number',
|
|
332
338
|
groupKey:'style',
|
|
333
339
|
placeholder: "请输入票券高度",
|
|
340
|
+
hidden: data.previewCurrent !== 'main'
|
|
334
341
|
},
|
|
335
342
|
{
|
|
336
343
|
label: "票券圆角",
|
|
@@ -350,12 +357,14 @@ export default {
|
|
|
350
357
|
console.error(error);
|
|
351
358
|
});
|
|
352
359
|
},
|
|
360
|
+
hidden: data.previewCurrent !== 'main'
|
|
353
361
|
},
|
|
354
362
|
{
|
|
355
363
|
label: "业务板块样式配置",
|
|
356
364
|
ele: 'title',
|
|
357
365
|
size: 'small',
|
|
358
366
|
groupKey: 'style',
|
|
367
|
+
hidden: data.previewCurrent !== 'main'
|
|
359
368
|
},
|
|
360
369
|
{
|
|
361
370
|
label: "业务板块外边距",
|
|
@@ -374,6 +383,7 @@ export default {
|
|
|
374
383
|
placeholder: '请设置内边距',
|
|
375
384
|
inline: false,
|
|
376
385
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。',
|
|
386
|
+
hidden: data.previewCurrent !== 'main'
|
|
377
387
|
},
|
|
378
388
|
{
|
|
379
389
|
label: "业务板块容器内边距",
|
|
@@ -392,13 +402,35 @@ export default {
|
|
|
392
402
|
placeholder: '请设置内边距',
|
|
393
403
|
inline: false,
|
|
394
404
|
notice: '设置内边距,<span style="color: red">单位:像素</span>。',
|
|
405
|
+
hidden: data.previewCurrent !== 'main'
|
|
395
406
|
},
|
|
396
407
|
{
|
|
397
408
|
label: "业务板块背景色",
|
|
398
409
|
groupKey:'style',
|
|
399
410
|
ele: 'xd-color',
|
|
400
411
|
valueKey: 'bussTempBgColor',
|
|
401
|
-
value: data.bussTempBgColor || '
|
|
412
|
+
value: data.bussTempBgColor || '',
|
|
413
|
+
hidden: data.previewCurrent !== 'main'
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
label: "业务板块圆角",
|
|
417
|
+
ele: 'xd-site-select-list',
|
|
418
|
+
valueKey: 'bussTempRadius',
|
|
419
|
+
value: data['bussTempRadius'] || 16,
|
|
420
|
+
groupKey:'style',
|
|
421
|
+
placeholder: '请选择内容圆角设置',
|
|
422
|
+
multiple: false,
|
|
423
|
+
className: 'input80',
|
|
424
|
+
handleCustom({ action, data }) {
|
|
425
|
+
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
426
|
+
.then(res => {
|
|
427
|
+
data.cb(res.list)
|
|
428
|
+
})
|
|
429
|
+
.catch(error => {
|
|
430
|
+
console.error(error);
|
|
431
|
+
});
|
|
432
|
+
},
|
|
433
|
+
hidden: data.previewCurrent !== 'main'
|
|
402
434
|
},
|
|
403
435
|
{
|
|
404
436
|
label: "单项业务外边距",
|
|
@@ -417,6 +449,7 @@ export default {
|
|
|
417
449
|
placeholder: '请设置外边距',
|
|
418
450
|
inline: false,
|
|
419
451
|
notice: '设置外边距,<span style="color: red">单位:像素</span>。',
|
|
452
|
+
hidden: data.previewCurrent !== 'main' || data.showBusinessList !== 'Y'
|
|
420
453
|
},
|
|
421
454
|
{
|
|
422
455
|
label: "单项业务宽度",
|
|
@@ -427,12 +460,14 @@ export default {
|
|
|
427
460
|
type: "number",
|
|
428
461
|
className: 'input70',
|
|
429
462
|
placeholder: "请输入单项业务宽度",
|
|
463
|
+
hidden: data.previewCurrent !== 'main' || data.showBusinessList !== 'Y'
|
|
430
464
|
},
|
|
431
465
|
{
|
|
432
466
|
label: "使用规则、提货码样式配置",
|
|
433
467
|
ele: 'title',
|
|
434
468
|
size: 'small',
|
|
435
469
|
groupKey:'style',
|
|
470
|
+
hidden: data.previewCurrent !== 'main'
|
|
436
471
|
},
|
|
437
472
|
{
|
|
438
473
|
label: "外边距",
|
|
@@ -451,6 +486,7 @@ export default {
|
|
|
451
486
|
placeholder: '请设置外边距',
|
|
452
487
|
inline: false,
|
|
453
488
|
notice: '设置外边距,<span style="color: red">单位:像素</span>。',
|
|
489
|
+
hidden: data.previewCurrent !== 'main'
|
|
454
490
|
},
|
|
455
491
|
{
|
|
456
492
|
label: "单项内边距",
|
|
@@ -468,7 +504,8 @@ export default {
|
|
|
468
504
|
},
|
|
469
505
|
placeholder: '请设置内边距',
|
|
470
506
|
inline: false,
|
|
471
|
-
notice: '设置内边距,<span style="color: red">单位:像素</span>。'
|
|
507
|
+
notice: '设置内边距,<span style="color: red">单位:像素</span>。',
|
|
508
|
+
hidden: data.previewCurrent !== 'main'
|
|
472
509
|
},
|
|
473
510
|
{
|
|
474
511
|
label: "单项间隔距离",
|
|
@@ -479,12 +516,42 @@ export default {
|
|
|
479
516
|
type: "number",
|
|
480
517
|
className: 'input70',
|
|
481
518
|
placeholder: "请输入间隔距离",
|
|
519
|
+
hidden: data.previewCurrent !== 'main'
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
label: "单项背景色",
|
|
523
|
+
groupKey:'style',
|
|
524
|
+
ele: 'xd-color',
|
|
525
|
+
valueKey: 'listColBgColor',
|
|
526
|
+
value: data.listColBgColor || '#ffffff',
|
|
527
|
+
hidden: data.previewCurrent !== 'main'
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
label: "单项圆角",
|
|
531
|
+
ele: 'xd-site-select-list',
|
|
532
|
+
valueKey: 'listColRadius',
|
|
533
|
+
value: data['listColRadius'] || 16,
|
|
534
|
+
groupKey:'style',
|
|
535
|
+
placeholder: '请选择内容圆角设置',
|
|
536
|
+
multiple: false,
|
|
537
|
+
className: 'input80',
|
|
538
|
+
handleCustom({ action, data }) {
|
|
539
|
+
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
540
|
+
.then(res => {
|
|
541
|
+
data.cb(res.list)
|
|
542
|
+
})
|
|
543
|
+
.catch(error => {
|
|
544
|
+
console.error(error);
|
|
545
|
+
});
|
|
546
|
+
},
|
|
547
|
+
hidden: data.previewCurrent !== 'main'
|
|
482
548
|
},
|
|
483
549
|
{
|
|
484
550
|
label: "提货码详情样式配置",
|
|
485
551
|
ele: 'title',
|
|
486
552
|
size: 'small',
|
|
487
553
|
groupKey:'style',
|
|
554
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
488
555
|
},
|
|
489
556
|
{
|
|
490
557
|
label: "提货码详情外边距",
|
|
@@ -502,7 +569,8 @@ export default {
|
|
|
502
569
|
},
|
|
503
570
|
placeholder: '请设置外边距',
|
|
504
571
|
inline: false,
|
|
505
|
-
notice: '设置外边距,<span style="color: red">单位:像素</span>'
|
|
572
|
+
notice: '设置外边距,<span style="color: red">单位:像素</span>',
|
|
573
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
506
574
|
},
|
|
507
575
|
{
|
|
508
576
|
label: "提货码详情内边距",
|
|
@@ -520,7 +588,8 @@ export default {
|
|
|
520
588
|
},
|
|
521
589
|
placeholder: '请设置内边距',
|
|
522
590
|
inline: false,
|
|
523
|
-
notice: '设置外边距,<span style="color: red">单位:像素</span>'
|
|
591
|
+
notice: '设置外边距,<span style="color: red">单位:像素</span>',
|
|
592
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
524
593
|
},
|
|
525
594
|
{
|
|
526
595
|
label: "提货码详情背景色",
|
|
@@ -528,6 +597,53 @@ export default {
|
|
|
528
597
|
ele: 'xd-color',
|
|
529
598
|
valueKey: 'codeDetailBgColor',
|
|
530
599
|
value: data.codeDetailBgColor || '#ffffff',
|
|
600
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
label: "提货码详情圆角",
|
|
604
|
+
ele: 'xd-site-select-list',
|
|
605
|
+
valueKey: 'codeDetailRadius',
|
|
606
|
+
value: data['codeDetailRadius'] || 16,
|
|
607
|
+
groupKey:'style',
|
|
608
|
+
placeholder: '请选择内容圆角设置',
|
|
609
|
+
multiple: false,
|
|
610
|
+
className: 'input80',
|
|
611
|
+
handleCustom({ action, data }) {
|
|
612
|
+
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
613
|
+
.then(res => {
|
|
614
|
+
data.cb(res.list)
|
|
615
|
+
})
|
|
616
|
+
.catch(error => {
|
|
617
|
+
console.error(error);
|
|
618
|
+
});
|
|
619
|
+
},
|
|
620
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
label: "提货码详情边框",
|
|
624
|
+
ele: "xd-border",
|
|
625
|
+
valueKey: 'codeDetailBorder',
|
|
626
|
+
value: data.codeDetailBorder || null,
|
|
627
|
+
groupKey:'style',
|
|
628
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
label: "提货码详情边框阴影",
|
|
632
|
+
ele: "xd-shadow",
|
|
633
|
+
valueKey: 'codeDetailShadow',
|
|
634
|
+
value: data.codeDetailShadow || null,
|
|
635
|
+
groupKey:'style',
|
|
636
|
+
handleCustom({action, data}) {
|
|
637
|
+
XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
|
|
638
|
+
.then(res => {
|
|
639
|
+
data.cb(res.list)
|
|
640
|
+
})
|
|
641
|
+
.catch(error => {
|
|
642
|
+
console.error(error);
|
|
643
|
+
data.cb([])
|
|
644
|
+
});
|
|
645
|
+
},
|
|
646
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
531
647
|
},
|
|
532
648
|
{
|
|
533
649
|
label: "二维码长宽设置",
|
|
@@ -538,6 +654,7 @@ export default {
|
|
|
538
654
|
type: "number",
|
|
539
655
|
className: 'input70',
|
|
540
656
|
placeholder: "请输入二维码长宽",
|
|
657
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
541
658
|
},
|
|
542
659
|
{
|
|
543
660
|
label: "向商家付款前置图标配置",
|
|
@@ -548,6 +665,7 @@ export default {
|
|
|
548
665
|
type: "text",
|
|
549
666
|
className: 'input70',
|
|
550
667
|
placeholder: "请输入图标代码",
|
|
668
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
551
669
|
},
|
|
552
670
|
{
|
|
553
671
|
label: "刷新二维码图标配置",
|
|
@@ -558,12 +676,14 @@ export default {
|
|
|
558
676
|
type: "text",
|
|
559
677
|
className: 'input70',
|
|
560
678
|
placeholder: "请输入图标代码",
|
|
679
|
+
hidden: data.previewCurrent !== 'pickup'
|
|
561
680
|
},
|
|
562
681
|
{
|
|
563
682
|
label: "规则详情样式配置",
|
|
564
683
|
ele: 'title',
|
|
565
684
|
size: 'small',
|
|
566
685
|
groupKey:'style',
|
|
686
|
+
hidden: data.previewCurrent !== 'rule'
|
|
567
687
|
},
|
|
568
688
|
{
|
|
569
689
|
label: "规则详情外边距",
|
|
@@ -581,7 +701,8 @@ export default {
|
|
|
581
701
|
},
|
|
582
702
|
placeholder: '请设置外边距',
|
|
583
703
|
inline: false,
|
|
584
|
-
notice: '设置外边距,<span style="color: red">单位:像素</span>'
|
|
704
|
+
notice: '设置外边距,<span style="color: red">单位:像素</span>',
|
|
705
|
+
hidden: data.previewCurrent !== 'rule'
|
|
585
706
|
},
|
|
586
707
|
{
|
|
587
708
|
label: "规则详情内边距",
|
|
@@ -599,7 +720,8 @@ export default {
|
|
|
599
720
|
},
|
|
600
721
|
placeholder: '请设置内边距',
|
|
601
722
|
inline: false,
|
|
602
|
-
notice: '设置外边距,<span style="color: red">单位:像素</span>'
|
|
723
|
+
notice: '设置外边距,<span style="color: red">单位:像素</span>',
|
|
724
|
+
hidden: data.previewCurrent !== 'rule'
|
|
603
725
|
},
|
|
604
726
|
{
|
|
605
727
|
label: "规则详情背景色",
|
|
@@ -607,6 +729,35 @@ export default {
|
|
|
607
729
|
ele: 'xd-color',
|
|
608
730
|
valueKey: 'ruleDetailBgColor',
|
|
609
731
|
value: data.ruleDetailBgColor || '#ffffff',
|
|
732
|
+
hidden: data.previewCurrent !== 'rule'
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
label: "规则字体颜色",
|
|
736
|
+
groupKey:'style',
|
|
737
|
+
ele: 'xd-color',
|
|
738
|
+
valueKey: 'ruleDetailFontColor',
|
|
739
|
+
value: data.ruleDetailFontColor || '#303133',
|
|
740
|
+
hidden: data.previewCurrent !== 'rule'
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
label: "规则信息边框圆角",
|
|
744
|
+
ele: 'xd-site-select-list',
|
|
745
|
+
valueKey: 'ruleDetailRadius',
|
|
746
|
+
value: data.ruleDetailRadius || '0',
|
|
747
|
+
groupKey:'style',
|
|
748
|
+
placeholder: '请选择内容圆角设置',
|
|
749
|
+
multiple: false,
|
|
750
|
+
className: 'input80',
|
|
751
|
+
handleCustom({ action, data }) {
|
|
752
|
+
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
753
|
+
.then(res => {
|
|
754
|
+
data.cb(res.list)
|
|
755
|
+
})
|
|
756
|
+
.catch(error => {
|
|
757
|
+
console.error(error);
|
|
758
|
+
});
|
|
759
|
+
},
|
|
760
|
+
hidden: data.previewCurrent !== 'rule'
|
|
610
761
|
}
|
|
611
762
|
].filter(i=>i)
|
|
612
763
|
},
|
|
@@ -48,7 +48,9 @@
|
|
|
48
48
|
<view class="bus_title">进入业务板块</view>
|
|
49
49
|
<view class="bus_list">
|
|
50
50
|
<view class="bus_item" v-for="(item, i) in businessList" :key="i"
|
|
51
|
-
:style="businessItemBox"
|
|
51
|
+
:style="businessItemBox"
|
|
52
|
+
@click="handleBusinessLogin(item)"
|
|
53
|
+
>
|
|
52
54
|
<view class="bus_img">
|
|
53
55
|
<image :src="item.image_url" />
|
|
54
56
|
</view>
|
|
@@ -57,17 +59,17 @@
|
|
|
57
59
|
</view>
|
|
58
60
|
</view>
|
|
59
61
|
<view v-else>
|
|
60
|
-
<xd-button type="primary">立即使用</xd-button>
|
|
62
|
+
<xd-button type="primary" @click="doCardLogin()">立即使用</xd-button>
|
|
61
63
|
</view>
|
|
62
64
|
</view>
|
|
63
65
|
<view class="list_col_wrap" :style="listColWrapBoxStyle">
|
|
64
|
-
<view class="list_item" :style="listColItemStyle">
|
|
66
|
+
<view class="list_item" :style="listColItemStyle" @click="switchModule('rule')">
|
|
65
67
|
<view class="list_title">使用规则</view>
|
|
66
68
|
<view class="list_icon">
|
|
67
69
|
<xd-font-icon icon="iconxiangyou_xian" size="24"></xd-font-icon>
|
|
68
70
|
</view>
|
|
69
71
|
</view>
|
|
70
|
-
<view class="list_item" :style="listColItemStyle">
|
|
72
|
+
<view class="list_item" :style="listColItemStyle" @click="switchModule('pickup')">
|
|
71
73
|
<view class="list_title">提货码</view>
|
|
72
74
|
<view class="list_icon">
|
|
73
75
|
<xd-font-icon icon="iconxiangyou_xian" size="24"></xd-font-icon>
|
|
@@ -114,7 +116,9 @@
|
|
|
114
116
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
115
117
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
116
118
|
import extsMixins from "@/mixins/extsMixins";
|
|
119
|
+
import colorCardMixins from "@/mixins/colorCardMixins";
|
|
117
120
|
import getServiceUrl from '@/common/getServiceUrl'
|
|
121
|
+
import { mapState, mapActions } from "vuex";
|
|
118
122
|
export default {
|
|
119
123
|
name: "JfbBaseTfkCardDetail",
|
|
120
124
|
components: {
|
|
@@ -123,7 +127,7 @@
|
|
|
123
127
|
XdUnit,
|
|
124
128
|
},
|
|
125
129
|
mixins: [
|
|
126
|
-
componentsMixins, extsMixins, JfbBaseTfkCardDetailMixin
|
|
130
|
+
componentsMixins, extsMixins, JfbBaseTfkCardDetailMixin, colorCardMixins
|
|
127
131
|
],
|
|
128
132
|
data() {
|
|
129
133
|
return {
|
|
@@ -143,7 +147,7 @@
|
|
|
143
147
|
cardInfoMargin: {},
|
|
144
148
|
cardInfoPadding: {},
|
|
145
149
|
cardImageUrl: "",
|
|
146
|
-
cardHeight:
|
|
150
|
+
cardHeight: 340,
|
|
147
151
|
cardRadius: 10,
|
|
148
152
|
bussPadding: {},
|
|
149
153
|
bussMargin: {},
|
|
@@ -163,9 +167,21 @@
|
|
|
163
167
|
payPreIcon: "",
|
|
164
168
|
refreshIcon: "",
|
|
165
169
|
bussWidth: 100,
|
|
170
|
+
codeDetailRadius: 16,
|
|
171
|
+
codeDetailBorder: {},
|
|
172
|
+
codeDetailShadow: {},
|
|
173
|
+
ruleDetailFontColor: "",
|
|
174
|
+
ruleDetailRadius: 0,
|
|
175
|
+
bussTempRadius: 16,
|
|
176
|
+
listColBgColor: "",
|
|
177
|
+
listColRadius: 16,
|
|
166
178
|
}
|
|
167
179
|
},
|
|
168
180
|
computed: {
|
|
181
|
+
...mapState({
|
|
182
|
+
jwxSDK: (state) => state.jwxSDK,
|
|
183
|
+
jfbAuthorize: (state) => state.jfbAuthorize,
|
|
184
|
+
}),
|
|
169
185
|
cardWrapBoxStyle(){
|
|
170
186
|
let padding = `${this.checkValue(this.cardInfoMargin.top, 20)}rpx`;
|
|
171
187
|
padding = `${padding} ${this.checkValue(this.cardInfoMargin.right, 20)}rpx`;
|
|
@@ -191,6 +207,7 @@
|
|
|
191
207
|
margin: margin,
|
|
192
208
|
padding: padding,
|
|
193
209
|
backgroundColor: this.bussTempBgColor,
|
|
210
|
+
borderRadius: this.bussTempRadius + 'rpx',
|
|
194
211
|
})
|
|
195
212
|
},
|
|
196
213
|
|
|
@@ -235,12 +252,12 @@
|
|
|
235
252
|
return bg
|
|
236
253
|
},
|
|
237
254
|
listColWrapBoxStyle(){
|
|
238
|
-
let
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
255
|
+
let padding = `${this.checkValue(this.listColMargin.top, 20)}rpx`;
|
|
256
|
+
padding = `${padding} ${this.checkValue(this.listColMargin.right, 20)}rpx`;
|
|
257
|
+
padding = `${padding} ${this.checkValue(this.listColMargin.bottom, 20)}rpx`;
|
|
258
|
+
padding = `${padding} ${this.checkValue(this.listColMargin.left, 20)}rpx`;
|
|
242
259
|
return this.styleObjectToString({
|
|
243
|
-
|
|
260
|
+
padding: padding,
|
|
244
261
|
})
|
|
245
262
|
},
|
|
246
263
|
listColItemStyle(){
|
|
@@ -251,6 +268,8 @@
|
|
|
251
268
|
return this.styleObjectToString({
|
|
252
269
|
padding,
|
|
253
270
|
marginBottom: this.listColSpace + 'rpx',
|
|
271
|
+
backgroundColor: this.listColBgColor,
|
|
272
|
+
borderRadius: this.listColRadius + 'rpx',
|
|
254
273
|
})
|
|
255
274
|
},
|
|
256
275
|
ruleDetailBoxStyle(){
|
|
@@ -266,9 +285,21 @@
|
|
|
266
285
|
margin: margin,
|
|
267
286
|
padding: padding,
|
|
268
287
|
backgroundColor: this.ruleDetailBgColor,
|
|
288
|
+
color: this.ruleDetailFontColor,
|
|
289
|
+
borderRadius: this.ruleDetailRadius + 'rpx',
|
|
269
290
|
})
|
|
270
291
|
},
|
|
271
292
|
codeDetailBoxStyle(){
|
|
293
|
+
let border = "none";
|
|
294
|
+
let boxShadow = "none";
|
|
295
|
+
if(this.codeDetailBorder && this.codeDetailBorder.type === 'Y'){
|
|
296
|
+
let { width, color } = this.codeDetailBorder.value || {};
|
|
297
|
+
border = `${width || 0}rpx solid ${color || 'transparent'}`;
|
|
298
|
+
}
|
|
299
|
+
if(this.codeDetailShadow && this.codeDetailShadow.type === 'Y'){
|
|
300
|
+
let { width, color } = this.codeDetailShadow.value || {};
|
|
301
|
+
boxShadow = `0 0 ${width || 0}rpx ${color || 'transparent'}`;
|
|
302
|
+
}
|
|
272
303
|
let padding = `${this.checkValue(this.codeDetailPadding.top, 20)}rpx`;
|
|
273
304
|
padding = `${padding} ${this.checkValue(this.codeDetailPadding.right, 20)}rpx`;
|
|
274
305
|
padding = `${padding} ${this.checkValue(this.codeDetailPadding.bottom, 20)}rpx`;
|
|
@@ -281,6 +312,9 @@
|
|
|
281
312
|
margin: margin,
|
|
282
313
|
padding: padding,
|
|
283
314
|
backgroundColor: this.codeDetailBgColor,
|
|
315
|
+
borderRadius: this.codeDetailRadius + 'rpx',
|
|
316
|
+
border: border,
|
|
317
|
+
boxShadow: boxShadow,
|
|
284
318
|
})
|
|
285
319
|
},
|
|
286
320
|
qrcodeBoxStyle(){
|
|
@@ -318,12 +352,12 @@
|
|
|
318
352
|
this.cardInfoMargin = getContainerPropsValue(value, 'content.cardInfoMargin', {top: 20, left: 20, right: 20, bottom: 20});
|
|
319
353
|
this.cardInfoPadding = getContainerPropsValue(value, 'content.cardInfoPadding', {top: 20, left: 20, right: 20, bottom: 20});
|
|
320
354
|
this.cardImageUrl = getContainerPropsValue(value, 'content.cardImageUrl', '');
|
|
321
|
-
this.cardHeight = getContainerPropsValue(value, 'content.cardHeight',
|
|
355
|
+
this.cardHeight = getContainerPropsValue(value, 'content.cardHeight', 340);
|
|
322
356
|
this.cardRadius = getContainerPropsValue(value, 'content.cardRadius', 16);
|
|
323
357
|
this.bussPadding = getContainerPropsValue(value, 'content.bussPadding', {top: 20, left: 20, right: 20, bottom: 20});
|
|
324
358
|
this.bussMargin = getContainerPropsValue(value, 'content.bussMargin', {top: 20, left: 20, right: 20, bottom: 20});
|
|
325
359
|
this.bussTempMargin = getContainerPropsValue(value, 'content.bussTempMargin', {top: 20, left: 20, right: 20, bottom: 20});
|
|
326
|
-
this.bussTempBgColor = getContainerPropsValue(value, 'content.bussTempBgColor', '
|
|
360
|
+
this.bussTempBgColor = getContainerPropsValue(value, 'content.bussTempBgColor', 'transparent');
|
|
327
361
|
this.listColMargin = getContainerPropsValue(value, 'content.listColMargin', {top: 20, left: 20, right: 20, bottom: 20});
|
|
328
362
|
this.listColPadding = getContainerPropsValue(value, 'content.listColPadding', {top: 20, left: 20, right: 20, bottom: 20});
|
|
329
363
|
this.listColSpace = getContainerPropsValue(value, 'content.listColSpace', 10);
|
|
@@ -338,25 +372,72 @@
|
|
|
338
372
|
this.payPreIcon = getContainerPropsValue(value, 'content.payPreIcon', '');
|
|
339
373
|
this.refreshIcon = getContainerPropsValue(value, 'content.refreshIcon', '');
|
|
340
374
|
this.bussWidth = getContainerPropsValue(value, 'content.bussWidth', 100);
|
|
375
|
+
this.codeDetailRadius = getContainerPropsValue(value, 'content.codeDetailRadius', 16);
|
|
376
|
+
this.codeDetailBorder = getContainerPropsValue(value, 'content.codeDetailBorder', {});
|
|
377
|
+
this.codeDetailShadow = getContainerPropsValue(value, 'content.codeDetailShadow', {});
|
|
378
|
+
this.ruleDetailFontColor = getContainerPropsValue(value, 'content.ruleDetailFontColor', '');
|
|
379
|
+
this.ruleDetailRadius = getContainerPropsValue(value, 'content.ruleDetailRadius', 0);
|
|
380
|
+
this.bussTempRadius = getContainerPropsValue(value, 'content.bussTempRadius', 16);
|
|
381
|
+
this.listColBgColor = getContainerPropsValue(value, 'content.listColBgColor', '#fff');
|
|
382
|
+
this.listColRadius = getContainerPropsValue(value, 'content.listColRadius', 16);
|
|
383
|
+
|
|
384
|
+
console.log(this.codeDetailBorder, 'codeDetailBorder')
|
|
341
385
|
|
|
342
386
|
if(this.$configProject.isPreview){
|
|
343
387
|
this.curModule = this.previewCurrent;
|
|
344
388
|
}
|
|
345
389
|
},
|
|
390
|
+
switchModule(module){
|
|
391
|
+
this.curModule = module;
|
|
392
|
+
},
|
|
393
|
+
handleBusinessLogin(item){
|
|
394
|
+
this.doCardLogin(() => {
|
|
395
|
+
this.handleClick(item);
|
|
396
|
+
})
|
|
397
|
+
},
|
|
398
|
+
doCardLogin(cb){
|
|
399
|
+
this.$xdShowLoading({});
|
|
400
|
+
jfbRootExec("loginTfkCardBind", {
|
|
401
|
+
vm: this,
|
|
402
|
+
data: {
|
|
403
|
+
card_number: this.card_number
|
|
404
|
+
}
|
|
405
|
+
}).then(res => {
|
|
406
|
+
this.$xdHideLoading();
|
|
407
|
+
//#ifdef MP-WEIXIN
|
|
408
|
+
if (this.jfbAuthorize !== null) {
|
|
409
|
+
this.jfbAuthorize.setCardToken(res);
|
|
410
|
+
}
|
|
411
|
+
//#endif
|
|
412
|
+
|
|
413
|
+
if(cb) return cb();
|
|
414
|
+
|
|
415
|
+
if (this.$configProject.isPreview) {
|
|
416
|
+
console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
|
|
417
|
+
} else {
|
|
418
|
+
this.$xdUniHelper.redirectTo({
|
|
419
|
+
url: this.settings.index
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
}).catch((res) => {
|
|
423
|
+
this.$xdHideLoading();
|
|
424
|
+
});
|
|
425
|
+
},
|
|
346
426
|
getCardDetail(){
|
|
347
427
|
jfbRootExec("getTfkCardDetail", {
|
|
348
428
|
vm: this,
|
|
349
429
|
data: {
|
|
350
430
|
card_number: this.card_number,
|
|
351
|
-
is_show_entry_settings: this.showBusinessList,
|
|
431
|
+
is_show_entry_settings: this.curModule === 'main' ? this.showBusinessList : "N",
|
|
352
432
|
}
|
|
353
433
|
}).then(res => {
|
|
354
434
|
this.cardInfo = Object.assign({}, res, {
|
|
355
435
|
other_card_point: res.other_card_point ? this.$xdUniHelper.divisionFloatNumber(res.other_card_point, 100) : 0
|
|
356
436
|
});
|
|
357
|
-
|
|
437
|
+
let businessList = this.filterNotSupportEntry(res.site_entry_settings);
|
|
438
|
+
this.businessList = businessList.filter(item => {
|
|
358
439
|
item['image_url'] = getServiceUrl(item.image_url);
|
|
359
|
-
return item;
|
|
440
|
+
return res.business_codes.includes(item.business_code);
|
|
360
441
|
})
|
|
361
442
|
if(!this.$configProject.isPreview) {
|
|
362
443
|
this.setIntval(res.card_qrcode_expire);
|
|
@@ -365,6 +446,56 @@
|
|
|
365
446
|
}
|
|
366
447
|
})
|
|
367
448
|
},
|
|
449
|
+
handleClick(entry){
|
|
450
|
+
const {dir, path, host, appType} = entry['redirect_data'];
|
|
451
|
+
let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
|
|
452
|
+
let regSp = /(-apiuri\/v)/;
|
|
453
|
+
|
|
454
|
+
if(!appType) entry.redirect_data.appType = 'h5';
|
|
455
|
+
let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
|
|
456
|
+
|
|
457
|
+
//外站配置地址
|
|
458
|
+
if(entry.redirect_type === 'URL') {
|
|
459
|
+
if(regHttp.test(entry.redirect_data['path']) || regSp.test(entry.redirect_data['path'])) {
|
|
460
|
+
this.$xdUniHelper.redirectTo({
|
|
461
|
+
url:`${entry.redirect_data['path']}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
462
|
+
}, false)
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
console.error(`配置错误:${entry.redirect_data['path']}`);
|
|
466
|
+
throw new Error(`配置错误:${entry.redirect_data['path']}`)
|
|
467
|
+
}
|
|
468
|
+
return
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
//站内应用处理
|
|
472
|
+
let jumpUrl = path;
|
|
473
|
+
let cardPathStr = '';
|
|
474
|
+
const {deploy_dir} = this.projectAttr;
|
|
475
|
+
if(host === this.projectAttr.host && deploy_dir !== dir){
|
|
476
|
+
jumpUrl = `//${host}/${dir}${path}`;
|
|
477
|
+
//#ifdef MP-WEIXIN
|
|
478
|
+
jumpUrl = `https:${jumpUrl}`;
|
|
479
|
+
//#endif
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
//#ifdef MP-WEIXIN
|
|
483
|
+
//获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
|
|
484
|
+
if(entry.redirect_data.appType === 'h5') {
|
|
485
|
+
const custom_redirect_data = this.$xdUniHelper.checkVarType(entry['custom_redirect_data']) === 'object'?entry['custom_redirect_data']:{};
|
|
486
|
+
const cardPathObject = this.getCardPath(custom_redirect_data);
|
|
487
|
+
if(cardPathObject !== null) {
|
|
488
|
+
const {cardPath, cardSelf} =cardPathObject
|
|
489
|
+
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
//#endif
|
|
493
|
+
|
|
494
|
+
jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
|
|
495
|
+
console.warn(`entry.path:${jumpUrl}`);
|
|
496
|
+
if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
|
|
497
|
+
else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
|
|
498
|
+
},
|
|
368
499
|
getContent() {
|
|
369
500
|
jfbRootExec("getListBaseNewsContent", {
|
|
370
501
|
vm: this,
|
|
@@ -449,6 +580,8 @@
|
|
|
449
580
|
display: flex;
|
|
450
581
|
flex-direction: column;
|
|
451
582
|
justify-content: space-between;
|
|
583
|
+
font-size: 26rpx;
|
|
584
|
+
box-sizing: border-box;
|
|
452
585
|
.card_top{
|
|
453
586
|
display: flex;
|
|
454
587
|
flex-direction: column;
|
|
@@ -459,6 +592,14 @@
|
|
|
459
592
|
._point{
|
|
460
593
|
font-size: 40rpx;
|
|
461
594
|
font-weight: bold;
|
|
595
|
+
::v-deep .xd-unit{
|
|
596
|
+
height: auto !important;
|
|
597
|
+
font-weight: bold;
|
|
598
|
+
align-items: flex-end;
|
|
599
|
+
.xd-unit__unit{
|
|
600
|
+
line-height: 1.5 !important;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
462
603
|
._unit{
|
|
463
604
|
font-size: 24rpx;
|
|
464
605
|
margin-left: 4rpx;
|
|
@@ -521,7 +662,6 @@
|
|
|
521
662
|
}
|
|
522
663
|
}
|
|
523
664
|
.list_col_wrap{
|
|
524
|
-
margin: 40rpx 0;
|
|
525
665
|
|
|
526
666
|
.list_item{
|
|
527
667
|
display: flex;
|
|
@@ -539,11 +679,13 @@
|
|
|
539
679
|
.code_wrap{
|
|
540
680
|
display: flex;
|
|
541
681
|
flex-direction: column;
|
|
682
|
+
font-size: 28rpx;
|
|
542
683
|
.code_title{
|
|
543
684
|
display: flex;
|
|
544
685
|
align-items: center;
|
|
545
686
|
._title{
|
|
546
687
|
margin-left: 30rpx;
|
|
688
|
+
font-size: 32rpx;
|
|
547
689
|
}
|
|
548
690
|
}
|
|
549
691
|
.barcode{
|