jufubao-base 1.0.240 → 1.0.242-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.
Files changed (128) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseBalance/Api.js +46 -0
  3. package/src/components/JfbBaseBalance/Attr.js +316 -0
  4. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +336 -0
  5. package/src/components/JfbBaseBalance/JfbBaseBalanceLess.less +79 -0
  6. package/src/components/JfbBaseBalance/JfbBaseBalanceMixin.js +30 -0
  7. package/src/components/JfbBaseBalance/Mock.js +9 -0
  8. package/src/components/JfbBaseCodeOpenVip/Api.js +35 -0
  9. package/src/components/JfbBaseCodeOpenVip/Attr.js +281 -0
  10. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +251 -0
  11. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipLess.less +79 -0
  12. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipMixin.js +30 -0
  13. package/src/components/JfbBaseCodeOpenVip/Mock.js +13 -0
  14. package/src/components/JfbBaseConsumpCode/Api.js +133 -0
  15. package/src/components/JfbBaseConsumpCode/Attr.js +61 -0
  16. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +1048 -0
  17. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeLess.less +79 -0
  18. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeMixin.js +30 -0
  19. package/src/components/JfbBaseConsumpCode/Mock.js +22 -0
  20. package/src/components/JfbBaseFastLink/Attr.js +12 -1
  21. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +66 -0
  22. package/src/components/JfbBaseHeader/Attr.js +82 -0
  23. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +47 -1
  24. package/src/components/JfbBaseHeaderColumn/Attr.js +82 -0
  25. package/src/components/JfbBaseHeaderColumn/JfbBaseHeaderColumn.vue +48 -2
  26. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +14 -3
  27. package/src/components/JfbBaseNoticeDialog/Api.js +1 -1
  28. package/src/components/JfbBaseNoticeDialog/Attr.js +26 -0
  29. package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +28 -9
  30. package/src/components/JfbBaseNoticeGroup/Api.js +23 -0
  31. package/src/components/JfbBaseNoticeGroup/Attr.js +237 -0
  32. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroup.vue +174 -0
  33. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupLess.less +79 -0
  34. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupMixin.js +30 -0
  35. package/src/components/JfbBaseNoticeGroup/Mock.js +13 -0
  36. package/src/components/JfbBaseOpenVip/Api.js +39 -0
  37. package/src/components/JfbBaseOpenVip/Attr.js +331 -0
  38. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +457 -0
  39. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipLess.less +79 -0
  40. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipMixin.js +30 -0
  41. package/src/components/JfbBaseOpenVip/Mock.js +7 -0
  42. package/src/components/JfbBaseOpenVip/XdVipList.vue +131 -0
  43. package/src/components/JfbBaseOpenVipCard/Api.js +58 -0
  44. package/src/components/JfbBaseOpenVipCard/Attr.js +48 -0
  45. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCard.vue +111 -0
  46. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardLess.less +79 -0
  47. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardMixin.js +30 -0
  48. package/src/components/JfbBaseOpenVipCard/Mock.js +13 -0
  49. package/src/components/JfbBaseOpenVipDetail/Api.js +35 -0
  50. package/src/components/JfbBaseOpenVipDetail/Attr.js +37 -0
  51. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +234 -0
  52. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailLess.less +79 -0
  53. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailMixin.js +30 -0
  54. package/src/components/JfbBaseOpenVipDetail/Mock.js +15 -0
  55. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +176 -18
  56. package/src/components/JfbBasePay/Attr.js +52 -0
  57. package/src/components/JfbBasePay/JfbBasePay.vue +30 -6
  58. package/src/components/JfbBasePay/Mock.js +0 -9
  59. package/src/components/JfbBasePersonalData/Api.js +26 -0
  60. package/src/components/JfbBasePersonalData/Attr.js +13 -0
  61. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +200 -0
  62. package/src/components/JfbBasePersonalData/JfbBasePersonalDataLess.less +79 -0
  63. package/src/components/JfbBasePersonalData/JfbBasePersonalDataMixin.js +30 -0
  64. package/src/components/JfbBasePersonalData/Mock.js +13 -0
  65. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +11 -1
  66. package/src/components/JfbBasePointsCard/Api.js +18 -0
  67. package/src/components/JfbBasePointsCard/Attr.js +187 -0
  68. package/src/components/JfbBasePointsCard/JfbBasePointsCard.vue +212 -0
  69. package/src/components/JfbBasePointsCard/JfbBasePointsCardLess.less +79 -0
  70. package/src/components/JfbBasePointsCard/JfbBasePointsCardMixin.js +30 -0
  71. package/src/components/JfbBasePointsCard/Mock.js +5 -0
  72. package/src/components/JfbBasePointsDetail/Api.js +48 -0
  73. package/src/components/JfbBasePointsDetail/Attr.js +305 -0
  74. package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +267 -0
  75. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailLess.less +79 -0
  76. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailMixin.js +30 -0
  77. package/src/components/JfbBasePointsDetail/Mock.js +6 -0
  78. package/src/components/JfbBasePoster/Attr.js +1 -1
  79. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +2 -2
  80. package/src/components/JfbBasePosterGroup/Api.js +22 -0
  81. package/src/components/JfbBasePosterGroup/Attr.js +156 -0
  82. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +268 -0
  83. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupLess.less +79 -0
  84. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupMixin.js +30 -0
  85. package/src/components/JfbBasePosterGroup/Mock.js +13 -0
  86. package/src/components/JfbBaseSavingDetail/Api.js +41 -0
  87. package/src/components/JfbBaseSavingDetail/Attr.js +70 -0
  88. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +710 -0
  89. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailLess.less +79 -0
  90. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailMixin.js +30 -0
  91. package/src/components/JfbBaseSavingDetail/Mock.js +10 -0
  92. package/src/components/JfbBaseSavingDetail/components/echarts.min.js +26 -0
  93. package/src/components/JfbBaseSavingDetail/components/echarts.vue +254 -0
  94. package/src/components/JfbBaseSavingDetail/components/wx-canvas.js +105 -0
  95. package/src/components/JfbBaseShare/Api.js +20 -0
  96. package/src/components/JfbBaseShare/Attr.js +59 -0
  97. package/src/components/JfbBaseShare/JfbBaseShare.vue +276 -0
  98. package/src/components/JfbBaseShare/JfbBaseShareLess.less +79 -0
  99. package/src/components/JfbBaseShare/JfbBaseShareMixin.js +30 -0
  100. package/src/components/JfbBaseShare/Mock.js +16 -0
  101. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +8 -3
  102. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +12 -22
  103. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +12 -1
  104. package/src/components/JfbBaseTfkSearch/Mock.js +51 -3
  105. package/src/components/JfbBaseTfkSearch/listMixins.js +2 -1
  106. package/src/components/JfbBaseUserInfo/Attr.js +175 -11
  107. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +337 -115
  108. package/src/components/JfbBaseUserOrder/Attr.js +16 -0
  109. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +11 -2
  110. package/src/components/JfbBaseWithDrawAgain/Api.js +41 -0
  111. package/src/components/JfbBaseWithDrawAgain/Attr.js +92 -0
  112. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgain.vue +354 -0
  113. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainLess.less +79 -0
  114. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainMixin.js +30 -0
  115. package/src/components/JfbBaseWithDrawAgain/Mock.js +10 -0
  116. package/src/components/JfbBaseWithDrawRecord/Api.js +19 -0
  117. package/src/components/JfbBaseWithDrawRecord/Attr.js +79 -0
  118. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +233 -0
  119. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordLess.less +79 -0
  120. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordMixin.js +30 -0
  121. package/src/components/JfbBaseWithDrawRecord/Mock.js +7 -0
  122. package/src/components/JfbBaseWithdraw/Api.js +48 -0
  123. package/src/components/JfbBaseWithdraw/Attr.js +328 -0
  124. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +272 -0
  125. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawLess.less +79 -0
  126. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawMixin.js +30 -0
  127. package/src/components/JfbBaseWithdraw/Mock.js +7 -0
  128. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +10 -0
@@ -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-base-open-vip-detail {
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-base-open-vip-detail {
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-base-open-vip-detail'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ getVipConfirm: {
5
+ vip_card_id: 1,
6
+ product_id: 60038515,
7
+ product_name: "年卡会员",
8
+ sale_price: 20000,
9
+ platform_discount_amount: 120,
10
+ user_pay_amount: 20000,
11
+ life_cycle_label: "1年",
12
+ request_id: "cc61b6e3a8e0931f"
13
+ },
14
+ createVipOrder: {}
15
+ };
@@ -120,27 +120,46 @@
120
120
  </view>
121
121
  </view>
122
122
  </view>
123
- <view
124
- class="jfb-base-order-detail__body-delivery-bottom"
125
- v-if="info.film_show.detail && info.film_show.detail !== null"
126
- >
127
- <view class="jfb-base-order-detail__body-delivery-bottom-title">{{info.film_show.detail.title }}</view>
128
- <view
129
- v-for="(Ditem, Dindex) in info.film_show.detail.items"
130
- :key="Dindex"
131
- class="jfb-base-order-detail__body-delivery-bottom-item"
132
- :style="{
133
- marginBottom: lineHeight + 'rpx'
134
- }"
135
- >
136
- <view style="width: 130rpx"
137
- >{{ Ditem.label }} <span v-if="Ditem.label">:</span>
123
+ <view v-if="info.film_show.part&&info.film_show.part.length>0" class="jfb-base-order-detail__body-no-delivery-supplement">
124
+ <view @click="handleViewSupplement(item)" class="jfb-base-order-detail__body-no-delivery-supplement-item" v-for="(item,index) in info.film_show.part" :key="index">
125
+ <view class="jfb-base-order-detail__body-no-delivery-supplement-item-info">
126
+ <view v-if="item.tag_name" :style="{color: mainColor, borderColor: mainColor}" class="jfb-base-order-detail__body-no-delivery-supplement-item-info-tag">{{item.tag_name}}</view>
127
+ <view class="jfb-base-order-detail__body-no-delivery-supplement-item-info-title">{{item.show_title}}</view>
138
128
  </view>
139
- <view>{{ Ditem.value }}</view>
129
+ <xd-font-icon size="24" color="#B1B1B1" icon="iconxiangyou_xian"></xd-font-icon>
140
130
  </view>
141
131
  </view>
142
132
  </view>
143
133
  </view>
134
+ <view
135
+ class="jfb-base-order-detail__body-card jfb-base-order-detail__body-delivery-info"
136
+ :style="{
137
+ background: backgroundColor,
138
+ border: borderBox,
139
+ borderRadius: radius + 'rpx',
140
+ boxShadow: shadowBox,
141
+ marginBottom: padding + 'rpx',
142
+ }"
143
+ v-if="info.film_show&&info.film_show.detail && info.film_show.detail !== null"
144
+ >
145
+ <view class="jfb-base-order-detail__body-delivery-info-title">
146
+ <view :style="{background:mainColor}" class="line"></view>
147
+ {{info.film_show.detail.title }}
148
+ </view>
149
+ <view
150
+ v-for="(Ditem, Dindex) in info.film_show.detail.items"
151
+ :key="Dindex"
152
+ class="jfb-base-order-detail__body-delivery-info-item"
153
+ :style="{
154
+ marginBottom: lineHeight + 'rpx'
155
+ }"
156
+ >
157
+ <view style="width: 130rpx"
158
+ >{{ Ditem.label }} <span v-if="Ditem.label">:</span>
159
+ </view>
160
+ <view>{{ Ditem.value }}</view>
161
+ </view>
162
+ </view>
144
163
  <view v-if="info.sub_orders && info.sub_orders.length > 0">
145
164
  <view
146
165
  :style="{
@@ -571,11 +590,15 @@
571
590
  >
572
591
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
573
592
  <xd-unit
593
+ v-if="item.type === 'price'"
594
+ :colorNew="isPlusSite ? '#999':''"
595
+ :largeZero="false"
574
596
  :fontSize="28"
575
597
  :iconSize="0.28"
576
598
  :fontWeight="item.style"
577
599
  :price="item.value"
578
600
  ></xd-unit>
601
+ <view v-else style="font-size: 28rpx;" :style="{color: isPlusSite ? '#999':'', fontWeight: item.style}" v-html="item.value"></view>
579
602
  </view>
580
603
  <view
581
604
  v-if="item.type === 'line'"
@@ -804,6 +827,20 @@
804
827
  <view v-if="dialogCode && dialogCode.tips" class="dialog_password"> {{ dialogCode.tips}}</view>
805
828
  <view v-if="dialogPassword" class="dialog_password">{{ dialogPassword }}</view>
806
829
  </xd-dailog>
830
+ <XdDownDrawer :isClose="false" height="auto" :show.sync="showSupplement">
831
+ <view class="supplement">
832
+ <view class="supplement-title">
833
+ <xd-font-icon @click="showSupplement=false" color="#666" size="30" icon="iconxiangzuo_xian"></xd-font-icon>
834
+ <view style="margin: 0 auto">{{supplementTitle}}</view>
835
+ </view>
836
+ <view style="color: #333333;margin-top: 58rpx;font-size: 28rpx;font-weight: 500">已购</view>
837
+ <view class="supplement-item" v-for="(item, index) in supplementList" :key="index">
838
+ <view>{{item.product_name}}</view>
839
+ <view>{{getAmount(item.sale_price)}}元 x {{item.product_num}}</view>
840
+ </view>
841
+ <xd-button type="primary" @click="showSupplement=false">关闭</xd-button>
842
+ </view>
843
+ </XdDownDrawer>
807
844
  </view>
808
845
  </template>
809
846
 
@@ -814,6 +851,7 @@ import XdTag from "@/components/XdTag/XdTag";
814
851
  import XdUnit from "@/components/XdUnit/XdUnit";
815
852
  import XdButton from "@/components/XdButton/XdButton";
816
853
  import XdDailog from "@/components/XdDailog/XdDailog";
854
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
817
855
  import { jfbRootExec } from "@/utils/xd.event";
818
856
  import JfbBaseOrderDetailMixin from "./JfbBaseOrderDetailMixin";
819
857
  import componentsMixins from "@/mixins/componentsMixins";
@@ -834,6 +872,7 @@ export default {
834
872
  XdButton,
835
873
  XdDailog,
836
874
  XdJfbImage,
875
+ XdDownDrawer
837
876
  },
838
877
  mixins: [componentsMixins, extsMixins, JfbBaseOrderDetailMixin],
839
878
  data() {
@@ -901,6 +940,10 @@ export default {
901
940
  showPreviewCode: true,
902
941
  is_show_product: "",
903
942
  btnTextSize: 20,
943
+
944
+ showSupplement: false,
945
+ supplementList: [],
946
+ supplementTitle: "",
904
947
  };
905
948
  },
906
949
  watch: {
@@ -953,7 +996,10 @@ export default {
953
996
  padding: padding,
954
997
  backgroundColor: this.bottomBgColor,
955
998
  }
956
- }
999
+ },
1000
+ isPlusSite(){
1001
+ return this.projectAttr.headers['X-Site-Group']==="vip";
1002
+ },
957
1003
  },
958
1004
  created() {
959
1005
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -969,6 +1015,10 @@ export default {
969
1015
  this.getOrderDetail();
970
1016
  },
971
1017
 
1018
+ getAmount(price) {
1019
+ return this.$xdUniHelper.divisionFloatNumber(price,100)
1020
+ },
1021
+
972
1022
  timeDown() {
973
1023
  if (this.info.status.loading_timeout != "-1") {
974
1024
  this.times = this.info.status.loading_timeout;
@@ -1299,6 +1349,11 @@ export default {
1299
1349
  });
1300
1350
  // #endif
1301
1351
  },
1352
+ handleViewSupplement(item){
1353
+ this.showSupplement=true;
1354
+ this.supplementList = item.items
1355
+ this.supplementTitle = item.show_title
1356
+ },
1302
1357
  handleToLink(id, info) {
1303
1358
  this.$xdUniHelper.navigateTo({
1304
1359
  url: `${this.brandPath}?id=${id}&region_limit_tpl_id=${info.support_shops.region_limit_tpl_id}&xnamespace=${info.biz_code}`,
@@ -1417,6 +1472,12 @@ export default {
1417
1472
 
1418
1473
  <style scoped lang="less">
1419
1474
  @import "./JfbBaseOrderDetailLess.less";
1475
+ .line {
1476
+ border-radius: 2px;
1477
+ width: 6rpx;
1478
+ height: 24rpx;
1479
+ margin-right: 20rpx;
1480
+ }
1420
1481
 
1421
1482
  .code-url {
1422
1483
  display: flex;
@@ -1555,6 +1616,32 @@ export default {
1555
1616
  }
1556
1617
  }
1557
1618
  }
1619
+ &-supplement {
1620
+ border-top: 1px dashed #CCCCCC;
1621
+ margin-top: 32rpx;
1622
+ &-item {
1623
+ display: flex;
1624
+ align-items: center;
1625
+ justify-content: space-between;
1626
+ margin-top: 32rpx;
1627
+ margin-bottom: 32rpx;
1628
+ &-info {
1629
+ display: flex;
1630
+ align-items: center;
1631
+ &-tag {
1632
+ border: 1px solid;
1633
+ font-size: 20rpx;
1634
+ padding: 8rpx 16rpx;
1635
+ border-radius: 8rpx;
1636
+ margin-right: 20rpx;
1637
+ }
1638
+ &-title {
1639
+ color: #666666;
1640
+ font-size: 24rpx;
1641
+ }
1642
+ }
1643
+ }
1644
+ }
1558
1645
  }
1559
1646
 
1560
1647
  &-delivery {
@@ -1578,6 +1665,28 @@ export default {
1578
1665
  border-radius: unit(8, rpx);
1579
1666
  }
1580
1667
 
1668
+ &-bottom {
1669
+ margin-top: unit(32, rpx);
1670
+
1671
+ &-title {
1672
+ color: #333333;
1673
+ font-size: unit(28, rpx);
1674
+ font-weight: 500;
1675
+ margin-bottom: unit(20, rpx);
1676
+ }
1677
+
1678
+ &-item {
1679
+ color: #666666;
1680
+ font-size: unit(28, rpx);
1681
+ display: flex;
1682
+ margin-bottom: unit(16, rpx);
1683
+
1684
+ & > view:nth-child(2) {
1685
+ width: 80%;
1686
+ }
1687
+ }
1688
+ }
1689
+
1581
1690
  &-info {
1582
1691
  flex: 1;
1583
1692
  display: flex;
@@ -1620,6 +1729,35 @@ export default {
1620
1729
  }
1621
1730
  }
1622
1731
 
1732
+ &-info {
1733
+ margin-top: unit(32, rpx);
1734
+
1735
+ &-title {
1736
+ color: #333333;
1737
+ font-size: unit(28, rpx);
1738
+ margin-bottom: unit(20, rpx);
1739
+ display: flex;
1740
+ align-items: center;
1741
+ }
1742
+
1743
+ &-item {
1744
+ color: #333333;
1745
+ font-size: unit(24, rpx);
1746
+ display: flex;
1747
+ margin-bottom: unit(16, rpx);
1748
+ & > view:first-child{
1749
+ color: #999;
1750
+ }
1751
+
1752
+ & > view:nth-child(2) {
1753
+ width: 80%;
1754
+ }
1755
+ }
1756
+ &-item:last-child{
1757
+ margin-bottom: 0 !important;
1758
+ }
1759
+ }
1760
+
1623
1761
  &-bottom {
1624
1762
  margin-top: unit(32, rpx);
1625
1763
 
@@ -1641,8 +1779,10 @@ export default {
1641
1779
  }
1642
1780
  }
1643
1781
  }
1782
+
1644
1783
  }
1645
1784
 
1785
+
1646
1786
  &-num {
1647
1787
  &-info {
1648
1788
  display: flex;
@@ -1765,7 +1905,7 @@ export default {
1765
1905
  color: #737373;
1766
1906
  }
1767
1907
  }
1768
-
1908
+
1769
1909
  &-order {
1770
1910
  display: flex;
1771
1911
  align-items: center;
@@ -1961,5 +2101,23 @@ export default {
1961
2101
  }
1962
2102
 
1963
2103
  }
2104
+
2105
+ .supplement {
2106
+ padding: 48rpx;
2107
+ &-title {
2108
+ display: flex;
2109
+ align-items: center;
2110
+ color: #666666;
2111
+ font-size: 28rpx;
2112
+ }
2113
+ &-item {
2114
+ margin: 34rpx 0;
2115
+ display: flex;
2116
+ justify-content: space-between;
2117
+ align-items: center;
2118
+ color: #666;
2119
+ font-size: 28rpx;
2120
+ }
2121
+ }
1964
2122
  }
1965
2123
  </style>
@@ -8,6 +8,58 @@ export default {
8
8
  advanced: [],
9
9
  content: data=>{
10
10
  return [
11
+ {
12
+ label: "仍需扣点文案:",
13
+ ele: "el-input",
14
+ valueKey: "text1",
15
+ value: data.text1 || "仍需扣点",
16
+ groupKey: "content",
17
+ inline: false,
18
+ className: "input80",
19
+ },
20
+ {
21
+ label: "(可使用多张票券点数)是否展示",
22
+ ele: 'xd-radio',
23
+ valueKey: "showText2",
24
+ value: data.showText2 || 'Y',
25
+ groupKey: "content",
26
+ inline: true,
27
+ list: [
28
+ { label: "展示", value: "Y" },
29
+ { label: "不展示", value: "N" },
30
+ ],
31
+ },
32
+ data.showText2 === 'Y' && {
33
+ label: "(可使用多张票券点数)文案:",
34
+ ele: "el-input",
35
+ valueKey: "text2",
36
+ value: data.text2 || '(可使用多张票券点数)',
37
+ placeholder: '(可使用多张票券点数)',
38
+ groupKey: "content",
39
+ inline: false,
40
+ className: "input80",
41
+ },
42
+ {
43
+ label: "选择以下补差方式文案:",
44
+ ele: "el-input",
45
+ valueKey: "text3",
46
+ value: data.text3 || '选择以下补差方式',
47
+ groupKey: "content",
48
+ inline: false,
49
+ className: "input80",
50
+ },
51
+ {
52
+ label: "是否展示继续补差",
53
+ ele: "xd-radio",
54
+ valueKey: "showContinuePay",
55
+ value: data.showContinuePay || 'Y',
56
+ groupKey: "content",
57
+ inline: true,
58
+ list: [
59
+ { label: "展示", value: "Y" },
60
+ { label: "不展示", value: "N" },
61
+ ],
62
+ },
11
63
  ...styleForm.getForm(data),
12
64
  {
13
65
  label: '支付成功跳转路径:', //label
@@ -24,6 +24,7 @@
24
24
  <view class="column_value text-gray">
25
25
  <xd-unit
26
26
  :price="payInfo.total_amount"
27
+ :isShowIcon="isShowIcon"
27
28
  :isOld="false"
28
29
  :font-size="28"
29
30
  :icon-size="0.28"
@@ -39,6 +40,7 @@
39
40
  <!-- <xd-button width="220rpx" radius="60rpx" type="primary" size="small" @click="xdDownDrawer=true">使用新票券</xd-button> -->
40
41
  <xd-unit
41
42
  :price="payInfo.card_amount"
43
+ :isShowIcon="isShowIcon"
42
44
  :isOld="false"
43
45
  :font-size="28"
44
46
  :icon-size="0.28"
@@ -100,10 +102,11 @@
100
102
  <view class="remain_pay" v-if="payInfo.channel_amount > 0">
101
103
  <view style="border-bottom: 2rpx solid #eee;" class="column-group">
102
104
  <view class="column-item" style="padding: 30rpx 60rpx">
103
- <view class="column_label">仍需扣点<text class="label_sub">(可使用多张票券点数)</text></view>
105
+ <view class="column_label">{{text1}}<text v-if="showText2==='Y'" class="label_sub">{{ text2 }}</text></view>
104
106
  <view class="column_value text-primary">
105
107
  <xd-unit
106
108
  :price="payInfo.channel_amount"
109
+ :isShowIcon="isShowIcon"
107
110
  :isOld="false"
108
111
  :font-size="28"
109
112
  :icon-size="0.28"
@@ -112,8 +115,8 @@
112
115
  </view>
113
116
  </view>
114
117
  <view class="remain_header">
115
- <view>选择以下补差方式</view>
116
- <view class="flex align-center text-primary">
118
+ <view>{{ text3 }}</view>
119
+ <view v-if="showContinuePay==='Y'" class="flex align-center text-primary">
117
120
  <view class="margin-right">继续补差</view>
118
121
  <xd-unit
119
122
  :price="payInfo.channel_amount"
@@ -146,11 +149,14 @@
146
149
  <view class="bottom_btn-mask"></view>
147
150
  <view v-if="is_can_pay==='Y'" class="bottom_btn" :style="prod_bottom">
148
151
  <xd-button
149
- width="360rpx"
152
+ width="480rpx"
150
153
  type="primary"
151
154
  radius="50rpx"
152
155
  @click="doThirdPay"
153
- >确认</xd-button>
156
+ >
157
+ 确认支付
158
+ ¥{{ $xdUniHelper.divisionFloatNumber(payInfo.channel_amount, 100) }}
159
+ </xd-button>
154
160
  </view>
155
161
  </view>
156
162
  </view>
@@ -174,6 +180,7 @@ import {isWechat,isWechatTools} from "@/utils/xd.base";
174
180
  import color from "color";
175
181
  const Color = require('color');
176
182
  let styleForm = new StyleForm({bgColor: '#fafafa'}, getContainerPropsValue, 'pay', true);
183
+ import { mapState } from "vuex";
177
184
 
178
185
  export default {
179
186
  name: "JfbBasePay",
@@ -212,7 +219,12 @@ export default {
212
219
  rechargeSuccessPath: "", //充值成功
213
220
  ...styleForm.getDataItem(),
214
221
  borderColor:'rgba(0,0,0,0)',
215
- options:{}
222
+ options:{},
223
+ text1: "",
224
+ text2: "",
225
+ text3: "",
226
+ showText2: "Y",
227
+ showContinuePay: "",
216
228
  };
217
229
  },
218
230
  watch: {
@@ -222,6 +234,9 @@ export default {
222
234
  },
223
235
  },
224
236
  computed: {
237
+ ...mapState({
238
+ siteInfo: state => state.siteInfo,
239
+ }),
225
240
  prod_bottom() {
226
241
  return this.fixedStyle({ height: 0, zIndex: 111 });
227
242
  },
@@ -232,6 +247,10 @@ export default {
232
247
  }
233
248
  return url
234
249
  },
250
+ isShowIcon() {
251
+ if(this.$configProject['isPreview']) return true;
252
+ return this.siteInfo.mapping.is_show_coin_icon==='Y'
253
+ },
235
254
  ...styleForm.getComputedItem(),
236
255
  },
237
256
  created() {
@@ -262,6 +281,11 @@ export default {
262
281
  * @param container {object} 业务组件对象自己
263
282
  */
264
283
  init(container) {
284
+ this.text1 = getContainerPropsValue(container, 'content.text1', "仍需扣点");
285
+ this.text2 = getContainerPropsValue(container, 'content.text2', "(可使用多张票券点数)");
286
+ this.text3 = getContainerPropsValue(container, 'content.text3', "选择以下补差方式");
287
+ this.showText2 = getContainerPropsValue(container, 'content.showText2', "Y");
288
+ this.showContinuePay = getContainerPropsValue(container, 'content.showContinuePay', 'Y');
265
289
  this.paySuccessPath = getContainerPropsValue(
266
290
  container,
267
291
  "content.pay_success_path",
@@ -24,15 +24,6 @@ module.exports = {
24
24
  "card_use_price": 10000,
25
25
  "use_card_point": "5000"
26
26
  },
27
- {
28
- "card_number": "101001000005195",
29
- "card_type_name": "聚福宝福卡测试蛋糕",
30
- "end_time": 1679034403,
31
- "card_point": 5000,
32
- "is_bind_card": true,
33
- "card_use_price": 10000,
34
- "use_card_point": "5000"
35
- },
36
27
  ],
37
28
  },
38
29
  getBaseOrderStatus:{},
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:Personal
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ mapFnName: 'getBasePersonInfo',
10
+ title: '获取用户信息',
11
+ path: '/passport/v1/user/get',
12
+ params: {},
13
+ isRule: false,
14
+ isConsole: true,
15
+ disabled: true,
16
+ },
17
+ {
18
+ mapFnName: 'setBasePersonInfo',
19
+ title: '获取用户信息',
20
+ path: '/passport/v1/user/update-user-info',
21
+ data: {},
22
+ isRule: false,
23
+ isConsole: true,
24
+ disabled: true,
25
+ }
26
+ ];
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ ].filter(i=>i)
11
+ },
12
+ advanced: [],
13
+ };