jufubao-base 1.0.238 → 1.0.239-beta2

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 +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 +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 +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 +174 -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 +7 -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,8 @@
571
590
  >
572
591
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
573
592
  <xd-unit
593
+ :colorNew="isPlusSite ? '#999':''"
594
+ :largeZero="false"
574
595
  :fontSize="28"
575
596
  :iconSize="0.28"
576
597
  :fontWeight="item.style"
@@ -804,6 +825,20 @@
804
825
  <view v-if="dialogCode && dialogCode.tips" class="dialog_password"> {{ dialogCode.tips}}</view>
805
826
  <view v-if="dialogPassword" class="dialog_password">{{ dialogPassword }}</view>
806
827
  </xd-dailog>
828
+ <XdDownDrawer :isClose="false" height="auto" :show.sync="showSupplement">
829
+ <view class="supplement">
830
+ <view class="supplement-title">
831
+ <xd-font-icon @click="showSupplement=false" color="#666" size="30" icon="iconxiangzuo_xian"></xd-font-icon>
832
+ <view style="margin: 0 auto">{{supplementTitle}}</view>
833
+ </view>
834
+ <view style="color: #333333;margin-top: 58rpx;font-size: 28rpx;font-weight: 500">已购</view>
835
+ <view class="supplement-item" v-for="(item, index) in supplementList" :key="index">
836
+ <view>{{item.product_name}}</view>
837
+ <view>{{getAmount(item.sale_price)}}元 x {{item.product_num}}</view>
838
+ </view>
839
+ <xd-button type="primary" @click="showSupplement=false">关闭</xd-button>
840
+ </view>
841
+ </XdDownDrawer>
807
842
  </view>
808
843
  </template>
809
844
 
@@ -814,6 +849,7 @@ import XdTag from "@/components/XdTag/XdTag";
814
849
  import XdUnit from "@/components/XdUnit/XdUnit";
815
850
  import XdButton from "@/components/XdButton/XdButton";
816
851
  import XdDailog from "@/components/XdDailog/XdDailog";
852
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
817
853
  import { jfbRootExec } from "@/utils/xd.event";
818
854
  import JfbBaseOrderDetailMixin from "./JfbBaseOrderDetailMixin";
819
855
  import componentsMixins from "@/mixins/componentsMixins";
@@ -834,6 +870,7 @@ export default {
834
870
  XdButton,
835
871
  XdDailog,
836
872
  XdJfbImage,
873
+ XdDownDrawer
837
874
  },
838
875
  mixins: [componentsMixins, extsMixins, JfbBaseOrderDetailMixin],
839
876
  data() {
@@ -901,6 +938,10 @@ export default {
901
938
  showPreviewCode: true,
902
939
  is_show_product: "",
903
940
  btnTextSize: 20,
941
+
942
+ showSupplement: false,
943
+ supplementList: [],
944
+ supplementTitle: "",
904
945
  };
905
946
  },
906
947
  watch: {
@@ -953,7 +994,10 @@ export default {
953
994
  padding: padding,
954
995
  backgroundColor: this.bottomBgColor,
955
996
  }
956
- }
997
+ },
998
+ isPlusSite(){
999
+ return this.projectAttr.headers['X-Site-Group']==="vip";
1000
+ },
957
1001
  },
958
1002
  created() {
959
1003
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -969,6 +1013,10 @@ export default {
969
1013
  this.getOrderDetail();
970
1014
  },
971
1015
 
1016
+ getAmount(price) {
1017
+ return this.$xdUniHelper.divisionFloatNumber(price,100)
1018
+ },
1019
+
972
1020
  timeDown() {
973
1021
  if (this.info.status.loading_timeout != "-1") {
974
1022
  this.times = this.info.status.loading_timeout;
@@ -1299,6 +1347,11 @@ export default {
1299
1347
  });
1300
1348
  // #endif
1301
1349
  },
1350
+ handleViewSupplement(item){
1351
+ this.showSupplement=true;
1352
+ this.supplementList = item.items
1353
+ this.supplementTitle = item.show_title
1354
+ },
1302
1355
  handleToLink(id, info) {
1303
1356
  this.$xdUniHelper.navigateTo({
1304
1357
  url: `${this.brandPath}?id=${id}&region_limit_tpl_id=${info.support_shops.region_limit_tpl_id}&xnamespace=${info.biz_code}`,
@@ -1417,6 +1470,12 @@ export default {
1417
1470
 
1418
1471
  <style scoped lang="less">
1419
1472
  @import "./JfbBaseOrderDetailLess.less";
1473
+ .line {
1474
+ border-radius: 2px;
1475
+ width: 6rpx;
1476
+ height: 24rpx;
1477
+ margin-right: 20rpx;
1478
+ }
1420
1479
 
1421
1480
  .code-url {
1422
1481
  display: flex;
@@ -1555,6 +1614,32 @@ export default {
1555
1614
  }
1556
1615
  }
1557
1616
  }
1617
+ &-supplement {
1618
+ border-top: 1px dashed #CCCCCC;
1619
+ margin-top: 32rpx;
1620
+ &-item {
1621
+ display: flex;
1622
+ align-items: center;
1623
+ justify-content: space-between;
1624
+ margin-top: 32rpx;
1625
+ margin-bottom: 32rpx;
1626
+ &-info {
1627
+ display: flex;
1628
+ align-items: center;
1629
+ &-tag {
1630
+ border: 1px solid;
1631
+ font-size: 20rpx;
1632
+ padding: 8rpx 16rpx;
1633
+ border-radius: 8rpx;
1634
+ margin-right: 20rpx;
1635
+ }
1636
+ &-title {
1637
+ color: #666666;
1638
+ font-size: 24rpx;
1639
+ }
1640
+ }
1641
+ }
1642
+ }
1558
1643
  }
1559
1644
 
1560
1645
  &-delivery {
@@ -1578,6 +1663,28 @@ export default {
1578
1663
  border-radius: unit(8, rpx);
1579
1664
  }
1580
1665
 
1666
+ &-bottom {
1667
+ margin-top: unit(32, rpx);
1668
+
1669
+ &-title {
1670
+ color: #333333;
1671
+ font-size: unit(28, rpx);
1672
+ font-weight: 500;
1673
+ margin-bottom: unit(20, rpx);
1674
+ }
1675
+
1676
+ &-item {
1677
+ color: #666666;
1678
+ font-size: unit(28, rpx);
1679
+ display: flex;
1680
+ margin-bottom: unit(16, rpx);
1681
+
1682
+ & > view:nth-child(2) {
1683
+ width: 80%;
1684
+ }
1685
+ }
1686
+ }
1687
+
1581
1688
  &-info {
1582
1689
  flex: 1;
1583
1690
  display: flex;
@@ -1620,6 +1727,35 @@ export default {
1620
1727
  }
1621
1728
  }
1622
1729
 
1730
+ &-info {
1731
+ margin-top: unit(32, rpx);
1732
+
1733
+ &-title {
1734
+ color: #333333;
1735
+ font-size: unit(28, rpx);
1736
+ margin-bottom: unit(20, rpx);
1737
+ display: flex;
1738
+ align-items: center;
1739
+ }
1740
+
1741
+ &-item {
1742
+ color: #333333;
1743
+ font-size: unit(24, rpx);
1744
+ display: flex;
1745
+ margin-bottom: unit(16, rpx);
1746
+ & > view:first-child{
1747
+ color: #999;
1748
+ }
1749
+
1750
+ & > view:nth-child(2) {
1751
+ width: 80%;
1752
+ }
1753
+ }
1754
+ &-item:last-child{
1755
+ margin-bottom: 0 !important;
1756
+ }
1757
+ }
1758
+
1623
1759
  &-bottom {
1624
1760
  margin-top: unit(32, rpx);
1625
1761
 
@@ -1641,8 +1777,10 @@ export default {
1641
1777
  }
1642
1778
  }
1643
1779
  }
1780
+
1644
1781
  }
1645
1782
 
1783
+
1646
1784
  &-num {
1647
1785
  &-info {
1648
1786
  display: flex;
@@ -1765,7 +1903,7 @@ export default {
1765
1903
  color: #737373;
1766
1904
  }
1767
1905
  }
1768
-
1906
+
1769
1907
  &-order {
1770
1908
  display: flex;
1771
1909
  align-items: center;
@@ -1961,5 +2099,23 @@ export default {
1961
2099
  }
1962
2100
 
1963
2101
  }
2102
+
2103
+ .supplement {
2104
+ padding: 48rpx;
2105
+ &-title {
2106
+ display: flex;
2107
+ align-items: center;
2108
+ color: #666666;
2109
+ font-size: 28rpx;
2110
+ }
2111
+ &-item {
2112
+ margin: 34rpx 0;
2113
+ display: flex;
2114
+ justify-content: space-between;
2115
+ align-items: center;
2116
+ color: #666;
2117
+ font-size: 28rpx;
2118
+ }
2119
+ }
1964
2120
  }
1965
2121
  </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
+ };