jufubao-base 1.0.169-beta9 → 1.0.170

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.
Files changed (29) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +2 -2
  3. package/src/components/JfbBaseLogin/Attr.js +10 -0
  4. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +6 -1
  5. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
  6. package/src/components/JfbBaseTfkCardBind/Attr.js +80 -7
  7. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +112 -13
  8. package/src/components/JfbBaseTfkCardDetail/Attr.js +49 -1
  9. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +18 -9
  10. package/src/components/JfbBaseTfkCardLogin/Attr.js +223 -13
  11. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +118 -73
  12. package/src/components/JfbBaseTfkCardLogin/Mock.js +5 -535
  13. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +10 -6
  14. package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
  15. package/src/components/JfbBaseTfkSearch/AllList.vue +241 -135
  16. package/src/components/JfbBaseTfkSearch/Api.js +1 -1
  17. package/src/components/JfbBaseTfkSearch/Attr.js +203 -1
  18. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +127 -88
  19. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +14 -5
  20. package/src/components/JfbBaseTfkSearch/ContentShop.vue +2 -0
  21. package/src/components/JfbBaseTfkSearch/CusAttr.js +10 -0
  22. package/src/components/JfbBaseTfkSearch/CustomList.vue +130 -78
  23. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +164 -62
  24. package/src/components/JfbBaseTfkSearch/Mock.js +184 -32
  25. package/src/components/JfbBaseTfkSearch/listMixins.js +111 -75
  26. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +2 -1
  27. package/src/mixins/componentsMixins.js +33 -3
  28. package/src/mixins/posterMixins.js +122 -0
  29. package/src/components/JfbBaseTfkSearch/search.js +0 -293
@@ -41,42 +41,12 @@
41
41
  </view>
42
42
  </view>
43
43
  <view class="JfbBaseNotice">
44
- <!--notice-->
45
- <view class="jfb-base-tfk-card-login__body-line" v-if="!notice"></view>
46
- <view class="jfb-base-tfk-card-login__body-notice" :style="noticeWrapBoxStyle" v-if="notice">
47
- <view
48
- class="jfb-base-tfk-card-login__body-notice-in"
49
- :style="noticeBoxStyle"
50
- >
51
- <xd-notice-bar
52
- style="width: 100%"
53
- :color="noticeFont.color"
54
- :showIcon="true"
55
- :scrollable="true"
56
- :speed="20"
57
- :fontSize="noticeFont.size"
58
- :height="70"
59
- :is-no-bgc="false"
60
- >
61
- <template>
62
- <view v-html="notice"></view>
63
- </template>
64
- </xd-notice-bar>
65
- </view>
66
- </view>
67
- <view class="jfb-base-tfk-card-login__body-notice" :style="noticeWrapBoxStyle" v-if="noticeStatus && isPreview && notice === ''">
68
- <view
69
- class="jfb-base-tfk-card-login__body-notice-in"
70
- :style="[noticeBoxStyle, {
71
- textAlign: 'center',
72
- color: dangerColor,
73
- fontSize: 26 + 'rpx',
74
- }]">该组件未配置数据,因此改模块在正式环境将不显示</view>
75
- </view>
76
- <!--notice end-->
44
+ <xd-notice
45
+ :panelSetting="noticeSetting"
46
+ :apiGetContent="apiGetContent"
47
+ ></xd-notice>
77
48
  </view>
78
49
  <view class="card_list_wrap" :style="listBoxStyle">
79
-
80
50
  <!-- 我的票券包- 已绑票券 -->
81
51
  <template v-if="menuType === 'card'">
82
52
  <view v-if="loadingList">
@@ -107,7 +77,7 @@
107
77
  :price="item.card_point"
108
78
  :isOld="false"
109
79
  :unit="item.unit || ''"
110
- :colorNew="'#333333'"
80
+ :colorNew="cardFontColor"
111
81
  ></xd-unit>
112
82
  </view>
113
83
  <view v-if="item.other_card_point && item.card_point_type !== 1" class="bind_deduct">
@@ -136,10 +106,10 @@
136
106
  @click.stop="doCardLogin(item)"
137
107
  >{{ item.is_login === 'Y' ? '已登录' : '登录'}}</view>
138
108
  </view>
139
- <view v-if="!hasCardList" class="no_more_card">没有更多券了,查看失效的票券 ></view>
109
+ <view v-if="!hasCardList" class="no_more_card" @click="toDisableUrl">没有更多券了,查看失效的票券 ></view>
140
110
  </view>
141
111
  <view v-else>
142
- 暂无数据
112
+ <!-- 暂无数据 -->
143
113
  </view>
144
114
  </view>
145
115
  </template>
@@ -157,8 +127,9 @@
157
127
  :couponLeftBgColor="couponLeftBgColor"
158
128
  :item="item"
159
129
  @useCoupon="doCardLogin(item)"
130
+ @toDetail="toCardDetail(item)"
160
131
  ></xd-coupon-item>
161
- <view v-if="!hasCouponList" class="no_more_card">没有更多券了,查看失效的票券 ></view>
132
+ <view v-if="!hasCouponList" class="no_more_card" @click="toDisableUrl">没有更多券了,查看失效的票券 ></view>
162
133
  </view>
163
134
  <view v-else>
164
135
  暂无数据
@@ -166,7 +137,7 @@
166
137
 
167
138
  </template>
168
139
  </view>
169
-
140
+
170
141
  </view>
171
142
  </view>
172
143
  </template>
@@ -174,6 +145,7 @@
174
145
  <script>
175
146
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
176
147
  import XdUnit from "@/components/XdUnit/XdUnit";
148
+ import XdNotice from "./XdNotice";
177
149
  import { jfbRootExec } from "@/utils/xd.event";
178
150
  import JfbBaseTfkCardLoginMixin from "./JfbBaseTfkCardLoginMixin";
179
151
  import { getContainerPropsValue } from "@/utils/xd.base";
@@ -190,13 +162,15 @@
190
162
  XdFontIcon,
191
163
  XdNoticeBar,
192
164
  XdCouponItem,
193
- XdUnit
165
+ XdUnit,
166
+ XdNotice,
194
167
  },
195
168
  mixins: [
196
169
  componentsMixins, extsMixins, JfbBaseTfkCardLoginMixin
197
170
  ],
198
171
  data() {
199
172
  return {
173
+ // hideMask: true,
200
174
  menuType: "card", // card, coupon
201
175
  loadingList: true,
202
176
  cardList: [],
@@ -208,6 +182,7 @@
208
182
  inCallback: null, //内部跳转地址
209
183
  allEntryPath: "", //综合福利入口页
210
184
  cardDetailPath: "", //我的票券包详情页
185
+ disabledPath: "", //禁用票券包详情页
211
186
 
212
187
  options: {},
213
188
  showDisabled: 'Y',
@@ -240,10 +215,28 @@
240
215
  couponUseBtnPadding: {},
241
216
  couponBtnRadius: 16,
242
217
  couponLeftBgColor: "",
218
+
219
+
220
+ noticeStyle: "",
221
+ notice_is_hide_dailog: "",
222
+ noticeIsTitle: "",
223
+ noticeTextAlign: "",
224
+ noticeRadius: "",
225
+ noticeBgc: "",
226
+ noticeTextColor: "",
227
+ noticeFontSize: "",
228
+ noticeNum: "",
229
+ noticeSpeed: "",
230
+ noticeScrollMargin: "",
231
+ noticeTime: "",
232
+
243
233
  noticeBgColor: "",
244
234
  noticeMargin: {},
245
235
  noticePadding: {},
246
236
  noticeFont: {},
237
+ noticeMoreFont: {},
238
+
239
+
247
240
  bindCardText: "",
248
241
  bindCardTextStyle: {},
249
242
  bindCardShowType: "",
@@ -254,6 +247,8 @@
254
247
  entryGroupId: "",
255
248
  cardHeight: 270,
256
249
  cardBtnMinWidth: 100,
250
+ menuShowType: "text",
251
+ cardFontColor: "",
257
252
  }
258
253
  },
259
254
  computed: {
@@ -299,8 +294,13 @@
299
294
  background: this.menuTabColor['actBgColor'] || '#fff',
300
295
  fontSize: this.menuTabColor['actFontSize'] || '30rpx',
301
296
  fontWeight: this.menuTabColor['actFontWeight'] || 'normal',
302
- borderBottom: `${this.menuBorderWidth}px solid ${this.menuTabColor['actColor'] || defaultTextColor}`
303
297
  }
298
+ if(this.menuShowType === 'text'){
299
+ styleActiveObj.borderBottom = `${this.menuBorderWidth}px solid ${this.menuTabColor['actColor'] || defaultTextColor}`
300
+ }else{
301
+ styleActiveObj.borderRadius = '100rpx';
302
+ }
303
+
304
304
  return this.styleObjectToString(styleActiveObj)
305
305
  },
306
306
  bindCardBtnPadding(){
@@ -401,6 +401,7 @@
401
401
  border: border,
402
402
  boxShadow: boxShadow,
403
403
  height: this.cardHeight + 'rpx',
404
+ color: this.cardFontColor
404
405
  })
405
406
  },
406
407
  listBoxStyle(){
@@ -457,6 +458,29 @@
457
458
  padding: padding,
458
459
  background: this.noticeBgColor
459
460
  })
461
+ },
462
+ noticeSetting(){
463
+
464
+ return {
465
+ style: this.noticeStyle,
466
+ is_hide_dailog: this.notice_is_hide_dailog,
467
+ isTitle: this.noticeIsTitle,
468
+ textAlign: this.noticeTextAlign,
469
+ radius: this.noticeRadius,
470
+ bgc: this.noticeBgc,
471
+ textColor: this.noticeFont.color || this.warningColor, // noticeTextColor,
472
+ fontSize: this.noticeFont.size, //noticeFontSize,
473
+ num: this.noticeNum,
474
+ speed: this.noticeSpeed,
475
+ scrollMargin: this.noticeScrollMargin,
476
+ time: this.noticeTime,
477
+ warningColor: this.warningColor,
478
+ containerId: this.containerId,
479
+ padding: this.noticePadding,
480
+ margin: this.noticeMargin,
481
+ moreTextColor: this.noticeMoreFont.color || this.warningColor,
482
+ moreFontSize: this.noticeMoreFont.size || 24,
483
+ }
460
484
  }
461
485
  },
462
486
  watch: {
@@ -489,7 +513,6 @@
489
513
  this.inCallback = inCallback || this.allEntryPath || this.settings.index;
490
514
 
491
515
  this.getCardList();
492
- this.getContent();
493
516
  },
494
517
  /**
495
518
  * @description 监听事件变化
@@ -519,10 +542,7 @@
519
542
  this.couponUseBtnPadding = getContainerPropsValue(value, "content.couponUseBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
520
543
  this.couponBtnRadius = getContainerPropsValue(value, "content.couponBtnRadius", 16);
521
544
  this.couponLeftBgColor = getContainerPropsValue(value, "content.couponLeftBgColor", "");
522
- this.noticeBgColor = getContainerPropsValue(value, "content.noticeBgColor", "");
523
- this.noticeMargin = getContainerPropsValue(value, "content.noticeMargin", {top: 20, left: 20, right: 20, bottom: 20});
524
- this.noticePadding = getContainerPropsValue(value, "content.noticePadding", {top: 20, left: 20, right: 20, bottom: 20});
525
- this.noticeFont = getContainerPropsValue(value, "content.noticeFont", {});
545
+
526
546
  this.bindCardText = getContainerPropsValue(value, "content.bindCardText", "");
527
547
  this.bindCardTextStyle = getContainerPropsValue(value, "content.bindCardTextStyle", {});
528
548
  this.bindCardShowType = getContainerPropsValue(value, "content.bindCardShowType", 'text');
@@ -531,10 +551,32 @@
531
551
  this.cardShadow = getContainerPropsValue(value, "content.cardShadow", {});
532
552
  this.cardImageMode = getContainerPropsValue(value, "content.cardImageMode", '');
533
553
  this.allEntryPath = getContainerPropsValue(value, "content.allEntryPath", {value: ""}).value;
534
- this.cardDetailPath = getContainerPropsValue(value, "content.cardDetailPath", {value: "/tfktest/system/card/tkfDetail"}).value;
554
+ this.cardDetailPath = getContainerPropsValue(value, "content.cardDetailPath", {value: ""}).value;
535
555
  // this.entryGroupId = getContainerPropsValue(value,"content.entryGroupId","default");
536
556
  this.cardHeight = getContainerPropsValue(value, "content.cardHeight", 270);
537
557
  this.cardBtnMinWidth = getContainerPropsValue(value, "content.cardBtnMinWidth", 100);
558
+ this.disabledPath = getContainerPropsValue(value, "content.disabledPath", {value: ""}).value;
559
+ this.menuShowType = getContainerPropsValue(value, "content.menuShowType", 'text');
560
+ this.cardFontColor = getContainerPropsValue(value, "content.cardFontColor", '#333');
561
+
562
+ this.noticeStyle = getContainerPropsValue(value, "content.noticeStyle", '1');
563
+ this.notice_is_hide_dailog = getContainerPropsValue(value, "content.notice_is_hide_dailog", 'N');
564
+ this.noticeIsTitle = getContainerPropsValue(value, "content.noticeIsTitle", '');
565
+ this.noticeTextAlign = getContainerPropsValue(value, "content.noticeTextAlign", 'left');
566
+ this.noticeRadius = getContainerPropsValue(value, "content.noticeRadius", '');
567
+ this.noticeBgc = getContainerPropsValue(value, "content.noticeBgc", '');
568
+ this.noticeTextColor = getContainerPropsValue(value, "content.noticeTextColor", this.warningColor);
569
+ this.noticeFontSize = getContainerPropsValue(value, "content.noticeFontSize", '20');
570
+ this.noticeNum = getContainerPropsValue(value, "content.noticeNum", 1);
571
+ this.noticeSpeed = getContainerPropsValue(value, "content.noticeSpeed", 30);
572
+ this.noticeScrollMargin = getContainerPropsValue(value, "content.noticeScrollMargin", '');
573
+ this.noticeTime = getContainerPropsValue(value, "content.noticeTime", 3);
574
+
575
+ this.noticeBgColor = getContainerPropsValue(value, "content.noticeBgColor", "");
576
+ this.noticeMargin = getContainerPropsValue(value, "content.noticeMargin", {top: 20, left: 20, right: 20, bottom: 20});
577
+ this.noticePadding = getContainerPropsValue(value, "content.noticePadding", {top: 20, left: 20, right: 20, bottom: 20});
578
+ this.noticeFont = getContainerPropsValue(value, "content.noticeFont", {});
579
+ this.noticeMoreFont = getContainerPropsValue(value, "content.noticeMoreFont", {});
538
580
 
539
581
  console.log(this.cardShadow, 'cardShadow')
540
582
  if(this.bindCardTextStyle && !this.bindCardTextStyle.color){
@@ -557,6 +599,7 @@
557
599
 
558
600
  if(this.$configProject.isPreview){
559
601
  this.menuType = this.previewCurrent;
602
+ this.getCardList();
560
603
  }
561
604
  },
562
605
  toCardDetail(item){
@@ -597,7 +640,7 @@
597
640
  getCardList(){
598
641
  let show_type = this.menuType === 'coupon' ? 'coupon' : 'normal';
599
642
  let params = {show_type};
600
-
643
+
601
644
  // let params = {is_all: 'Y', is_show_entry_settings: 'Y'};
602
645
  // if(options['jfb_business_code']) {
603
646
  // params['card_business_code'] = options['jfb_business_code'];
@@ -617,9 +660,15 @@
617
660
  return item;
618
661
  })
619
662
  if(show_type === 'coupon'){
663
+ if(this.$configProject.isPreview){
664
+ list = list.filter(item => item.consume_type == 2)
665
+ }
620
666
  this.couponList = list;
621
667
  }
622
668
  if(show_type === 'normal'){
669
+ if(this.$configProject.isPreview){
670
+ list = list.filter(item => item.consume_type != 2)
671
+ }
623
672
  this.cardList = list;
624
673
  }
625
674
  })
@@ -630,29 +679,30 @@
630
679
  url: this.cardBindPath
631
680
  })
632
681
  },
633
- getContent() {
634
- jfbRootExec("getListBaseNewsContent", {
635
- vm: this,
636
- data: {
637
- page_id: this.pageAttr["page_id"], //页面ID
638
- container_id: this.containerId, //组件ID
639
- limit: 1,
640
- },
641
- })
642
- .then((res) => {
643
- if (res.list.length > 0) {
644
- if(res.list && res.list.length > 0) {
645
- this.notice = this.$xdUniHelper.filterHtml(res.list[0].content);
646
- }
647
- this.noticeStatus = true;
648
- }
682
+ apiGetContent(params){
683
+ return new Promise((resolve, reject) => {
684
+ jfbRootExec("getListBaseNewsContent", {
685
+ vm: this,
686
+ data: {
687
+ page_id: this.pageAttr["page_id"], //页面ID
688
+ container_id: this.containerId, //组件ID
689
+ page_size: this.noticeNum || 1,
690
+ ...params
691
+ },
692
+ }).then(res => {
693
+ resolve(res);
694
+ }).catch(err => {
695
+ reject(err);
649
696
  })
650
- .catch((error) => {
651
- console.error(error);
652
- });
697
+ })
698
+ },
699
+ toDisableUrl(){
700
+ this.$xdUniHelper.navigateTo({
701
+ url: this.disabledPath
702
+ })
653
703
  },
654
704
  onJfbScroll(options) {
655
- console.log('event.onJfbScroll', options)
705
+ // console.log('event.onJfbScroll', options)
656
706
  },
657
707
  onJfbReachBottom(options) {
658
708
  console.log('event.onJfbReachBottom', options)
@@ -750,7 +800,6 @@
750
800
  flex-direction: column;
751
801
  justify-content: space-between;
752
802
  .bind_point{
753
- color: #333333;
754
803
  font-size: 48rpx;
755
804
  ::v-deep .xd-unit{
756
805
  height: auto !important;
@@ -763,7 +812,6 @@
763
812
  }
764
813
  .bind_deduct{
765
814
  font-size: 28rpx;
766
- color: #999;
767
815
  background: rgba(51, 51, 51, 0.05);
768
816
  display: inline-block;
769
817
  padding: 4rpx 20rpx;
@@ -771,20 +819,17 @@
771
819
  }
772
820
  .bind_number{
773
821
  font-size: 28rpx;
774
- color: #999;
775
822
  margin-top: 20rpx;
776
823
  font-weight: 500;
777
824
  }
778
825
  .bind_time{
779
826
  font-size: 24rpx;
780
- color: #999;
781
827
  margin-top: 16rpx;
782
828
  font-weight: 500;
783
829
  line-height: 1;
784
830
  }
785
831
  .bind_type{
786
832
  font-size: 28rpx;
787
- color: #333333;
788
833
  position: absolute;
789
834
  top: 32rpx;
790
835
  right: 32rpx;