jufubao-base 1.0.243-beta201 → 1.0.243-beta202

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 (138) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAfterSales/JfbBaseAfterSales.vue +40 -3
  3. package/src/components/JfbBaseAfterSales/Mock.js +2 -9
  4. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetail.vue +12 -3
  5. package/src/components/JfbBaseAfterSalesDetail/secProd.vue +9 -1
  6. package/src/components/JfbBaseAfterSalesList/Attr.js +23 -0
  7. package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesList.vue +31 -6
  8. package/src/components/JfbBaseBalance/Api.js +46 -0
  9. package/src/components/JfbBaseBalance/Attr.js +316 -0
  10. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +336 -0
  11. package/src/components/JfbBaseBalance/JfbBaseBalanceLess.less +79 -0
  12. package/src/components/JfbBaseBalance/JfbBaseBalanceMixin.js +30 -0
  13. package/src/components/JfbBaseBalance/Mock.js +9 -0
  14. package/src/components/JfbBaseCodeOpenVip/Api.js +35 -0
  15. package/src/components/JfbBaseCodeOpenVip/Attr.js +281 -0
  16. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +251 -0
  17. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipLess.less +79 -0
  18. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipMixin.js +30 -0
  19. package/src/components/JfbBaseCodeOpenVip/Mock.js +13 -0
  20. package/src/components/JfbBaseConsumpCode/Api.js +133 -0
  21. package/src/components/JfbBaseConsumpCode/Attr.js +74 -0
  22. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +1111 -0
  23. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeLess.less +79 -0
  24. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeMixin.js +30 -0
  25. package/src/components/JfbBaseConsumpCode/Mock.js +22 -0
  26. package/src/components/JfbBaseFastLink/Attr.js +12 -1
  27. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +66 -0
  28. package/src/components/JfbBaseFooter/Attr.js +12 -0
  29. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +13 -0
  30. package/src/components/JfbBaseHeader/Attr.js +82 -0
  31. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +47 -1
  32. package/src/components/JfbBaseHeaderColumn/Attr.js +82 -0
  33. package/src/components/JfbBaseHeaderColumn/JfbBaseHeaderColumn.vue +48 -2
  34. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +17 -3
  35. package/src/components/JfbBaseNoticeDialog/Api.js +1 -1
  36. package/src/components/JfbBaseNoticeDialog/Attr.js +26 -0
  37. package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +38 -15
  38. package/src/components/JfbBaseNoticeGroup/Api.js +23 -0
  39. package/src/components/JfbBaseNoticeGroup/Attr.js +237 -0
  40. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroup.vue +174 -0
  41. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupLess.less +79 -0
  42. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupMixin.js +30 -0
  43. package/src/components/JfbBaseNoticeGroup/Mock.js +13 -0
  44. package/src/components/JfbBaseOpenVip/Api.js +39 -0
  45. package/src/components/JfbBaseOpenVip/Attr.js +331 -0
  46. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +459 -0
  47. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipLess.less +79 -0
  48. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipMixin.js +30 -0
  49. package/src/components/JfbBaseOpenVip/Mock.js +7 -0
  50. package/src/components/JfbBaseOpenVip/XdVipList.vue +130 -0
  51. package/src/components/JfbBaseOpenVipCard/Api.js +58 -0
  52. package/src/components/JfbBaseOpenVipCard/Attr.js +48 -0
  53. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCard.vue +111 -0
  54. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardLess.less +79 -0
  55. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardMixin.js +30 -0
  56. package/src/components/JfbBaseOpenVipCard/Mock.js +13 -0
  57. package/src/components/JfbBaseOpenVipDetail/Api.js +35 -0
  58. package/src/components/JfbBaseOpenVipDetail/Attr.js +37 -0
  59. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +234 -0
  60. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailLess.less +79 -0
  61. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailMixin.js +30 -0
  62. package/src/components/JfbBaseOpenVipDetail/Mock.js +15 -0
  63. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +191 -19
  64. package/src/components/JfbBaseOrderList/Api.js +11 -0
  65. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +31 -13
  66. package/src/components/JfbBasePay/Attr.js +52 -0
  67. package/src/components/JfbBasePay/JfbBasePay.vue +23 -6
  68. package/src/components/JfbBasePay/Mock.js +0 -9
  69. package/src/components/JfbBasePersonalData/Api.js +26 -0
  70. package/src/components/JfbBasePersonalData/Attr.js +13 -0
  71. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +278 -0
  72. package/src/components/JfbBasePersonalData/JfbBasePersonalDataLess.less +79 -0
  73. package/src/components/JfbBasePersonalData/JfbBasePersonalDataMixin.js +30 -0
  74. package/src/components/JfbBasePersonalData/Mock.js +13 -0
  75. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +11 -1
  76. package/src/components/JfbBasePointsCard/Api.js +18 -0
  77. package/src/components/JfbBasePointsCard/Attr.js +187 -0
  78. package/src/components/JfbBasePointsCard/JfbBasePointsCard.vue +212 -0
  79. package/src/components/JfbBasePointsCard/JfbBasePointsCardLess.less +79 -0
  80. package/src/components/JfbBasePointsCard/JfbBasePointsCardMixin.js +30 -0
  81. package/src/components/JfbBasePointsCard/Mock.js +5 -0
  82. package/src/components/JfbBasePointsDetail/Api.js +48 -0
  83. package/src/components/JfbBasePointsDetail/Attr.js +305 -0
  84. package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +267 -0
  85. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailLess.less +79 -0
  86. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailMixin.js +30 -0
  87. package/src/components/JfbBasePointsDetail/Mock.js +6 -0
  88. package/src/components/JfbBasePoster/Attr.js +1 -1
  89. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +2 -2
  90. package/src/components/JfbBasePosterGroup/Api.js +22 -0
  91. package/src/components/JfbBasePosterGroup/Attr.js +156 -0
  92. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +268 -0
  93. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupLess.less +79 -0
  94. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupMixin.js +30 -0
  95. package/src/components/JfbBasePosterGroup/Mock.js +13 -0
  96. package/src/components/JfbBaseSavingDetail/Api.js +41 -0
  97. package/src/components/JfbBaseSavingDetail/Attr.js +70 -0
  98. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +724 -0
  99. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailLess.less +79 -0
  100. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailMixin.js +30 -0
  101. package/src/components/JfbBaseSavingDetail/Mock.js +10 -0
  102. package/src/components/JfbBaseSavingDetail/components/echarts.min.js +26 -0
  103. package/src/components/JfbBaseSavingDetail/components/echarts.vue +254 -0
  104. package/src/components/JfbBaseSavingDetail/components/wx-canvas.js +105 -0
  105. package/src/components/JfbBaseShare/Api.js +20 -0
  106. package/src/components/JfbBaseShare/Attr.js +59 -0
  107. package/src/components/JfbBaseShare/JfbBaseShare.vue +282 -0
  108. package/src/components/JfbBaseShare/JfbBaseShareLess.less +79 -0
  109. package/src/components/JfbBaseShare/JfbBaseShareMixin.js +30 -0
  110. package/src/components/JfbBaseShare/Mock.js +16 -0
  111. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +14 -3
  112. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +12 -22
  113. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +12 -1
  114. package/src/components/JfbBaseTfkSearch/Mock.js +51 -3
  115. package/src/components/JfbBaseTfkSearch/listMixins.js +2 -1
  116. package/src/components/JfbBaseUserInfo/Attr.js +175 -11
  117. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +342 -119
  118. package/src/components/JfbBaseUserOrder/Attr.js +16 -0
  119. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +11 -2
  120. package/src/components/JfbBaseWithDrawAgain/Api.js +41 -0
  121. package/src/components/JfbBaseWithDrawAgain/Attr.js +92 -0
  122. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgain.vue +354 -0
  123. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainLess.less +79 -0
  124. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainMixin.js +30 -0
  125. package/src/components/JfbBaseWithDrawAgain/Mock.js +10 -0
  126. package/src/components/JfbBaseWithDrawRecord/Api.js +19 -0
  127. package/src/components/JfbBaseWithDrawRecord/Attr.js +79 -0
  128. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +233 -0
  129. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordLess.less +79 -0
  130. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordMixin.js +30 -0
  131. package/src/components/JfbBaseWithDrawRecord/Mock.js +7 -0
  132. package/src/components/JfbBaseWithdraw/Api.js +48 -0
  133. package/src/components/JfbBaseWithdraw/Attr.js +328 -0
  134. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +272 -0
  135. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawLess.less +79 -0
  136. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawMixin.js +30 -0
  137. package/src/components/JfbBaseWithdraw/Mock.js +7 -0
  138. 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'"
@@ -758,6 +781,19 @@
758
781
  </xd-button>
759
782
  </view>
760
783
  </view>
784
+ <view v-else-if="item.action === 'apply_refund'">
785
+ <xd-button
786
+ v-if="showApplyAfter === 'Y'"
787
+ size="small"
788
+ :type="item.type !== undefined ? item.type: 'primary'"
789
+ :radius="bottomBtnRadius + 'rpx'"
790
+ :style="{
791
+ height: bottomBtnHeight + 'rpx',
792
+ lineHeight: bottomBtnHeight + 'rpx',
793
+ }"
794
+ @click="handleAction(item)"
795
+ >{{ item.text }}</xd-button>
796
+ </view>
761
797
  <view v-else>
762
798
  <xd-button
763
799
  size="small"
@@ -804,6 +840,20 @@
804
840
  <view v-if="dialogCode && dialogCode.tips" class="dialog_password"> {{ dialogCode.tips}}</view>
805
841
  <view v-if="dialogPassword" class="dialog_password">{{ dialogPassword }}</view>
806
842
  </xd-dailog>
843
+ <XdDownDrawer :isClose="false" height="auto" :show.sync="showSupplement">
844
+ <view class="supplement">
845
+ <view class="supplement-title">
846
+ <xd-font-icon @click="showSupplement=false" color="#666" size="30" icon="iconxiangzuo_xian"></xd-font-icon>
847
+ <view style="margin: 0 auto">{{supplementTitle}}</view>
848
+ </view>
849
+ <view style="color: #333333;margin-top: 58rpx;font-size: 28rpx;font-weight: 500">已购</view>
850
+ <view class="supplement-item" v-for="(item, index) in supplementList" :key="index">
851
+ <view>{{item.product_name}}</view>
852
+ <view>{{getAmount(item.sale_price)}}元 x {{item.product_num}}</view>
853
+ </view>
854
+ <xd-button type="primary" @click="showSupplement=false">关闭</xd-button>
855
+ </view>
856
+ </XdDownDrawer>
807
857
  </view>
808
858
  </template>
809
859
 
@@ -814,6 +864,7 @@ import XdTag from "@/components/XdTag/XdTag";
814
864
  import XdUnit from "@/components/XdUnit/XdUnit";
815
865
  import XdButton from "@/components/XdButton/XdButton";
816
866
  import XdDailog from "@/components/XdDailog/XdDailog";
867
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
817
868
  import { jfbRootExec } from "@/utils/xd.event";
818
869
  import JfbBaseOrderDetailMixin from "./JfbBaseOrderDetailMixin";
819
870
  import componentsMixins from "@/mixins/componentsMixins";
@@ -834,6 +885,7 @@ export default {
834
885
  XdButton,
835
886
  XdDailog,
836
887
  XdJfbImage,
888
+ XdDownDrawer
837
889
  },
838
890
  mixins: [componentsMixins, extsMixins, JfbBaseOrderDetailMixin],
839
891
  data() {
@@ -905,6 +957,10 @@ export default {
905
957
  refundPath: "",
906
958
  refundFastPath: "",
907
959
  btnTextSize: 20,
960
+
961
+ showSupplement: false,
962
+ supplementList: [],
963
+ supplementTitle: "",
908
964
  };
909
965
  },
910
966
  watch: {
@@ -957,7 +1013,10 @@ export default {
957
1013
  padding: padding,
958
1014
  backgroundColor: this.bottomBgColor,
959
1015
  }
960
- }
1016
+ },
1017
+ isPlusSite(){
1018
+ return this.projectAttr.headers['X-Site-Group']==="vip";
1019
+ },
961
1020
  },
962
1021
  created() {
963
1022
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -973,6 +1032,10 @@ export default {
973
1032
  this.getOrderDetail();
974
1033
  },
975
1034
 
1035
+ getAmount(price) {
1036
+ return this.$xdUniHelper.divisionFloatNumber(price,100)
1037
+ },
1038
+
976
1039
  timeDown() {
977
1040
  if (this.info.status.loading_timeout != "-1") {
978
1041
  this.times = this.info.status.loading_timeout;
@@ -999,6 +1062,7 @@ export default {
999
1062
  custom_content_container_id: this.cid,
1000
1063
  is_show_jhd_code: Number(this.is_show),
1001
1064
  is_show_product: this.is_show_product === "Y" ? 1 : 0,
1065
+ version: 'v2'
1002
1066
  },
1003
1067
  })
1004
1068
  .then((res) => {
@@ -1199,7 +1263,7 @@ export default {
1199
1263
  * @param container {object} 业务组件对象自己
1200
1264
  */
1201
1265
  init(container) {
1202
- this.showApplyAfter = getContainerPropsValue(container, "content.showApplyAfter", "");
1266
+ this.showApplyAfter = getContainerPropsValue(container, "content.showApplyAfter", "N");
1203
1267
 
1204
1268
  this.bgColor = this.$colorChange(this.mainColor).alpha(0.1).toString();
1205
1269
  this.brandPath = getContainerPropsValue(container, "content.brandPath", {value: "",}).value;
@@ -1306,6 +1370,11 @@ export default {
1306
1370
  });
1307
1371
  // #endif
1308
1372
  },
1373
+ handleViewSupplement(item){
1374
+ this.showSupplement=true;
1375
+ this.supplementList = item.items
1376
+ this.supplementTitle = item.show_title
1377
+ },
1309
1378
  handleToLink(id, info) {
1310
1379
  this.$xdUniHelper.navigateTo({
1311
1380
  url: `${this.brandPath}?id=${id}&region_limit_tpl_id=${info.support_shops.region_limit_tpl_id}&xnamespace=${info.biz_code}`,
@@ -1437,6 +1506,12 @@ export default {
1437
1506
 
1438
1507
  <style scoped lang="less">
1439
1508
  @import "./JfbBaseOrderDetailLess.less";
1509
+ .line {
1510
+ border-radius: 2px;
1511
+ width: 6rpx;
1512
+ height: 24rpx;
1513
+ margin-right: 20rpx;
1514
+ }
1440
1515
 
1441
1516
  .code-url {
1442
1517
  display: flex;
@@ -1575,6 +1650,32 @@ export default {
1575
1650
  }
1576
1651
  }
1577
1652
  }
1653
+ &-supplement {
1654
+ border-top: 1px dashed #CCCCCC;
1655
+ margin-top: 32rpx;
1656
+ &-item {
1657
+ display: flex;
1658
+ align-items: center;
1659
+ justify-content: space-between;
1660
+ margin-top: 32rpx;
1661
+ margin-bottom: 32rpx;
1662
+ &-info {
1663
+ display: flex;
1664
+ align-items: center;
1665
+ &-tag {
1666
+ border: 1px solid;
1667
+ font-size: 20rpx;
1668
+ padding: 8rpx 16rpx;
1669
+ border-radius: 8rpx;
1670
+ margin-right: 20rpx;
1671
+ }
1672
+ &-title {
1673
+ color: #666666;
1674
+ font-size: 24rpx;
1675
+ }
1676
+ }
1677
+ }
1678
+ }
1578
1679
  }
1579
1680
 
1580
1681
  &-delivery {
@@ -1598,6 +1699,28 @@ export default {
1598
1699
  border-radius: unit(8, rpx);
1599
1700
  }
1600
1701
 
1702
+ &-bottom {
1703
+ margin-top: unit(32, rpx);
1704
+
1705
+ &-title {
1706
+ color: #333333;
1707
+ font-size: unit(28, rpx);
1708
+ font-weight: 500;
1709
+ margin-bottom: unit(20, rpx);
1710
+ }
1711
+
1712
+ &-item {
1713
+ color: #666666;
1714
+ font-size: unit(28, rpx);
1715
+ display: flex;
1716
+ margin-bottom: unit(16, rpx);
1717
+
1718
+ & > view:nth-child(2) {
1719
+ width: 80%;
1720
+ }
1721
+ }
1722
+ }
1723
+
1601
1724
  &-info {
1602
1725
  flex: 1;
1603
1726
  display: flex;
@@ -1640,6 +1763,35 @@ export default {
1640
1763
  }
1641
1764
  }
1642
1765
 
1766
+ &-info {
1767
+ margin-top: unit(32, rpx);
1768
+
1769
+ &-title {
1770
+ color: #333333;
1771
+ font-size: unit(28, rpx);
1772
+ margin-bottom: unit(20, rpx);
1773
+ display: flex;
1774
+ align-items: center;
1775
+ }
1776
+
1777
+ &-item {
1778
+ color: #333333;
1779
+ font-size: unit(24, rpx);
1780
+ display: flex;
1781
+ margin-bottom: unit(16, rpx);
1782
+ & > view:first-child{
1783
+ color: #999;
1784
+ }
1785
+
1786
+ & > view:nth-child(2) {
1787
+ width: 80%;
1788
+ }
1789
+ }
1790
+ &-item:last-child{
1791
+ margin-bottom: 0 !important;
1792
+ }
1793
+ }
1794
+
1643
1795
  &-bottom {
1644
1796
  margin-top: unit(32, rpx);
1645
1797
 
@@ -1661,8 +1813,10 @@ export default {
1661
1813
  }
1662
1814
  }
1663
1815
  }
1816
+
1664
1817
  }
1665
1818
 
1819
+
1666
1820
  &-num {
1667
1821
  &-info {
1668
1822
  display: flex;
@@ -1785,7 +1939,7 @@ export default {
1785
1939
  color: #737373;
1786
1940
  }
1787
1941
  }
1788
-
1942
+
1789
1943
  &-order {
1790
1944
  display: flex;
1791
1945
  align-items: center;
@@ -1981,5 +2135,23 @@ export default {
1981
2135
  }
1982
2136
 
1983
2137
  }
2138
+
2139
+ .supplement {
2140
+ padding: 48rpx;
2141
+ &-title {
2142
+ display: flex;
2143
+ align-items: center;
2144
+ color: #666666;
2145
+ font-size: 28rpx;
2146
+ }
2147
+ &-item {
2148
+ margin: 34rpx 0;
2149
+ display: flex;
2150
+ justify-content: space-between;
2151
+ align-items: center;
2152
+ color: #666;
2153
+ font-size: 28rpx;
2154
+ }
2155
+ }
1984
2156
  }
1985
2157
  </style>
@@ -35,4 +35,15 @@ module.exports = [
35
35
  isConsole: true,
36
36
  disabled: true,
37
37
  },
38
+ {
39
+ path: "/aftersale/v1/service-order/order-support-quick-refund",
40
+ title: "售后订单支持快速退款",
41
+ mapFnName: "getSupportQuickRefund",
42
+ isRule: false,
43
+ params: {
44
+ order_id: ['订单ID', 'String', true],
45
+ },
46
+ isConsole: true,
47
+ disabled: true,
48
+ }
38
49
  ];
@@ -152,7 +152,7 @@
152
152
  </view>
153
153
  <view
154
154
  class="jfb-base-order-list__body-order-item-pay"
155
- v-if="item.buttons.length"
155
+ v-if="isShowFooter(item.buttons)"
156
156
  >
157
157
  <view v-for="(btn,index) in item.buttons" :key="btn.key">
158
158
  <template v-if="btn.action === 'apply_refund'">
@@ -421,7 +421,10 @@ export default {
421
421
  },
422
422
  });
423
423
  },
424
-
424
+ isShowFooter(buttons){
425
+ if(this.showApplyAfter === 'Y') return buttons.length > 0;
426
+ else return buttons.filter(item => item.action !== 'apply_refund').length > 0;
427
+ },
425
428
  handleBtnEvent(action, item) {
426
429
  if (action === "cancel_unpaid") {
427
430
  //取消订单
@@ -445,17 +448,31 @@ export default {
445
448
  url: `${this.payPath}?order_id=${item.pay_order_id}&main_order_id=${item.main_order_id}`,
446
449
  });
447
450
  } else if( action === 'apply_refund'){
448
- //普通退款
449
- if(item.is_support_quick_refund !== "Y"){
450
- this.$xdUniHelper.navigateTo({
451
- url: `${this.refundPath}?order_id=${item.main_order_id}`,
452
- });
453
- }else{
454
- //极速退款
455
- this.$xdUniHelper.navigateTo({
456
- url: `${this.refundFastPath}?order_id=${item.main_order_id}`,
457
- });
458
- }
451
+
452
+ this.$xdShowLoading({});
453
+ jfbRootExec("getSupportQuickRefund", {
454
+ vm: this,
455
+ data: {
456
+ main_order_id: item.main_order_id
457
+ }
458
+ }).then(res => {
459
+ this.$xdHideLoading();
460
+ //普通退款
461
+ if(res.is_support_quick_refund !== "Y"){
462
+ this.$xdUniHelper.navigateTo({
463
+ url: `${this.refundPath}?order_id=${item.main_order_id}`,
464
+ });
465
+ }else{
466
+ //极速退款
467
+ this.$xdUniHelper.navigateTo({
468
+ url: `${this.refundFastPath}?order_id=${item.main_order_id}`,
469
+ });
470
+ }
471
+ }).catch(err => {
472
+ this.$xdHideLoading();
473
+ })
474
+
475
+
459
476
  }
460
477
  },
461
478
 
@@ -469,6 +486,7 @@ export default {
469
486
  tab,
470
487
  page_size: this.page_size,
471
488
  page_token: this.page_token,
489
+ is_show_after_btn: this.showApplyAfter === 'Y' ? 1 : 0
472
490
  },
473
491
  })
474
492
  .then((res) => {
@@ -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