jufubao-base 1.0.238-beta71 → 1.0.239-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 +334 -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 +1044 -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 +11 -0
  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 +27 -8
  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 +179 -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 +14 -0
  97. package/src/components/JfbBaseShare/JfbBaseShare.vue +273 -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 +12 -2
  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,6 +590,9 @@
571
590
  >
572
591
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
573
592
  <xd-unit
593
+ :isShowIcon="isShowIcon"
594
+ :colorNew="isPlusSite ? '#999':''"
595
+ :largeZero="false"
574
596
  :fontSize="28"
575
597
  :iconSize="0.28"
576
598
  :fontWeight="item.style"
@@ -804,6 +826,20 @@
804
826
  <view v-if="dialogCode && dialogCode.tips" class="dialog_password"> {{ dialogCode.tips}}</view>
805
827
  <view v-if="dialogPassword" class="dialog_password">{{ dialogPassword }}</view>
806
828
  </xd-dailog>
829
+ <XdDownDrawer :isClose="false" height="auto" :show.sync="showSupplement">
830
+ <view class="supplement">
831
+ <view class="supplement-title">
832
+ <xd-font-icon @click="showSupplement=false" color="#666" size="30" icon="iconxiangzuo_xian"></xd-font-icon>
833
+ <view style="margin: 0 auto">{{supplementTitle}}</view>
834
+ </view>
835
+ <view style="color: #333333;margin-top: 58rpx;font-size: 28rpx;font-weight: 500">已购</view>
836
+ <view class="supplement-item" v-for="(item, index) in supplementList" :key="index">
837
+ <view>{{item.product_name}}</view>
838
+ <view>{{getAmount(item.sale_price)}}元 x {{item.product_num}}</view>
839
+ </view>
840
+ <xd-button type="primary" @click="showSupplement=false">关闭</xd-button>
841
+ </view>
842
+ </XdDownDrawer>
807
843
  </view>
808
844
  </template>
809
845
 
@@ -814,6 +850,7 @@ import XdTag from "@/components/XdTag/XdTag";
814
850
  import XdUnit from "@/components/XdUnit/XdUnit";
815
851
  import XdButton from "@/components/XdButton/XdButton";
816
852
  import XdDailog from "@/components/XdDailog/XdDailog";
853
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
817
854
  import { jfbRootExec } from "@/utils/xd.event";
818
855
  import JfbBaseOrderDetailMixin from "./JfbBaseOrderDetailMixin";
819
856
  import componentsMixins from "@/mixins/componentsMixins";
@@ -834,6 +871,7 @@ export default {
834
871
  XdButton,
835
872
  XdDailog,
836
873
  XdJfbImage,
874
+ XdDownDrawer
837
875
  },
838
876
  mixins: [componentsMixins, extsMixins, JfbBaseOrderDetailMixin],
839
877
  data() {
@@ -901,6 +939,10 @@ export default {
901
939
  showPreviewCode: true,
902
940
  is_show_product: "",
903
941
  btnTextSize: 20,
942
+
943
+ showSupplement: false,
944
+ supplementList: [],
945
+ supplementTitle: "",
904
946
  };
905
947
  },
906
948
  watch: {
@@ -953,7 +995,14 @@ export default {
953
995
  padding: padding,
954
996
  backgroundColor: this.bottomBgColor,
955
997
  }
956
- }
998
+ },
999
+ isShowIcon() {
1000
+ if(this.$configProject['isPreview']) return true;
1001
+ return this.siteInfo.mapping.is_show_coin_icon==='Y'
1002
+ },
1003
+ isPlusSite(){
1004
+ return this.projectAttr.headers['X-Site-Group']==="vip";
1005
+ },
957
1006
  },
958
1007
  created() {
959
1008
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -969,6 +1018,10 @@ export default {
969
1018
  this.getOrderDetail();
970
1019
  },
971
1020
 
1021
+ getAmount(price) {
1022
+ return this.$xdUniHelper.divisionFloatNumber(price,100)
1023
+ },
1024
+
972
1025
  timeDown() {
973
1026
  if (this.info.status.loading_timeout != "-1") {
974
1027
  this.times = this.info.status.loading_timeout;
@@ -1299,6 +1352,11 @@ export default {
1299
1352
  });
1300
1353
  // #endif
1301
1354
  },
1355
+ handleViewSupplement(item){
1356
+ this.showSupplement=true;
1357
+ this.supplementList = item.items
1358
+ this.supplementTitle = item.show_title
1359
+ },
1302
1360
  handleToLink(id, info) {
1303
1361
  this.$xdUniHelper.navigateTo({
1304
1362
  url: `${this.brandPath}?id=${id}&region_limit_tpl_id=${info.support_shops.region_limit_tpl_id}&xnamespace=${info.biz_code}`,
@@ -1417,6 +1475,12 @@ export default {
1417
1475
 
1418
1476
  <style scoped lang="less">
1419
1477
  @import "./JfbBaseOrderDetailLess.less";
1478
+ .line {
1479
+ border-radius: 2px;
1480
+ width: 6rpx;
1481
+ height: 24rpx;
1482
+ margin-right: 20rpx;
1483
+ }
1420
1484
 
1421
1485
  .code-url {
1422
1486
  display: flex;
@@ -1555,6 +1619,32 @@ export default {
1555
1619
  }
1556
1620
  }
1557
1621
  }
1622
+ &-supplement {
1623
+ border-top: 1px dashed #CCCCCC;
1624
+ margin-top: 32rpx;
1625
+ &-item {
1626
+ display: flex;
1627
+ align-items: center;
1628
+ justify-content: space-between;
1629
+ margin-top: 32rpx;
1630
+ margin-bottom: 32rpx;
1631
+ &-info {
1632
+ display: flex;
1633
+ align-items: center;
1634
+ &-tag {
1635
+ border: 1px solid;
1636
+ font-size: 20rpx;
1637
+ padding: 8rpx 16rpx;
1638
+ border-radius: 8rpx;
1639
+ margin-right: 20rpx;
1640
+ }
1641
+ &-title {
1642
+ color: #666666;
1643
+ font-size: 24rpx;
1644
+ }
1645
+ }
1646
+ }
1647
+ }
1558
1648
  }
1559
1649
 
1560
1650
  &-delivery {
@@ -1578,6 +1668,28 @@ export default {
1578
1668
  border-radius: unit(8, rpx);
1579
1669
  }
1580
1670
 
1671
+ &-bottom {
1672
+ margin-top: unit(32, rpx);
1673
+
1674
+ &-title {
1675
+ color: #333333;
1676
+ font-size: unit(28, rpx);
1677
+ font-weight: 500;
1678
+ margin-bottom: unit(20, rpx);
1679
+ }
1680
+
1681
+ &-item {
1682
+ color: #666666;
1683
+ font-size: unit(28, rpx);
1684
+ display: flex;
1685
+ margin-bottom: unit(16, rpx);
1686
+
1687
+ & > view:nth-child(2) {
1688
+ width: 80%;
1689
+ }
1690
+ }
1691
+ }
1692
+
1581
1693
  &-info {
1582
1694
  flex: 1;
1583
1695
  display: flex;
@@ -1620,6 +1732,35 @@ export default {
1620
1732
  }
1621
1733
  }
1622
1734
 
1735
+ &-info {
1736
+ margin-top: unit(32, rpx);
1737
+
1738
+ &-title {
1739
+ color: #333333;
1740
+ font-size: unit(28, rpx);
1741
+ margin-bottom: unit(20, rpx);
1742
+ display: flex;
1743
+ align-items: center;
1744
+ }
1745
+
1746
+ &-item {
1747
+ color: #333333;
1748
+ font-size: unit(24, rpx);
1749
+ display: flex;
1750
+ margin-bottom: unit(16, rpx);
1751
+ & > view:first-child{
1752
+ color: #999;
1753
+ }
1754
+
1755
+ & > view:nth-child(2) {
1756
+ width: 80%;
1757
+ }
1758
+ }
1759
+ &-item:last-child{
1760
+ margin-bottom: 0 !important;
1761
+ }
1762
+ }
1763
+
1623
1764
  &-bottom {
1624
1765
  margin-top: unit(32, rpx);
1625
1766
 
@@ -1641,8 +1782,10 @@ export default {
1641
1782
  }
1642
1783
  }
1643
1784
  }
1785
+
1644
1786
  }
1645
1787
 
1788
+
1646
1789
  &-num {
1647
1790
  &-info {
1648
1791
  display: flex;
@@ -1765,7 +1908,7 @@ export default {
1765
1908
  color: #737373;
1766
1909
  }
1767
1910
  }
1768
-
1911
+
1769
1912
  &-order {
1770
1913
  display: flex;
1771
1914
  align-items: center;
@@ -1961,5 +2104,23 @@ export default {
1961
2104
  }
1962
2105
 
1963
2106
  }
2107
+
2108
+ .supplement {
2109
+ padding: 48rpx;
2110
+ &-title {
2111
+ display: flex;
2112
+ align-items: center;
2113
+ color: #666666;
2114
+ font-size: 28rpx;
2115
+ }
2116
+ &-item {
2117
+ margin: 34rpx 0;
2118
+ display: flex;
2119
+ justify-content: space-between;
2120
+ align-items: center;
2121
+ color: #666;
2122
+ font-size: 28rpx;
2123
+ }
2124
+ }
1964
2125
  }
1965
2126
  </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
+ };