jufubao-base 1.0.159-beta2 → 1.0.159-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.
Files changed (50) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAfterOrderDetail/Attr.js +9 -0
  3. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +40 -75
  4. package/src/components/JfbBaseAfterOrderDetail/Mock.js +3 -2
  5. package/src/components/JfbBaseAfterOrderList/Attr.js +9 -0
  6. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +63 -83
  7. package/src/components/JfbBaseAfterOrderList/Mock.js +8 -0
  8. package/src/components/JfbBaseCard/Attr.js +220 -194
  9. package/src/components/JfbBaseCard/JfbBaseCard.vue +47 -18
  10. package/src/components/JfbBaseCard/Mock.js +7 -6
  11. package/src/components/JfbBaseCardBind/JfbBaseCardBind.vue +2 -0
  12. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +39 -6
  13. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +3 -3
  14. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +2 -2
  15. package/src/components/JfbBaseCardEntry/Attr.js +12 -0
  16. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +50 -9
  17. package/src/components/JfbBaseCardEntry/Mock.js +1 -0
  18. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +33 -29
  19. package/src/components/JfbBaseCardInfoEntry/Attr.js +22 -0
  20. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +291 -259
  21. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +2 -3
  22. package/src/components/JfbBaseCardV2/Attr.js +39 -2
  23. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +46 -24
  24. package/src/components/JfbBaseCardV2/Mock.js +12 -11
  25. package/src/components/JfbBaseCardV3/Attr.js +13 -1
  26. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +5 -1
  27. package/src/components/JfbBaseCardV3/Mock.js +1 -1
  28. package/src/components/JfbBaseConList/JfbBaseConList.vue +1 -3
  29. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +4 -4
  30. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +2 -2
  31. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +12 -5
  32. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +3 -0
  33. package/src/components/JfbBaseMultipleExpress/Attr.js +9 -0
  34. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +20 -28
  35. package/src/components/JfbBaseMultipleExpress/Mock.js +10 -0
  36. package/src/components/JfbBaseOrderDetail/Attr.js +23 -0
  37. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +72 -164
  38. package/src/components/JfbBaseOrderDetail/bizMock.js +4 -2
  39. package/src/components/JfbBaseOrderList/Attr.js +9 -0
  40. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +38 -91
  41. package/src/components/JfbBaseOrderList/Mock.js +27 -5
  42. package/src/components/JfbBasePhoneCollect/Attr.js +11 -0
  43. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +13 -0
  44. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +10 -0
  45. package/src/components/JfbBasePoster/Attr.js +1 -0
  46. package/src/components/JfbBasePosterBigSmall/Attr.js +4 -1
  47. package/src/components/JfbBasePosterType/Attr.js +35 -25
  48. package/src/components/JfbBasePosterType/FourScreen.vue +18 -19
  49. package/src/components/JfbBasePosterType/JfbBasePosterType.vue +12 -0
  50. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +5 -5
@@ -323,12 +323,13 @@ export default {
323
323
  if (this.jfbAuthorize !== null) {
324
324
  this.jfbAuthorize.setCardToken(res);
325
325
  this.handleClick(entry);
326
+ return
326
327
  }
327
328
  //#endif
329
+
328
330
  if (this.$configProject.isPreview) {
329
331
  console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
330
332
  }
331
-
332
333
  else {
333
334
  this.handleClick(entry);
334
335
  }
@@ -338,13 +339,39 @@ export default {
338
339
  });
339
340
  },
340
341
 
342
+ getCardPath(custom_redirect_data = {}){
343
+ //#ifdef H5
344
+ return null;
345
+ //#endif
346
+ //#ifdef MP-WEIXIN
347
+ const dir = custom_redirect_data.dir;
348
+ const actDir = this.projectAttr['deploy_dir'];
349
+ if(custom_redirect_data.appType === 'wxmp') {
350
+ if(dir === actDir) {
351
+ return {
352
+ cardPath: custom_redirect_data.path,
353
+ cardSelf: 'wxmp',
354
+ };
355
+ }
356
+ else return null;
357
+ }
358
+ else if(custom_redirect_data.appType === 'h5'){
359
+ return {
360
+ cardPath: custom_redirect_data.site_url,
361
+ cardSelf: 'h5',
362
+ };
363
+ }
364
+ else return null;
365
+ //#endif
366
+ },
367
+
341
368
 
342
369
  handleClick(entry){
343
370
  const {dir, path, host, appType} = entry['redirect_data'];
344
371
  let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
345
372
  let regSp = /(-apiuri\/v)/;
346
373
 
347
- if(appType === undefined) entry.redirect_data.appType = 'h5';
374
+ if(!appType) entry.redirect_data.appType = 'h5';
348
375
  let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
349
376
 
350
377
  //外站配置地址
@@ -362,11 +389,16 @@ export default {
362
389
  }
363
390
 
364
391
  //站内应用处理
365
- let jumpUrl = '';
366
- let jumpUrlObj = parsePath(path);
392
+ let jumpUrl = path;
367
393
  let cardPathStr = '';
368
- if(jumpUrlObj.isSameApp) jumpUrl = jumpUrlObj.url;
369
- else jumpUrl = `//${host}/${jumpUrlObj.dir}${jumpUrlObj.url}`;
394
+ const {deploy_dir} = this.projectAttr;
395
+ if(host === this.projectAttr.host && deploy_dir !== dir){
396
+ jumpUrl = `//${host}/${dir}${path}`;
397
+ //#ifdef MP-WEIXIN
398
+ jumpUrl = `https:${jumpUrl}`;
399
+ //#endif
400
+ }
401
+
370
402
 
371
403
  //#ifdef MP-WEIXIN
372
404
  //获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
@@ -381,6 +413,7 @@ export default {
381
413
  //#endif
382
414
 
383
415
  jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
416
+ console.warn(`entry.path:${jumpUrl}`);
384
417
  if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
385
418
  else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
386
419
  },
@@ -81,7 +81,7 @@
81
81
  @click.stop="handleUnBindCard(item)"
82
82
  v-if="isShowUnbind"
83
83
  :style="{ background: '#fff',color:'#999',border: '1px solid #999' }"
84
- >解绑</view>
84
+ >解绑</view>
85
85
  </view>
86
86
  </view>
87
87
  </view>
@@ -110,7 +110,7 @@ export default {
110
110
  data() {
111
111
  return {
112
112
  disableList: [],
113
- isShowUnbind: false,
113
+ isShowUnbind: true,
114
114
  loadingList: true,
115
115
  };
116
116
  },
@@ -138,7 +138,7 @@ export default {
138
138
  })
139
139
  .then((res) => {
140
140
  this.loadingList = false;
141
- this.isShowUnbind = (res["is_can_unbind"] === 'Y' || res["is_can_unbind"] === undefined);
141
+ //this.isShowUnbind = (res["is_can_unbind"] === 'Y' || res["is_can_unbind"] === undefined);
142
142
  res.list = res.list.map((item) => {
143
143
  return {
144
144
  ...item,
@@ -169,7 +169,7 @@ export default {
169
169
  mixins: [componentsMixins, extsMixins, JfbBaseCardDisabledEntryMixin, colorCardMixins, cardListMixins],
170
170
  data() {
171
171
  return {
172
- isShowUnbind: false,
172
+ isShowUnbind: true,
173
173
  isShowIndex:false,
174
174
  };
175
175
  },
@@ -200,7 +200,7 @@ export default {
200
200
  this.$xdShowLoading({});
201
201
  jfbRootExec("getDisableCardListEntry", {vm: this, data: {is_all: "Y", is_show_entry_settings: 'Y'},})
202
202
  .then((res) => {
203
- this.isShowUnbind = (res["is_can_unbind"] === 'Y' || res["is_can_unbind"] === undefined);
203
+ //this.isShowUnbind = (res["is_can_unbind"] === 'Y' || res["is_can_unbind"] === undefined);
204
204
  res.list = res.list.map((item) => {
205
205
  return {
206
206
  ...item,
@@ -252,6 +252,18 @@ export default {
252
252
  inline: false,
253
253
  notice: '请配置温馨提示内容,未配置的情况将不显示此模块',
254
254
  },
255
+ {
256
+ label: '票券已登录文案:',
257
+ ele: 'el-input',
258
+ type: 'text',
259
+ valueKey: 'logged_name',
260
+ groupKey:'content',
261
+ value: '',
262
+ placeholder: '请输入票券已登录文案',
263
+ className: 'input80',
264
+ inline: false,
265
+ notice: '当未设置文案时候,前台页面显示为"<span style="color:red">已登录</span>",建议不超过<span style="color:red">4</span>个汉字'
266
+ },
255
267
  {
256
268
  label: "是否展示核销二维码",
257
269
  ele: "xd-radio",
@@ -173,7 +173,12 @@
173
173
  }"
174
174
  >
175
175
  <view class="card-list-warp" :style="{backgroundImage: 'url('+ item['theme']['image'] +')'}">
176
- <view class="card-list__title"><view>{{item['card_type_name']}}</view></view>
176
+ <view class="card-list__title">
177
+ <view>
178
+ <view>{{item['card_type_name']}}</view>
179
+ <view v-if="item['is_login'] === 'Y'"><text></text><text>已登录</text></view>
180
+ </view>
181
+ </view>
177
182
  <view class="card-list__content">
178
183
  <view>
179
184
  <text>券号:</text>
@@ -470,9 +475,9 @@ export default {
470
475
  this.init(this.container);
471
476
  this.noticeBackgroundColor = Color(this.warningColor).alpha(0.2).toString();
472
477
  this.isPreview = this.$configProject.isPreview;
478
+ this.isQrCode = isQrCode(this);
473
479
 
474
480
  //#ifdef H5
475
- this.isQrCode = isQrCode(this);
476
481
  if (!this.$configProject.isPreview) {
477
482
  jfbRootExec("getH5WxAuthorize", {
478
483
  vm: this,
@@ -559,7 +564,7 @@ export default {
559
564
  uni.scanCode({
560
565
  scanType: ["qrCode"],
561
566
  success: (res) => {
562
- let path = this.getUrlCallback(`${this.confirmUrl}?qrcode=${encodeURIComponent(res.resultStr)}`)
567
+ let path = this.getUrlCallback(`${this.confirmUrl}?qrcode=${encodeURIComponent(res.result)}`)
563
568
  this.$xdUniHelper.navigateTo({
564
569
  url:path,
565
570
  });
@@ -599,10 +604,12 @@ export default {
599
604
  })
600
605
  .then((res) => {
601
606
  this.$xdHideLoading();
607
+
602
608
  //#ifdef MP-WEIXIN
603
609
  if (this.jfbAuthorize !== null) {
604
610
  this.jfbAuthorize.setCardToken(res);
605
611
  this.handleClick(entry);
612
+ return
606
613
  }
607
614
  //#endif
608
615
  if (this.$configProject.isPreview) {
@@ -658,7 +665,7 @@ export default {
658
665
  let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
659
666
  let regSp = /(-apiuri\/v)/;
660
667
 
661
- if(appType === undefined) entry.redirect_data.appType = 'h5';
668
+ if(!appType) entry.redirect_data.appType = 'h5';
662
669
  let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
663
670
 
664
671
  //外站配置地址
@@ -676,11 +683,16 @@ export default {
676
683
  }
677
684
 
678
685
  //站内应用处理
679
- let jumpUrl = '';
680
- let jumpUrlObj = parsePath(path);
686
+ let jumpUrl = path;
681
687
  let cardPathStr = '';
682
- if(jumpUrlObj.isSameApp) jumpUrl = jumpUrlObj.url;
683
- else jumpUrl = `//${host}/${jumpUrlObj.dir}${jumpUrlObj.url}`;
688
+ const {deploy_dir} = this.projectAttr;
689
+ if(host === this.projectAttr.host && deploy_dir !== dir){
690
+ jumpUrl = `//${host}/${dir}${path}`;
691
+ //#ifdef MP-WEIXIN
692
+ jumpUrl = `https:${jumpUrl}`;
693
+ //#endif
694
+ }
695
+
684
696
 
685
697
  //#ifdef MP-WEIXIN
686
698
  //获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
@@ -695,6 +707,7 @@ export default {
695
707
  //#endif
696
708
 
697
709
  jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
710
+ console.warn(`entry.path:${jumpUrl}`);
698
711
  if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
699
712
  else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
700
713
  },
@@ -949,16 +962,44 @@ export default {
949
962
  align-items: center;
950
963
 
951
964
  & > view {
952
- padding: 0 unit(80, rpx);
965
+ padding: 0 unit(40, rpx);
953
966
  font-size: unit(24, rpx);
954
967
  line-height: unit(56, rpx);
955
968
  background: rgba(102, 102, 102, 0.4);
956
969
  color: #fff;
957
970
  border-radius: 0 0 unit(16, rpx) 0;
971
+ display: flex;
972
+ justify-content: center;
973
+ align-items: center;
958
974
 
959
975
  .skeleton-card &{
960
976
  .skeleton-item(120rpx, 50rpx, 0 0 16rpx 0, #EEEEEE);
961
977
  }
978
+
979
+ & > view:nth-child(2) {
980
+ height: 36rpx;
981
+ line-height: 36rpx;
982
+ background-color: rgb(41, 203, 151);
983
+ display: flex;
984
+ justify-content: center;
985
+ align-items: center;
986
+ margin-left: 30rpx;
987
+ padding: 0 20rpx;
988
+ border-radius: 8rpx;
989
+
990
+ & > text:nth-child(1) {
991
+ width: 10rpx;
992
+ height: 10rpx;
993
+ border-radius: 50%;
994
+ background-color: #fff;
995
+ margin-right: 10rpx;
996
+ }
997
+
998
+ & > text:nth-child(2) {
999
+ font-size: 24rpx;
1000
+ }
1001
+ }
1002
+
962
1003
  }
963
1004
 
964
1005
  }
@@ -14,6 +14,7 @@ module.exports = {
14
14
  "other_card_point": 0,
15
15
  "is_exchange": "N",
16
16
  "card_point_type": 1,
17
+ "is_login":'Y',
17
18
  "business_codes": ["health"]
18
19
  }, {
19
20
  "card_number": "121000100000028",
@@ -31,6 +31,7 @@
31
31
  <view class="jfb-base-card-info__body-form">
32
32
  <view class="jfb-base-card-info__body-form-label">票券密码</view>
33
33
  <input
34
+ class="mp"
34
35
  max="18"
35
36
  :password="isPassword"
36
37
  v-model="card_password"
@@ -70,9 +71,7 @@
70
71
  <view v-if="isShowBalance" class="jfb-base-card-info__body-residue">
71
72
  <view class="jfb-base-card-info__body-residue-wrap">
72
73
  <view class="jfb-base-card-info__body-residue-label">
73
- <view :style="{ color: '#242424', fontSize: '28rpx' }"
74
- >剩余元宝</view
75
- >
74
+ <view :style="{ color: '#242424', fontSize: '28rpx' }">剩余元宝</view>
76
75
  </view>
77
76
  <view class="jfb-base-card-info__body-residue-value">
78
77
  <xd-unit
@@ -178,9 +177,15 @@ export default {
178
177
  return this.valueKey.filter(item => item.key !== "end_time");
179
178
  }
180
179
  return this.valueKey;
181
- }
180
+ },
181
+ container(value,oldValue) {
182
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
183
+ if (this.$configProject['isPreview']) this.init(value)
184
+ },
185
+ },
186
+ created() {
187
+ this.init(this.container)
182
188
  },
183
- created() {},
184
189
  methods: {
185
190
  handleIcon(){
186
191
  this.isPassword = !this.isPassword
@@ -271,37 +276,37 @@ export default {
271
276
  }
272
277
  })
273
278
  },
274
- init() {
275
- this.backUrl = getContainerPropsValue(
276
- this.container,
277
- "content.back_url",
278
- { value: "/pages/card/card" }
279
- ).value;
280
- this.card_num_placeholder = getContainerPropsValue(
281
- this.container,
282
- "content.card_num_placeholder",
283
- "请输入券号(电子券除外)"
284
- );
285
- this.card_pwd_placeholder = getContainerPropsValue(
286
- this.container,
287
- "content.card_pwd_placeholder",
288
- "请输入密码"
289
- );
290
- this.is_show_balance = getContainerPropsValue(this.container, 'content.is_show_balance', "N");
291
- this.my_card_url = getContainerPropsValue(this.container, 'content.my_card_url', { value: "" }).value;
279
+ init(container) {
280
+ this.backUrl = getContainerPropsValue(container, "content.back_url", { value: "/pages/card/card" }).value;
281
+ this.card_num_placeholder = getContainerPropsValue(container, "content.card_num_placeholder", "请输入券号(电子券除外)");
282
+ this.card_pwd_placeholder = getContainerPropsValue(container, "content.card_pwd_placeholder", "请输入密码");
283
+ this.is_show_balance = getContainerPropsValue(container, 'content.is_show_balance', "N");
284
+ this.my_card_url = getContainerPropsValue(container, 'content.my_card_url', { value: "" }).value;
292
285
  },
293
286
  onJfbLoad(options) {
294
- this.init();
295
- this.qrcode = options.qrcode;
287
+ this.qrcode = options.qrcode || options.pa;
288
+
296
289
  //#ifdef MP-WEIXIN
297
- if(options.qrcode) {
298
- this.qrcode = decodeURIComponent(options.qrcode);
290
+ if(this.qrcode) {
291
+ this.qrcode = decodeURIComponent(this.qrcode);
299
292
  }
300
-
301
293
  //#endif
294
+
302
295
  if(options.inCallback) {
303
296
  this.inCallbackUrlOrg = options.inCallback;
304
297
  }
298
+
299
+ //正式环境判断参数错误
300
+ if(!this.$configProject.isPreview) {
301
+ if(!this.qrcode) {
302
+ this.$xdAlert({
303
+ content: '参数配置错误',
304
+ type: 'error'
305
+ });
306
+ return
307
+ }
308
+ }
309
+
305
310
  if (this.qrcode) {
306
311
  jfbRootExec("getByQrCardDetail", {
307
312
  vm: this,
@@ -421,7 +426,6 @@ export default {
421
426
  display: flex;
422
427
  justify-content: center;
423
428
  align-items: center;
424
- width: 72rpx;
425
429
  height: 72rpx
426
430
  }
427
431
 
@@ -4,6 +4,28 @@ export default {
4
4
  style: [],
5
5
  advanced: [],
6
6
  content: [
7
+ {
8
+ label: '选择综合入口类型:',
9
+ ele: 'xd-site-select-list',
10
+ valueKey: 'entryGroupId',
11
+ value: 'default',
12
+ placeholder: '请选择综合入口类型',
13
+ multiple: false,
14
+ groupKey:'content',
15
+ className: 'input50',
16
+ rules: [
17
+ {required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
18
+ ],
19
+ handleCustom({action, data}) {
20
+ XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
21
+ .then(res => {
22
+ data.cb(res.list)
23
+ })
24
+ .catch(error => {
25
+ console.error(error);
26
+ });
27
+ },
28
+ },
7
29
  {
8
30
  label: '票券绑定成功回跳地址:',
9
31
  ele: 'xd-select-pages-path',