gxd-uni-library-editx 1.0.7 → 1.0.8-beta10

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 (237) hide show
  1. package/package.json +1 -1
  2. package/src/components/XdCardPay/XdCardPay.vue +547 -0
  3. package/src/components/XdCoins/XdCoins.vue +26 -2
  4. package/src/components/XdContentXss/XdContentXss.vue +6 -2
  5. package/src/components/XdLayout/XdLayout.vue +9 -9
  6. package/src/components/XdNoticeBar/XdNoticeBar.vue +9 -5
  7. package/src/components/XdRadio/XdRadio.vue +50 -0
  8. package/src/components/XdUnit/XdUnit.vue +11 -13
  9. package/src/components.tpl/XdBaiduMap/XdBaiduMap.vue +204 -0
  10. package/src/components.tpl/XdBar/XdBar.vue +339 -0
  11. package/src/components.tpl/XdButton/XdButton.vue +288 -0
  12. package/src/components.tpl/XdCardPay/XdCardPay.vue +547 -0
  13. package/src/components.tpl/XdCity/XdCity.vue +620 -0
  14. package/src/components.tpl/XdCity/city.js +93 -0
  15. package/src/components.tpl/XdCity/testData.js +124 -0
  16. package/src/components.tpl/XdCityLocation/XdCityLocation.vue +314 -0
  17. package/src/components.tpl/XdCityLocation/jweixin.js +72 -0
  18. package/src/components.tpl/XdCityShow/XdCityShow.vue +354 -0
  19. package/src/components.tpl/XdClipImage/XdClipImage.vue +879 -0
  20. package/src/components.tpl/XdCoins/XdCoins.vue +90 -0
  21. package/src/components.tpl/XdConfirm/XdConfirm.vue +240 -0
  22. package/src/components.tpl/XdContentXss/XdContentXss.vue +71 -0
  23. package/src/components.tpl/XdDailog/XdDailog.vue +258 -0
  24. package/src/components.tpl/XdDate/XdDataItemOne.vue +236 -0
  25. package/src/components.tpl/XdDate/XdDate.vue +1081 -0
  26. package/src/components.tpl/XdDate/XdDateItem.vue +316 -0
  27. package/src/components.tpl/XdDate/XdDateTime.vue +929 -0
  28. package/src/components.tpl/XdDate/i18n/en.json +19 -0
  29. package/src/components.tpl/XdDate/i18n/index.js +8 -0
  30. package/src/components.tpl/XdDate/i18n/zh-Hans.json +19 -0
  31. package/src/components.tpl/XdDate/i18n/zh-Hant.json +19 -0
  32. package/src/components.tpl/XdDate/keypress.js +45 -0
  33. package/src/components.tpl/XdDate/util.js +418 -0
  34. package/src/components.tpl/XdDownDrawer/XdDownDrawer.vue +176 -0
  35. package/src/components.tpl/XdFontIcon/XdFontIcon.vue +165 -0
  36. package/src/components.tpl/XdFontIcon/css/icon.less +702 -0
  37. package/src/components.tpl/XdFooterBar/XdFooterBar.vue +291 -0
  38. package/src/components.tpl/XdFooterTabbar/XdFooterTabbar.vue +284 -0
  39. package/src/components.tpl/XdForm/XdForm.vue +481 -0
  40. package/src/components.tpl/XdForm/validate.js +486 -0
  41. package/src/components.tpl/XdFormCheckbox/XdFormCheckbox.vue +858 -0
  42. package/src/components.tpl/XdFormInput/XdFormInput.vue +535 -0
  43. package/src/components.tpl/XdFormInput/common.js +56 -0
  44. package/src/components.tpl/XdFormItem/XdFormItem.vue +583 -0
  45. package/src/components.tpl/XdFormSelect/XdFormSelect.vue +119 -0
  46. package/src/components.tpl/XdImage/XdImage.vue +113 -0
  47. package/src/components.tpl/XdJson/XdJson.vue +398 -0
  48. package/src/components.tpl/XdKeyValue/XdKeyValue.vue +150 -0
  49. package/src/components.tpl/XdLabelNew/XdLabelNew.vue +193 -0
  50. package/src/components.tpl/XdLayout/XdLayout.vue +646 -0
  51. package/src/components.tpl/XdLoading/XdLoading.vue +165 -0
  52. package/src/components.tpl/XdMore/XdMore.vue +66 -0
  53. package/src/components.tpl/XdMpHtml/XdMpHtml.vue +458 -0
  54. package/src/components.tpl/XdMpHtml/node/node.vue +536 -0
  55. package/src/components.tpl/XdMpHtml/parser.js +1260 -0
  56. package/src/components.tpl/XdMpHtml/static/js/handler.js +1 -0
  57. package/src/components.tpl/XdMpHtml/static/js/uni.webview.min.js +1 -0
  58. package/src/components.tpl/XdMpHtml/static/local.html +1 -0
  59. package/src/components.tpl/XdNavTab/XdNavTab.vue +154 -0
  60. package/src/components.tpl/XdNoData/XdNoData.vue +87 -0
  61. package/src/components.tpl/XdNoticeBar/XdNoticeBar.vue +514 -0
  62. package/src/components.tpl/XdNumber/XdNumber.vue +210 -0
  63. package/src/components.tpl/XdNumberUni/XdNumberUni.vue +270 -0
  64. package/src/components.tpl/XdNumberUni/readme.md +42 -0
  65. package/src/{components → components.tpl}/XdOnlineSeat/XdOnlineSeat.vue +19 -2
  66. package/src/{components → components.tpl}/XdOnlineSeatMove/XdOnlineSeatMove.vue +7 -13
  67. package/src/components.tpl/XdRadio/XdRadio.vue +201 -0
  68. package/src/components.tpl/XdRangeSlider/XdRangeSlider.vue +361 -0
  69. package/src/components.tpl/XdRedName/XdRedName.vue +35 -0
  70. package/src/components.tpl/XdSelect/XdSelect.vue +388 -0
  71. package/src/components.tpl/XdStar/XdStar.vue +261 -0
  72. package/src/components.tpl/XdSuccess/XdSuccess.vue +533 -0
  73. package/src/components.tpl/XdSwipeSelect/XdSwipeSelect.vue +99 -0
  74. package/src/components.tpl/XdSwiper/XdSwiper.vue +124 -0
  75. package/src/components.tpl/XdSwitch/XdSwitch.vue +211 -0
  76. package/src/components.tpl/XdTab/XdTab.vue +228 -0
  77. package/src/components.tpl/XdTabScroll/XdTabScroll.vue +212 -0
  78. package/src/components.tpl/XdTag/XdTag.vue +427 -0
  79. package/src/components.tpl/XdTips/XdTips.vue +212 -0
  80. package/src/components.tpl/XdTitleSection/XdTitleSection.vue +159 -0
  81. package/src/components.tpl/XdUnit/XdUnit.vue +204 -0
  82. package/src/components.tpl/XdUpload/XdUpload.vue +197 -0
  83. package/src/components.tpl/autoload.js +211 -0
  84. package/src/components.tpl/swipeAction/UniSwipeAction.vue +43 -0
  85. package/src/components.tpl/swipeActionItem/UniSwipeActionItem.vue +386 -0
  86. package/src/components.tpl/swipeActionItem/bindingx.js +298 -0
  87. package/src/components.tpl/swipeActionItem/index.wxs +321 -0
  88. package/src/components.tpl/swipeActionItem/isPC.js +18 -0
  89. package/src/components.tpl/swipeActionItem/mpalipay.js +210 -0
  90. package/src/components.tpl/swipeActionItem/mpother.js +252 -0
  91. package/src/components.tpl/swipeActionItem/mpwxs.js +140 -0
  92. package/src/dome/components/XdAddress/XdAddress.vue +587 -0
  93. package/src/dome/components/XdAddressSelect/XdAddressSelect.vue +251 -0
  94. package/src/dome/components/XdBaiduMap/XdBaiduMap.vue +204 -0
  95. package/src/dome/components/XdBaiduOverlay/XdBaiduOverlay.vue +345 -0
  96. package/src/dome/components/XdBaiduSearch/XdBaiduSearch.vue +354 -0
  97. package/src/dome/components/XdCartList/XdCartList.vue +791 -0
  98. package/src/dome/components/XdCartNoStoreList/XdCartNoStoreList.vue +747 -0
  99. package/src/dome/components/XdCityLocation/XdCityLocation.vue +314 -0
  100. package/src/dome/components/XdCityLocation/jweixin.js +72 -0
  101. package/src/dome/components/XdCityShow/XdCityShow.vue +354 -0
  102. package/src/dome/components/XdClipImage/XdClipImage.vue +879 -0
  103. package/src/dome/components/XdEditPwd/XdEditPwd.vue +299 -0
  104. package/src/dome/components/XdEnterOrderList/XdEnterOrderList.vue +413 -0
  105. package/src/dome/components/XdExpressTimeLine/XdExpressTimeLine.vue +280 -0
  106. package/src/dome/components/XdFilter/XdFilter.vue +541 -0
  107. package/src/dome/components/XdFormDate.vue +187 -0
  108. package/src/dome/components/XdItemCardUser/XdItemCardUser.vue +238 -0
  109. package/src/dome/components/XdItemFilmImage/XdItemFilmImage.vue +157 -0
  110. package/src/dome/components/XdItemFilmText/XdItemFilmText.vue +96 -0
  111. package/src/dome/components/XdItemPhysical/XdItemPhysical.vue +415 -0
  112. package/src/dome/components/XdItemPhysicalPack/XdItemPhysicalPack.vue +247 -0
  113. package/src/dome/components/XdItemStore/XdItemStore.vue +240 -0
  114. package/src/dome/components/XdItemUserInfo/XdItemUserInfo.vue +181 -0
  115. package/src/dome/components/XdLabelNew/XdLabelNew.vue +193 -0
  116. package/src/dome/components/XdMy/XdMy.vue +300 -0
  117. package/src/dome/components/XdMySuccess/XdMySuccess.vue +603 -0
  118. package/src/dome/components/XdNumberUni/XdNumberUni.vue +270 -0
  119. package/src/dome/components/XdNumberUni/readme.md +42 -0
  120. package/src/dome/components/XdOnlineConfirm/XdOnlineConfirm.vue +391 -0
  121. package/src/dome/components/XdOnlineDetail/XdOnlineDetail.vue +338 -0
  122. package/src/dome/components/XdOnlinePay/XdOnlinePay.vue +356 -0
  123. package/src/dome/components/XdOnlineSchedule/XdOnlineSchedule.vue +459 -0
  124. package/src/dome/components/XdOnlineSeat/XdOnlineSeat.vue +820 -0
  125. package/src/dome/components/XdOnlineSeatMove/XdOnlineSeatMove.vue +1012 -0
  126. package/src/dome/components/XdPayCombo/XdPayCombo.vue +118 -0
  127. package/src/dome/components/XdPreviewImage/XdPreviewImage.vue +372 -0
  128. package/src/dome/components/XdPwPay/XdPwPay.vue +214 -0
  129. package/src/dome/components/XdRedName/XdRedName.vue +35 -0
  130. package/src/dome/components/XdSearchBar/XdSearchBar.vue +292 -0
  131. package/src/dome/components/XdSelectCity/XdSelectCity.vue +277 -0
  132. package/src/dome/components/XdSelectTime/XdSelectTime.vue +342 -0
  133. package/src/dome/components/XdStoreCashier/XdStoreCashier.vue +531 -0
  134. package/src/dome/components/XdStoreItem/XdStoreItem.vue +400 -0
  135. package/src/dome/components/XdStoreOrderDetail/XdStoreOrderDetail.vue +1578 -0
  136. package/src/dome/components/XdStoreOrderList/XdStoreOrderList.vue +450 -0
  137. package/src/dome/components/XdStoreProductInfo/XdStoreProductInfo.vue +960 -0
  138. package/src/dome/components/XdStoreProductType/XdStoreProductType.vue +307 -0
  139. package/src/dome/components/XdSwipeSelect/XdSwipeSelect.vue +99 -0
  140. package/src/dome/components/XdTimeLine/XdTimeLine.vue +126 -0
  141. package/src/dome/components/XdTips/XdTips.vue +212 -0
  142. package/src/dome/components/XdTipsBlock/XdTipsBlock.vue +152 -0
  143. package/src/dome/components/XdTitleSection/XdTitleSection.vue +159 -0
  144. package/src/dome/components/XdTitleTab/XdTitleTab.vue +233 -0
  145. package/src/dome/components/XdUploadImage/XdUploadImage.vue +145 -0
  146. package/src/dome/components/Xdlogs/XdLogs.vue +144 -0
  147. package/src/dome/dome/address.vue +1 -1
  148. package/src/dome/dome/baidu_show.vue +1 -1
  149. package/src/dome/dome/cake.vue +2 -2
  150. package/src/dome/dome/cart.vue +1 -1
  151. package/src/dome/dome/cart_store.vue +1 -1
  152. package/src/dome/dome/cashier/cashier.vue +1 -1
  153. package/src/dome/dome/cashier/success.vue +1 -1
  154. package/src/dome/dome/city.vue +1 -1
  155. package/src/dome/dome/date/date.vue +1 -1
  156. package/src/dome/dome/express.vue +1 -1
  157. package/src/dome/dome/form.vue +1 -1
  158. package/src/dome/dome/index.vue +41 -31
  159. package/src/dome/dome/item.vue +8 -8
  160. package/src/dome/dome/layout.vue +1 -1
  161. package/src/dome/dome/line.vue +1 -1
  162. package/src/dome/dome/map/search.vue +1 -1
  163. package/src/dome/dome/my.vue +1 -1
  164. package/src/dome/dome/online/confirm.vue +1 -1
  165. package/src/dome/dome/online/detail.vue +1 -1
  166. package/src/dome/dome/online/pay.vue +1 -1
  167. package/src/dome/dome/online/schedule.vue +1 -1
  168. package/src/dome/dome/online/seat.vue +1 -1
  169. package/src/dome/dome/order/detail.vue +1 -1
  170. package/src/dome/dome/order/enter_order.vue +1 -1
  171. package/src/dome/dome/order/list.vue +1 -1
  172. package/src/dome/dome/order/success.vue +1 -1
  173. package/src/dome/dome/product.vue +2 -2
  174. package/src/dome/dome/store_cashier.vue +1 -1
  175. package/src/dome/dome/webview.vue +0 -3
  176. package/src/main/address/address.vue +1 -1
  177. package/src/main/cart/cart.vue +1 -1
  178. package/src/main/cashier/cashier.vue +1 -1
  179. package/src/main/city/city.vue +1 -1
  180. package/src/main/date/date.vue +1 -1
  181. package/src/main/order/order.vue +1 -1
  182. package/src/main/product/detail.vue +2 -2
  183. package/src/main/product/type.vue +1 -1
  184. package/src/main/search/search.vue +2 -2
  185. package/src/pages.json +0 -8
  186. package/src/utils/helper.js +29 -2
  187. package/src/utils/xd.base.js +13 -1
  188. package/src/utils/xd.event.js +1 -1
  189. package/src/utils/xd.frame.js +0 -1
  190. package/src/utils/xdh5log.js +0 -1
  191. package/src/dome/dome/dcom/app1.vue +0 -13
  192. package/src/dome/dome/dcom/app2.vue +0 -13
  193. package/src/dome/dome/dcom/app3.vue +0 -13
  194. package/src/dome/dome/dcom/app4.vue +0 -13
  195. package/src/dome/dome/dcom/app5.vue +0 -13
  196. package/src/dome/dome/dcom/index.vue +0 -1
  197. /package/src/{components → components.tpl}/XdAddress/XdAddress.vue +0 -0
  198. /package/src/{components → components.tpl}/XdAddressSelect/XdAddressSelect.vue +0 -0
  199. /package/src/{components → components.tpl}/XdBaiduOverlay/XdBaiduOverlay.vue +0 -0
  200. /package/src/{components → components.tpl}/XdBaiduSearch/XdBaiduSearch.vue +0 -0
  201. /package/src/{components → components.tpl}/XdCartList/XdCartList.vue +0 -0
  202. /package/src/{components → components.tpl}/XdCartNoStoreList/XdCartNoStoreList.vue +0 -0
  203. /package/src/{components → components.tpl}/XdEditPwd/XdEditPwd.vue +0 -0
  204. /package/src/{components → components.tpl}/XdEnterOrderList/XdEnterOrderList.vue +0 -0
  205. /package/src/{components → components.tpl}/XdExpressTimeLine/XdExpressTimeLine.vue +0 -0
  206. /package/src/{components → components.tpl}/XdFilter/XdFilter.vue +0 -0
  207. /package/src/{components → components.tpl}/XdFormDate.vue +0 -0
  208. /package/src/{components → components.tpl}/XdItemCardUser/XdItemCardUser.vue +0 -0
  209. /package/src/{components → components.tpl}/XdItemFilmImage/XdItemFilmImage.vue +0 -0
  210. /package/src/{components → components.tpl}/XdItemFilmText/XdItemFilmText.vue +0 -0
  211. /package/src/{components → components.tpl}/XdItemPhysical/XdItemPhysical.vue +0 -0
  212. /package/src/{components → components.tpl}/XdItemPhysicalPack/XdItemPhysicalPack.vue +0 -0
  213. /package/src/{components → components.tpl}/XdItemStore/XdItemStore.vue +0 -0
  214. /package/src/{components → components.tpl}/XdItemUserInfo/XdItemUserInfo.vue +0 -0
  215. /package/src/{components → components.tpl}/XdMy/XdMy.vue +0 -0
  216. /package/src/{components → components.tpl}/XdMySuccess/XdMySuccess.vue +0 -0
  217. /package/src/{components → components.tpl}/XdOnlineConfirm/XdOnlineConfirm.vue +0 -0
  218. /package/src/{components → components.tpl}/XdOnlineDetail/XdOnlineDetail.vue +0 -0
  219. /package/src/{components → components.tpl}/XdOnlinePay/XdOnlinePay.vue +0 -0
  220. /package/src/{components → components.tpl}/XdOnlineSchedule/XdOnlineSchedule.vue +0 -0
  221. /package/src/{components → components.tpl}/XdPayCombo/XdPayCombo.vue +0 -0
  222. /package/src/{components → components.tpl}/XdPreviewImage/XdPreviewImage.vue +0 -0
  223. /package/src/{components → components.tpl}/XdPwPay/XdPwPay.vue +0 -0
  224. /package/src/{components → components.tpl}/XdSearchBar/XdSearchBar.vue +0 -0
  225. /package/src/{components → components.tpl}/XdSelectCity/XdSelectCity.vue +0 -0
  226. /package/src/{components → components.tpl}/XdSelectTime/XdSelectTime.vue +0 -0
  227. /package/src/{components → components.tpl}/XdStoreCashier/XdStoreCashier.vue +0 -0
  228. /package/src/{components → components.tpl}/XdStoreItem/XdStoreItem.vue +0 -0
  229. /package/src/{components → components.tpl}/XdStoreOrderDetail/XdStoreOrderDetail.vue +0 -0
  230. /package/src/{components → components.tpl}/XdStoreOrderList/XdStoreOrderList.vue +0 -0
  231. /package/src/{components → components.tpl}/XdStoreProductInfo/XdStoreProductInfo.vue +0 -0
  232. /package/src/{components → components.tpl}/XdStoreProductType/XdStoreProductType.vue +0 -0
  233. /package/src/{components → components.tpl}/XdTimeLine/XdTimeLine.vue +0 -0
  234. /package/src/{components → components.tpl}/XdTipsBlock/XdTipsBlock.vue +0 -0
  235. /package/src/{components → components.tpl}/XdTitleTab/XdTitleTab.vue +0 -0
  236. /package/src/{components → components.tpl}/XdUploadImage/XdUploadImage.vue +0 -0
  237. /package/src/{components → components.tpl}/Xdlogs/XdLogs.vue +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gxd-uni-library-editx",
3
- "version": "1.0.7",
3
+ "version": "1.0.8-beta10",
4
4
  "private": false,
5
5
  "description": "聚福宝基础插件专用库",
6
6
  "main": "index.js",
@@ -0,0 +1,547 @@
1
+ <template>
2
+ <view class="xd-card-pay">
3
+ <slot></slot>
4
+ <xd-down-drawer :show.sync="xdDownDrawer"
5
+ :z-index="3000">
6
+ <view style="height: 80rpx;background:#FFF;"></view>
7
+ <view class="jfb-cashier-verification-pay__body">
8
+ <view class="column-group">
9
+ <view class="column-item">
10
+ <view class="column_label">
11
+ 订单总额
12
+ </view>
13
+ <view class="column_value text-gray">
14
+ <xd-unit
15
+ :price="total_price"
16
+ :isOld="false"
17
+ :font-size="24"
18
+ :icon-size="0.3"
19
+ ></xd-unit>
20
+ </view>
21
+ </view>
22
+ <view class="column-item">
23
+ <view class="column_label">
24
+ 仍需支付
25
+ <view class="label_sub">(可使用多张票券支付)</view>
26
+ </view>
27
+ <view class="column_value text-primary">
28
+ <xd-unit
29
+ :price="needPayPrice"
30
+ :isOld="false"
31
+ :font-size="24"
32
+ :icon-size="0.3"
33
+ ></xd-unit>
34
+ </view>
35
+ </view>
36
+ <view class="column-item">
37
+ <view class="column_label">
38
+ 我的票券
39
+ <view class="label_sub">(已使用{{checkedCards.length}}张票券)</view>
40
+ </view>
41
+ <view class="column_value">
42
+ <xd-button
43
+ width="220rpx"
44
+ radius="60rpx"
45
+ type="primary"
46
+ size="small"
47
+ @click="xdDownDrawerNewCard=true"
48
+ >使用新票券</xd-button>
49
+ </view>
50
+ </view>
51
+ </view>
52
+ <view
53
+ class="ticket_list"
54
+ :key="renderChecked"
55
+ >
56
+ <view
57
+ class="ticket_item"
58
+ v-for="ticket in showCardList"
59
+ :key="ticket.card_number"
60
+ >
61
+ <view class="_header">
62
+ <view class="flex align-center">
63
+ <xd-font-icon
64
+ style="margin-right: 8rpx;"
65
+ icon="iconkaquan"
66
+ color="#ffc65d"
67
+ size="32"
68
+ ></xd-font-icon>
69
+ {{ticket.card_type_name}}
70
+ </view>
71
+ <xd-radio
72
+ size="mini"
73
+ @change="flat => handlerTicketSelect(flat, ticket.card_number)"
74
+ :value="checkedCards.includes(ticket.card_number)"
75
+ ></xd-radio>
76
+ </view>
77
+ <view class="_cont">
78
+ <view style="margin-right: 30rpx;">ID:{{ticket.card_number}}</view>
79
+ <view>有效期至:{{ticket.end_time}}</view>
80
+ </view>
81
+ <view class="_footer">
82
+ <view class="_item"> 剩余:<xd-unit
83
+ :price="ticket.card_point"
84
+ :isOld="false"
85
+ :font-size="24"
86
+ :icon-size="0.3"
87
+ ></xd-unit>
88
+ </view>
89
+ <view
90
+ v-if="ticket.card_use_price"
91
+ class="_item text-primary"
92
+ >
93
+ 使用:<xd-unit
94
+ :price="ticket.card_use_price"
95
+ :isOld="false"
96
+ :font-size="24"
97
+ :icon-size="0.3"
98
+ ></xd-unit>
99
+ </view>
100
+ </view>
101
+ </view>
102
+ </view>
103
+ <view
104
+ v-if="xdDownDrawer"
105
+ class="bottom_btn"
106
+ :style="{bottom: layoutInfo.bottom+'rpx', opacity: this.show?'1':'0'}"
107
+ >
108
+ <xd-button
109
+ width="360rpx"
110
+ type="primary"
111
+ radius="50rpx"
112
+ @click="doTicketPay"
113
+ >确认支付</xd-button>
114
+ </view>
115
+ </view>
116
+ </xd-down-drawer>
117
+ <xd-down-drawer
118
+ :show.sync="xdDownDrawerNewCard"
119
+ :z-index="3010"
120
+ height="580rpx"
121
+ @close="switchValidToken"
122
+ >
123
+ <view class="drawer_title">使用新票券</view>
124
+ <xd-form
125
+ label-width="180"
126
+ label-align="left"
127
+ content-align="left"
128
+ >
129
+ <xd-form-item
130
+ label="票券号码"
131
+ content-align="left"
132
+ >
133
+ <view class="flex align-center">
134
+ <xd-form-input
135
+ placeholder="请输入票券号码"
136
+ v-model="cardForm.card_number"
137
+ />
138
+ <view
139
+ class="scan_icon"
140
+ @click="doScanCode"
141
+ >
142
+ <xd-font-icon icon="iconsaoma"></xd-font-icon>
143
+ </view>
144
+ </view>
145
+ </xd-form-item>
146
+ <xd-form-item
147
+ label="票券密码"
148
+ content-align="left"
149
+ >
150
+ <xd-form-input
151
+ placeholder="请输入票券密码"
152
+ v-model="cardForm.card_password"
153
+ />
154
+ </xd-form-item>
155
+ <xd-form-item
156
+ label="验证码"
157
+ content-align="left"
158
+ >
159
+ <view class="flex align-center">
160
+ <xd-form-input
161
+ placeholder="请输入验证码"
162
+ v-model="cardForm.valid_code"
163
+ />
164
+ <view
165
+ v-if="cardForm.valid_token"
166
+ class="capture"
167
+ @click="switchValidToken"
168
+ >
169
+ <image
170
+ style="width: 100%;height:100%"
171
+ :src="validImageAPIUrl + '?image_width=180&image_height=80&token='+cardForm.valid_token"
172
+ />
173
+ </view>
174
+ </view>
175
+ </xd-form-item>
176
+ </xd-form>
177
+ <xd-button
178
+ width="360rpx"
179
+ type="primary"
180
+ radius="50rpx"
181
+ @click="addNewCard"
182
+ >使用新票券</xd-button>
183
+ </xd-down-drawer>
184
+ </view>
185
+ </template>
186
+ <script>
187
+ /**
188
+ * @description 选择卡券支付 & 支持三方支付
189
+ * @property show {Boolean} 是否显示支付卡券弹窗
190
+ * @property layoutInfo {Object} XdLayout返回的布局信息
191
+ * @property validImageAPIUrl {String} 图片验证码接口API地址
192
+ * @property jwxSDK {Object} JSSDK授权对象
193
+ * @property price {Number|String} 订单总额 单位元
194
+ * @property getSettleListCards {Function(successCallBack(cardList))} 获取支付卡券列表
195
+ * @property setSettleSelectCard {Function(options, successCallBack, errCallBack)} 选择卡券列表
196
+ * @property addSettleCard {Function(options, successCallBack)} 添加卡券
197
+ * @property createSettleOrder {Function(options, successCallBack)} 创建订单
198
+ *
199
+ * @event {Function} onCreateOrder 订单创建完成触发函数
200
+ */
201
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer"
202
+ import XdButton from "@/components/XdButton/XdButton"
203
+ import XdUnit from "@/components/XdUnit/XdUnit"
204
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
205
+ import XdRadio from "@/components/XdRadio/XdRadio"
206
+ import XdForm from "@/components/XdForm/XdForm"
207
+ import XdFormItem from "@/components/XdFormItem/XdFormItem"
208
+ import XdFormInput from "@/components/XdFormInput/XdFormInput"
209
+
210
+ export default {
211
+ name: "XdCardPay",
212
+ components: {
213
+ XdDownDrawer,
214
+ XdButton,
215
+ XdUnit,
216
+ XdFontIcon,
217
+ XdRadio,
218
+ XdForm,
219
+ XdFormItem,
220
+ XdFormInput
221
+ },
222
+ props: {
223
+ show: false,
224
+ layoutInfo: {},
225
+ validImageAPIUrl: { //图片验证码 接口地址
226
+ type: String,
227
+ },
228
+ price: { //订单总额 单位元
229
+ type: String|Number,
230
+ default: "100"
231
+ },
232
+ jwxSDK: { //JSSDK授权对象
233
+ type: Object,
234
+ },
235
+ // payChannels: { //三方支付列表
236
+ // type: Array,
237
+ // default: () => {
238
+ // return []
239
+ // }
240
+ // },
241
+ getSettleListCards: { //支付卡券列表
242
+ type: Function
243
+ },
244
+ setSettleSelectCard: { //选择卡券列表
245
+ type: Function
246
+ },
247
+ addSettleCard: { //添加卡券
248
+ type: Function
249
+ },
250
+ createSettleOrder: { //创建订单
251
+ type: Function
252
+ },
253
+ // setThirdPlace: { //获取三方支付签名参数
254
+ // type: Function
255
+ // }
256
+ },
257
+ watch: {
258
+ show(n, o){
259
+ this.xdDownDrawer = n;
260
+ },
261
+ xdDownDrawer(n){
262
+ this.$emit('update:show', n);
263
+ }
264
+ },
265
+ data(){
266
+ return {
267
+ xdDownDrawer: false,
268
+ xdDownDrawerNewCard: false,
269
+ channel_provider_id: "",
270
+ cardList: [
271
+ {
272
+ "card_number":"101001000005193",
273
+ "card_type_name":"聚福宝福卡测试蛋糕",
274
+ "end_time":"2024-10-31",
275
+ "card_point":100000000,
276
+ "is_bind_card":true
277
+ },
278
+ ], //展示
279
+ selectedCardList: [],
280
+ needPayPrice: 0,
281
+ cardForm: { //添加新卡券表单
282
+ card_number: "",
283
+ card_password: "",
284
+ valid_code: "", //验证码正文
285
+ valid_token: "", //验证码token
286
+ },
287
+ renderChecked: "renderChecked",
288
+
289
+ total_price: "",
290
+ }
291
+ },
292
+ computed: {
293
+ showCardList(){
294
+ //筛选出不存在于cardList的数据
295
+ let otherCardList = this.selectedCardList.filter(item =>{
296
+ let cur = this.cardList.find(ii => ii.card_number == item.card_number);
297
+ return !cur;
298
+ })
299
+ //合并selectedCardList数据到对应的cardList
300
+ let combineList = this.cardList.map(item => {
301
+ let cur = this.selectedCardList.find(ii => ii.card_number == item.card_number);
302
+ if(cur) return Object.assign(item, cur);
303
+ return item;
304
+ })
305
+ return combineList.concat(otherCardList);
306
+ },
307
+ checkedCards(){
308
+ return this.showCardList.filter(item => item.card_use_price > 0).map(item => item.card_number);
309
+ },
310
+ //提交是的selectedCardList, 由于取消选中不走接口 & 避免取消隐藏
311
+ submitCardList(){
312
+ return this.selectedCardList.filter(item => item.card_use_price > 0);
313
+ },
314
+ },
315
+ created(){
316
+ this.total_price = this.$xdUniHelper.multiplyFloatNumber(this.price, 100);
317
+ this.needPayPrice = this.total_price;
318
+ this.switchValidToken();
319
+ this.getList();
320
+ },
321
+ methods: {
322
+ getList(){
323
+ //获取卡券列表
324
+ this.getSettleListCards((cardList) => {
325
+ this.cardList = cardList;
326
+ })
327
+ },
328
+ //选择卡券
329
+ handlerTicketSelect(flat, card_number){
330
+ if(flat){ //选择卡券,重新调用接口获取 selectedCardList, neePayPrice
331
+ const {submitCardList, total_price} = this;
332
+ this.setSettleSelectCard({
333
+ total_price,
334
+ card_number,
335
+ selected_card_list_json: JSON.stringify(submitCardList)
336
+ }, (res) => {
337
+ const {selected_card_list, need_pay_price} = res;
338
+ this.selectedCardList = selected_card_list;
339
+ this.needPayPrice = need_pay_price;
340
+ this.renderChecked = Date.now();
341
+ }, (err) => {
342
+ this.renderChecked = Date.now();
343
+ })
344
+ }else{
345
+ //不走接口, selectedCardList不是真实选中的
346
+ this.selectedCardList = this.selectedCardList.map(item => {
347
+ if(item.card_number == card_number){
348
+ this.needPayPrice = +this.needPayPrice + item['card_use_price']
349
+ item['card_use_price'] = 0;
350
+ }
351
+ return item;
352
+ });
353
+ this.renderChecked = Date.now();
354
+ }
355
+
356
+ },
357
+ //添加新卡券
358
+ addNewCard(){
359
+ const { cardForm, total_price, submitCardList } = this;
360
+ this.addSettleCard({
361
+ ...cardForm,
362
+ selected_card_list_json: JSON.stringify(submitCardList),
363
+ total_price,
364
+ }, (res) => {
365
+ //成功回调
366
+ let {selected_card_list=[], need_pay_price} = res;
367
+ this.cardList = selected_card_list.concat(this.cardList);
368
+ this.selectedCardList = selected_card_list.concat(this.selectedCardList);
369
+ this.needPayPrice = need_pay_price;
370
+ this.switchValidToken();
371
+ this.xdDownDrawerNewCard = false;
372
+ this.renderChecked = Date.now();
373
+ }, (err) => {
374
+ this.switchValidToken();
375
+ })
376
+ },
377
+ //确认支付
378
+ doTicketPay(){
379
+ const { total_price, submitCardList, needPayPrice } = this;
380
+ let postData = {
381
+ total_price,
382
+ selected_card_list_json: JSON.stringify(submitCardList),
383
+ need_pay_price: needPayPrice
384
+ };
385
+ this.createSettleOrder(postData, (order) => {
386
+ this.$emit("onCreateOrder", {need_pay_price: needPayPrice, ...order}); //支付完成,触发
387
+ })
388
+ },
389
+ //刷新图片验证码
390
+ switchValidToken(){
391
+ let valid_token = this.$xdUniHelper.randomChar(20);
392
+ this.$set(this.cardForm, "valid_token", valid_token);
393
+ },
394
+ //扫码
395
+ doScanCode(){
396
+ this.jwxSDK.scanQRCode({
397
+ needResult: 1,
398
+ success: res => {
399
+ this.$set(this.cardForm, 'card_number', res.resultStr)
400
+ }
401
+ })
402
+ },
403
+ }
404
+ }
405
+ </script>
406
+
407
+ <style lang="less" scoped>
408
+ .xd-card-pay{
409
+ .text-gray{
410
+ color: #999999;
411
+ }
412
+ .text-primary{
413
+ color: #FE7A63;
414
+ }
415
+ .flex{
416
+ display: flex;
417
+ }
418
+ .align-center{
419
+ align-items: center;
420
+ }
421
+ .drawer_title{
422
+ line-height: 100rpx;
423
+ text-align: center;
424
+ font-size: 32rpx;
425
+ }
426
+ .scan_icon{
427
+ width: 32rpx;
428
+ height: 32rpx;
429
+ }
430
+ .capture{
431
+ width: 180rpx;
432
+ height: 80rpx;
433
+ background: #DDD;
434
+ }
435
+ }
436
+ .jfb-cashier-verification-pay {
437
+ &__body{
438
+ padding-bottom: 150rpx;
439
+ max-height: 70vh;
440
+ overflow: auto;
441
+ .column-group{
442
+ .column-item{
443
+ display: flex;
444
+ align-items: center;
445
+ justify-content: space-between;
446
+ border-bottom: 1px solid rgba(238, 238, 238, 1);
447
+ padding: 30rpx 50rpx;
448
+
449
+ .column_label{
450
+ display: flex;
451
+ align-items: center;
452
+ font-size: 28rpx;
453
+ }
454
+ .column_value{
455
+ display: flex;
456
+ align-items: center;
457
+ font-size: 24rpx;
458
+ .xd-coins{
459
+ margin-left: 8rpx;
460
+ }
461
+ }
462
+ .label_sub{
463
+ font-size: 18rpx;
464
+ color: #999999;
465
+ }
466
+ }
467
+ }
468
+
469
+ .ticket_list{
470
+ .ticket_item{
471
+ width: 690rpx;
472
+ border-radius: 10rpx;
473
+ background: rgba(255, 255, 255, 1);
474
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
475
+ margin: 30rpx auto;
476
+ padding: 30rpx 0 20rpx;
477
+ ._header{
478
+ display: flex;
479
+ justify-content: space-between;
480
+ padding: 0rpx 30rpx;
481
+ font-size: 28rpx;
482
+ }
483
+ ._cont{
484
+ display: flex;
485
+ font-size: 18rpx;
486
+ padding: 24rpx 30rpx;
487
+ border-bottom: 1px solid rgba(242, 242, 242, 1);
488
+ color: #777777;
489
+ }
490
+ ._footer{
491
+ display: flex;
492
+ justify-content: space-between;
493
+ padding: 24rpx 30rpx 12rpx;
494
+ font-size: 24rpx;
495
+ ._item{
496
+ display: flex;
497
+ align-items: center;
498
+ }
499
+ }
500
+ }
501
+ }
502
+
503
+ .remain_pay{
504
+ .remain_header{
505
+ display: flex;
506
+ justify-content: space-between;
507
+ padding: 30rpx 50rpx 0;
508
+ color: #999999;
509
+ font-size: 24rpx;
510
+ }
511
+ .pay_item{
512
+ display: flex;
513
+ align-items: center;
514
+ width: 700rpx;
515
+ height: 120rpx;
516
+ border-radius: 10rpx;
517
+ background: rgba(255, 255, 255, 1);
518
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
519
+ padding: 24rpx 35rpx;
520
+ box-sizing: border-box;
521
+ margin: 30rpx auto;
522
+ font-size: 28rpx;
523
+
524
+ .icon{
525
+ width: 64rpx;
526
+ height: 64rpx;
527
+ border-radius: 32rpx;
528
+ // background: #DDD;
529
+ margin-right: 30rpx;
530
+ }
531
+ .pay_name{
532
+ flex: 1;
533
+ }
534
+ }
535
+ }
536
+ .bottom_btn{
537
+ position: fixed;
538
+ width: 100%;
539
+ padding: 24rpx 0;
540
+ background: #FFFFFF;
541
+ box-shadow: 0 0 0px 1px rgba(0, 0, 0, 0.1);
542
+ opacity: 0;
543
+ transition: 500ms all;
544
+ }
545
+ }
546
+ }
547
+ </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <view class="xd-coins" @click="handleClick" :style="getStyle">
3
- <view class="xd-coins__bg"></view>
3
+ <view class="xd-coins__bg" :style="{backgroundImage: 'url('+ icon +')'}"></view>
4
4
  </view>
5
5
  </template>
6
6
 
@@ -14,6 +14,11 @@
14
14
  * @event {Function} click|tap 点击元宝事件
15
15
  */
16
16
 
17
+ import {
18
+ getParentsStyle,
19
+ } from '@/utils/xd.base';
20
+ import {mapState} from 'vuex';
21
+
17
22
  export default {
18
23
  name: "XdCoins",
19
24
  props:{
@@ -29,10 +34,12 @@
29
34
  data(){
30
35
  return {
31
36
  height: 92,
32
- width: 120
37
+ width: 120,
38
+ icon: '',
33
39
  }
34
40
  },
35
41
  computed:{
42
+ ...mapState(['webUnitIcon']),
36
43
  getStyle(){
37
44
  let size = this.size;
38
45
  if (this.$xdUniHelper.checkVarType(size) === 'string') {
@@ -45,8 +52,25 @@
45
52
  if (size < 0.1) size = 0.1;
46
53
  if (size > 1.5) size = 1.5;
47
54
  return `height:${this.height * size}rpx; width: ${this.width * size}rpx;`;
55
+ },
56
+ },
57
+ created(){
58
+ //brand中获取
59
+ let brandIncon = null;
60
+ if (getApp().globalData.$xd && getApp().globalData.$xd.brandInfo['unit_icon']) {
61
+ brandIncon = getApp().globalData.$xd.brandInfo['unit_icon'];
62
+ }
63
+
64
+ //项目配置中获取
65
+ let projectIcon;
66
+ if (this.webUnitIcon) {
67
+ projectIcon = this.webUnitIcon;
48
68
  }
69
+
70
+ this.icon = projectIcon || brandIncon;
49
71
  },
72
+
73
+
50
74
  methods:{
51
75
  handleClick(e){
52
76
  this.$emit('click',e);
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <!-- #ifdef MP-WEIXIN -->
3
- <view class="xd-content-xss" v-if="vhtml" v-html="vhtml"></view>
3
+ <view class="xd-content-xss" :style="{fontSize: fontSizes + 'rpx', lineHeight: fontSizes * 1.8}" v-if="vhtml" v-html="vhtml"></view>
4
4
  <!-- #endif -->
5
5
  <!-- #ifdef H5 -->
6
- <view class="xd-content-xss" v-if="vhtml" v-html="vhtml"></view>
6
+ <view class="xd-content-xss" :style="{fontSize: fontSizes + 'rpx', lineHeight: fontSizes * 1.8 + 'rpx'}" v-if="vhtml" v-html="vhtml"></view>
7
7
  <!-- #endif -->
8
8
  <!-- #ifndef MP-WEIXIN || H5 -->
9
9
  <xd-mp-html v-if="vhtml" :content="vhtml"></xd-mp-html>
@@ -25,6 +25,10 @@
25
25
  html: {
26
26
  type: String | null,
27
27
  default: null
28
+ },
29
+ fontSizes: {
30
+ type: String | Number,
31
+ default: 24
28
32
  }
29
33
  },
30
34
  data(){