create-weapp-vite 2.0.30 → 2.0.32

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 (179) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-HT7GOIHP.js → chunk-IT75MAH3.js} +3 -2
  3. package/dist/cli.js +5 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +1 -1
  6. package/package.json +2 -2
  7. package/templates/tailwindcss/package.json +1 -1
  8. package/templates/tdesign/package.json +1 -1
  9. package/templates/vant/package.json +1 -1
  10. package/templates/wevu-retail/.editorconfig +9 -0
  11. package/templates/wevu-retail/.vscode/settings.json +10 -0
  12. package/templates/wevu-retail/AGENTS.md +35 -0
  13. package/templates/wevu-retail/README.md +26 -0
  14. package/templates/wevu-retail/auto-import-components.json +1 -0
  15. package/templates/wevu-retail/gitignore +35 -0
  16. package/templates/wevu-retail/package.json +42 -0
  17. package/templates/wevu-retail/postcss.config.js +6 -0
  18. package/templates/wevu-retail/project.config.json +44 -0
  19. package/templates/wevu-retail/project.private.config.json +8 -0
  20. package/templates/wevu-retail/src/app.vue +104 -0
  21. package/templates/wevu-retail/src/common/updateManager.ts +29 -0
  22. package/templates/wevu-retail/src/components/filter/index.vue +134 -0
  23. package/templates/wevu-retail/src/components/filter-popup/index.vue +67 -0
  24. package/templates/wevu-retail/src/components/goods-card/index.vue +219 -0
  25. package/templates/wevu-retail/src/components/goods-list/index.vue +91 -0
  26. package/templates/wevu-retail/src/components/load-more/index.vue +99 -0
  27. package/templates/wevu-retail/src/components/loading-content/index.vue +48 -0
  28. package/templates/wevu-retail/src/components/price/index.vue +104 -0
  29. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/index.vue +143 -0
  30. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/tools.wxs +18 -0
  31. package/templates/wevu-retail/src/components/swipeout/index.vue +118 -0
  32. package/templates/wevu-retail/src/components/swipeout/swipe.wxs +151 -0
  33. package/templates/wevu-retail/src/components/webp-image/index.vue +105 -0
  34. package/templates/wevu-retail/src/components/webp-image/utils.wxs +140 -0
  35. package/templates/wevu-retail/src/config/index.ts +20437 -0
  36. package/templates/wevu-retail/src/custom-tab-bar/data.ts +22 -0
  37. package/templates/wevu-retail/src/custom-tab-bar/index.vue +62 -0
  38. package/templates/wevu-retail/src/model/activities.ts +7 -0
  39. package/templates/wevu-retail/src/model/activity.ts +18 -0
  40. package/templates/wevu-retail/src/model/address.ts +31 -0
  41. package/templates/wevu-retail/src/model/cart.ts +306 -0
  42. package/templates/wevu-retail/src/model/category.ts +175 -0
  43. package/templates/wevu-retail/src/model/comments/queryDetail.ts +50 -0
  44. package/templates/wevu-retail/src/model/comments.ts +298 -0
  45. package/templates/wevu-retail/src/model/coupon.ts +39 -0
  46. package/templates/wevu-retail/src/model/detailsComments.ts +30 -0
  47. package/templates/wevu-retail/src/model/good.ts +1904 -0
  48. package/templates/wevu-retail/src/model/goods.ts +7 -0
  49. package/templates/wevu-retail/src/model/order/applyService.ts +329 -0
  50. package/templates/wevu-retail/src/model/order/orderConfirm.ts +147 -0
  51. package/templates/wevu-retail/src/model/order/orderDetail.ts +1191 -0
  52. package/templates/wevu-retail/src/model/order/orderList.ts +1033 -0
  53. package/templates/wevu-retail/src/model/promotion.ts +20 -0
  54. package/templates/wevu-retail/src/model/search.ts +60 -0
  55. package/templates/wevu-retail/src/model/submitComment.ts +58 -0
  56. package/templates/wevu-retail/src/model/swiper.ts +39 -0
  57. package/templates/wevu-retail/src/model/usercenter.ts +52 -0
  58. package/templates/wevu-retail/src/pages/cart/components/cart-bar/index.vue +104 -0
  59. package/templates/wevu-retail/src/pages/cart/components/cart-empty/index.vue +41 -0
  60. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.vue +333 -0
  61. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.wxs +5 -0
  62. package/templates/wevu-retail/src/pages/cart/components/cart-group/utils.wxs +20 -0
  63. package/templates/wevu-retail/src/pages/cart/components/goods-card/index.vue +334 -0
  64. package/templates/wevu-retail/src/pages/cart/components/specs-popup/index.vue +100 -0
  65. package/templates/wevu-retail/src/pages/cart/index.vue +342 -0
  66. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/README.md +95 -0
  67. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.vue +73 -0
  68. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/index.vue +121 -0
  69. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.vue +74 -0
  70. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/index.vue +102 -0
  71. package/templates/wevu-retail/src/pages/category/components/goods-category/index.vue +137 -0
  72. package/templates/wevu-retail/src/pages/category/index.vue +50 -0
  73. package/templates/wevu-retail/src/pages/coupon/components/coupon-card/index.vue +95 -0
  74. package/templates/wevu-retail/src/pages/coupon/components/floating-button/index.vue +44 -0
  75. package/templates/wevu-retail/src/pages/coupon/coupon-activity-goods/index.vue +135 -0
  76. package/templates/wevu-retail/src/pages/coupon/coupon-detail/index.vue +94 -0
  77. package/templates/wevu-retail/src/pages/coupon/coupon-list/index.vue +136 -0
  78. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png +0 -0
  79. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/index.vue +65 -0
  80. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/my-video/index.vue +92 -0
  81. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/index.vue +93 -0
  82. package/templates/wevu-retail/src/pages/goods/comments/create/index.vue +196 -0
  83. package/templates/wevu-retail/src/pages/goods/comments/index.vue +293 -0
  84. package/templates/wevu-retail/src/pages/goods/details/components/buy-bar/index.vue +117 -0
  85. package/templates/wevu-retail/src/pages/goods/details/components/goods-specs-popup/index.vue +440 -0
  86. package/templates/wevu-retail/src/pages/goods/details/components/promotion-popup/index.vue +83 -0
  87. package/templates/wevu-retail/src/pages/goods/details/index.vue +598 -0
  88. package/templates/wevu-retail/src/pages/goods/list/index.vue +299 -0
  89. package/templates/wevu-retail/src/pages/goods/result/index.vue +350 -0
  90. package/templates/wevu-retail/src/pages/goods/search/index.vue +196 -0
  91. package/templates/wevu-retail/src/pages/home/home.vue +215 -0
  92. package/templates/wevu-retail/src/pages/home/readme +8 -0
  93. package/templates/wevu-retail/src/pages/order/after-service-detail/api.ts +34 -0
  94. package/templates/wevu-retail/src/pages/order/after-service-detail/index.vue +430 -0
  95. package/templates/wevu-retail/src/pages/order/after-service-list/api.ts +1262 -0
  96. package/templates/wevu-retail/src/pages/order/after-service-list/index.vue +299 -0
  97. package/templates/wevu-retail/src/pages/order/apply-service/index.vue +665 -0
  98. package/templates/wevu-retail/src/pages/order/components/after-service-button-bar/index.vue +142 -0
  99. package/templates/wevu-retail/src/pages/order/components/customer-service/index.vue +75 -0
  100. package/templates/wevu-retail/src/pages/order/components/goods-card/index.vue +356 -0
  101. package/templates/wevu-retail/src/pages/order/components/noGoods/noGood.wxs +17 -0
  102. package/templates/wevu-retail/src/pages/order/components/noGoods/noGoods.vue +125 -0
  103. package/templates/wevu-retail/src/pages/order/components/order-button-bar/index.vue +262 -0
  104. package/templates/wevu-retail/src/pages/order/components/order-card/index.vue +126 -0
  105. package/templates/wevu-retail/src/pages/order/components/order-goods-card/index.vue +86 -0
  106. package/templates/wevu-retail/src/pages/order/components/reason-sheet/index.vue +161 -0
  107. package/templates/wevu-retail/src/pages/order/components/reason-sheet/reasonSheet.ts +25 -0
  108. package/templates/wevu-retail/src/pages/order/components/selectCoupons/mock.ts +22 -0
  109. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupon.wxs +16 -0
  110. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupons.vue +207 -0
  111. package/templates/wevu-retail/src/pages/order/components/specs-goods-card/index.vue +185 -0
  112. package/templates/wevu-retail/src/pages/order/config.ts +94 -0
  113. package/templates/wevu-retail/src/pages/order/delivery-detail/index.vue +145 -0
  114. package/templates/wevu-retail/src/pages/order/delivery-detail/isUrl.wxs +7 -0
  115. package/templates/wevu-retail/src/pages/order/fill-tracking-no/api.ts +71 -0
  116. package/templates/wevu-retail/src/pages/order/fill-tracking-no/index.vue +267 -0
  117. package/templates/wevu-retail/src/pages/order/invoice/index.vue +94 -0
  118. package/templates/wevu-retail/src/pages/order/order-confirm/components/address-card/index.vue +78 -0
  119. package/templates/wevu-retail/src/pages/order/order-confirm/getNotes.wxs +11 -0
  120. package/templates/wevu-retail/src/pages/order/order-confirm/handleInvoice.wxs +11 -0
  121. package/templates/wevu-retail/src/pages/order/order-confirm/index.vue +707 -0
  122. package/templates/wevu-retail/src/pages/order/order-confirm/order.wxs +8 -0
  123. package/templates/wevu-retail/src/pages/order/order-confirm/pay.ts +115 -0
  124. package/templates/wevu-retail/src/pages/order/order-detail/index.vue +456 -0
  125. package/templates/wevu-retail/src/pages/order/order-list/index.vue +288 -0
  126. package/templates/wevu-retail/src/pages/order/pay-result/index.vue +77 -0
  127. package/templates/wevu-retail/src/pages/order/receipt/index.vue +336 -0
  128. package/templates/wevu-retail/src/pages/promotion/promotion-detail/index.vue +145 -0
  129. package/templates/wevu-retail/src/pages/user/address/edit/index.vue +514 -0
  130. package/templates/wevu-retail/src/pages/user/address/list/index.vue +249 -0
  131. package/templates/wevu-retail/src/pages/user/components/t-location/index.vue +156 -0
  132. package/templates/wevu-retail/src/pages/user/components/ui-address-item/index.vue +92 -0
  133. package/templates/wevu-retail/src/pages/user/name-edit/index.vue +49 -0
  134. package/templates/wevu-retail/src/pages/user/person-info/index.vue +198 -0
  135. package/templates/wevu-retail/src/pages/usercenter/address/edit/util.ts +33 -0
  136. package/templates/wevu-retail/src/pages/usercenter/components/order-group/index.vue +90 -0
  137. package/templates/wevu-retail/src/pages/usercenter/components/ui-select-picker/index.vue +108 -0
  138. package/templates/wevu-retail/src/pages/usercenter/components/user-center-card/index.vue +82 -0
  139. package/templates/wevu-retail/src/pages/usercenter/index.vue +301 -0
  140. package/templates/wevu-retail/src/services/_utils/delay.ts +3 -0
  141. package/templates/wevu-retail/src/services/_utils/timeout.ts +3 -0
  142. package/templates/wevu-retail/src/services/activity/fetchActivity.ts +20 -0
  143. package/templates/wevu-retail/src/services/activity/fetchActivityList.ts +20 -0
  144. package/templates/wevu-retail/src/services/address/edit.ts +33 -0
  145. package/templates/wevu-retail/src/services/address/fetchAddress.ts +48 -0
  146. package/templates/wevu-retail/src/services/address/list.ts +31 -0
  147. package/templates/wevu-retail/src/services/cart/cart.ts +20 -0
  148. package/templates/wevu-retail/src/services/comments/fetchComments.ts +18 -0
  149. package/templates/wevu-retail/src/services/comments/fetchCommentsCount.ts +18 -0
  150. package/templates/wevu-retail/src/services/coupon/index.ts +65 -0
  151. package/templates/wevu-retail/src/services/good/comments/fetchCommentDetail.ts +20 -0
  152. package/templates/wevu-retail/src/services/good/fetchCategoryList.ts +18 -0
  153. package/templates/wevu-retail/src/services/good/fetchGood.ts +18 -0
  154. package/templates/wevu-retail/src/services/good/fetchGoods.ts +29 -0
  155. package/templates/wevu-retail/src/services/good/fetchGoodsDetailsComments.ts +37 -0
  156. package/templates/wevu-retail/src/services/good/fetchGoodsList.ts +39 -0
  157. package/templates/wevu-retail/src/services/good/fetchSearchHistory.ts +35 -0
  158. package/templates/wevu-retail/src/services/good/fetchSearchResult.ts +38 -0
  159. package/templates/wevu-retail/src/services/home/home.ts +53 -0
  160. package/templates/wevu-retail/src/services/order/applyService.ts +70 -0
  161. package/templates/wevu-retail/src/services/order/orderConfirm.ts +69 -0
  162. package/templates/wevu-retail/src/services/order/orderDetail.ts +39 -0
  163. package/templates/wevu-retail/src/services/order/orderList.ts +39 -0
  164. package/templates/wevu-retail/src/services/order/orderSubmitComment.ts +22 -0
  165. package/templates/wevu-retail/src/services/promotion/detail.ts +18 -0
  166. package/templates/wevu-retail/src/services/usercenter/fetchPerson.ts +28 -0
  167. package/templates/wevu-retail/src/services/usercenter/fetchUsercenter.ts +18 -0
  168. package/templates/wevu-retail/src/sitemap.json +7 -0
  169. package/templates/wevu-retail/src/utils/addressParse.ts +25 -0
  170. package/templates/wevu-retail/src/utils/getPermission.ts +45 -0
  171. package/templates/wevu-retail/src/utils/mock.ts +51 -0
  172. package/templates/wevu-retail/src/utils/util.ts +134 -0
  173. package/templates/wevu-retail/src/vite-env.d.ts +1 -0
  174. package/templates/wevu-retail/tailwind.config.ts +15 -0
  175. package/templates/wevu-retail/tsconfig.app.json +58 -0
  176. package/templates/wevu-retail/tsconfig.json +11 -0
  177. package/templates/wevu-retail/tsconfig.node.json +33 -0
  178. package/templates/wevu-retail/vite.config.ts +14 -0
  179. package/templates/wevu-tdesign/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ export const OrderStatus = {
2
+ PENDING_PAYMENT: 5, // 待支付
3
+ PENDING_DELIVERY: 10, // 待发货
4
+ PENDING_RECEIPT: 40, // 待收货
5
+ COMPLETE: 50, // 已完成/待评价
6
+ PAYMENT_TIMEOUT: 80, // 已取消,支付超时
7
+ CANCELED_NOT_PAYMENT: 80, // 已取消,未支付主动取消
8
+ CANCELED_PAYMENT: 80, // 已取消,已支付主动取消
9
+ CANCELED_REJECTION: 80, // 已取消,拒收
10
+ };
11
+
12
+ // 售后状态 10:待审核,20:已审核,30:已收货,40:收货异常,50:已完成,60:已关闭;
13
+ export const AfterServiceStatus = {
14
+ TO_AUDIT: 10, // 待审核
15
+ THE_APPROVED: 20, // 已审核
16
+ HAVE_THE_GOODS: 30, // 已收货
17
+ ABNORMAL_RECEIVING: 40, // 收货异常
18
+ COMPLETE: 50, // 已完成
19
+ CLOSED: 60, // 已关闭
20
+ };
21
+
22
+ // 售后类型
23
+ export const ServiceType = {
24
+ RETURN_GOODS: 10, // 退货退款
25
+ ONLY_REFUND: 20, // 仅退款
26
+ ORDER_CANCEL: 30, // 支付后取消
27
+ };
28
+
29
+ export const ServiceTypeDesc = {
30
+ [ServiceType.RETURN_GOODS]: '退货',
31
+ [ServiceType.ONLY_REFUND]: '退款',
32
+ [ServiceType.ORDER_CANCEL]: '支付后取消',
33
+ };
34
+
35
+ // 订单按钮类型
36
+ export const OrderButtonTypes = {
37
+ PAY: 1, // 付款
38
+ CANCEL: 2, // 取消订单
39
+ CONFIRM: 3, // 确认收货
40
+ APPLY_REFUND: 4, // 申请售后
41
+ VIEW_REFUND: 5, // 查看退款
42
+ COMMENT: 6, // 评价
43
+ DELETE: 7, // 删除订单
44
+ DELIVERY: 8, // 查看物流
45
+ REBUY: 9, // 再次购买
46
+ INVITE_GROUPON: 11, //邀请好友拼团
47
+ };
48
+
49
+ // 售后服务按钮类型
50
+ export const ServiceButtonTypes = {
51
+ REVOKE: 2, // 撤销
52
+ FILL_TRACKING_NO: 3, // 填写运单号
53
+ CHANGE_TRACKING_NO: 4, // 修改运单号
54
+ VIEW_DELIVERY: 5, // 查看物流
55
+ };
56
+
57
+ // 售后状态
58
+ export const ServiceStatus = {
59
+ PENDING_VERIFY: 100, //待审核
60
+ VERIFIED: 110, // 已审核待寄回商品
61
+ PENDING_DELIVERY: 120, // 等待买家寄回商品
62
+ PENDING_RECEIPT: 130, // 已寄回商品,待收货
63
+ RECEIVED: 140, // 已收货
64
+ EXCEPTION: 150, // 收货异常
65
+ REFUNDED: 160, // 已退款
66
+ CLOSED: 170, // 已关闭
67
+ };
68
+
69
+ // 售后收货状态
70
+ export const ServiceReceiptStatus = {
71
+ RECEIPTED: 1, // 已收到货
72
+ NOT_RECEIPTED: 2, // 未收到货
73
+ };
74
+
75
+ // 物流节点
76
+ export const LogisticsNodeTypes = {
77
+ SUBMITTED: 200001, // 已提交订单
78
+ PAYMENTED: 200002, // 已付款/已下单
79
+ SHIPPED: 200003, // 已发货
80
+ CANCELED: 200004, // 已取消
81
+ RECEIVED: 200005, // 已签收
82
+ ADDRESS_CHANGED: 200006, // 已修改地址
83
+ IN_TRANSIT: 200007, // 运输中
84
+ };
85
+
86
+ export const LogisticsIconMap = {
87
+ [LogisticsNodeTypes.SUBMITTED]: '',
88
+ [LogisticsNodeTypes.PAYMENTED]: 'credit_card',
89
+ [LogisticsNodeTypes.SHIPPED]: 'deliver',
90
+ [LogisticsNodeTypes.CANCELED]: '',
91
+ [LogisticsNodeTypes.RECEIVED]: 'check',
92
+ [LogisticsNodeTypes.ADDRESS_CHANGED]: '',
93
+ [LogisticsNodeTypes.IN_TRANSIT]: 'yunshuzhong',
94
+ };
@@ -0,0 +1,145 @@
1
+ <script lang="ts">
2
+ Page({
3
+ data: {
4
+ logisticsData: {
5
+ logisticsNo: '',
6
+ nodes: [],
7
+ company: '',
8
+ phoneNumber: '',
9
+ },
10
+ active: 0,
11
+ },
12
+
13
+ onLoad(query) {
14
+ let data;
15
+ try {
16
+ data = JSON.parse(decodeURIComponent(query.data || '{}'));
17
+ } catch (e) {
18
+ console.warn('物流节点数据解析失败', e);
19
+ }
20
+ if (Number(query.source) === 2) {
21
+ const service = {
22
+ company: data.logisticsCompanyName,
23
+ logisticsNo: data.logisticsNo,
24
+ nodes: data.nodes,
25
+ };
26
+ this.setData({
27
+ logisticsData: service,
28
+ });
29
+ } else if (data) {
30
+ this.setData({ logisticsData: data });
31
+ }
32
+ },
33
+
34
+ onLogisticsNoCopy() {
35
+ wx.setClipboardData({ data: this.data.logisticsData.logisticsNo });
36
+ },
37
+
38
+ onCall() {
39
+ const { phoneNumber } = this.data.logisticsData;
40
+ wx.makePhoneCall({
41
+ phoneNumber,
42
+ });
43
+ },
44
+ });
45
+ </script>
46
+
47
+ <template>
48
+ <wxs src="./isUrl.wxs" module="isUrl"></wxs>
49
+
50
+ <view class="page-section cells [margin-top:24rpx] [background-color:white] [&_.order-group__left]:[margin-right:0]" wx:if="{{logisticsData.logisticsNo || logisticsData.company}}">
51
+ <t-cell-group>
52
+ <t-cell
53
+ title="快递单号"
54
+ t-class-title="wr-cell__title"
55
+ t-class-note="wr-cell__value"
56
+ t-class-left="order-group__left"
57
+ wx:if="{{logisticsData.logisticsNo}}"
58
+ bordered="{{false}}"
59
+ >
60
+ <text slot="note" class="logistics-no [display:inline-block] [text-align:left] [word-break:break-all] [color:#333]">{{logisticsData.logisticsNo}}</text>
61
+ <view
62
+ slot="right-icon"
63
+ class="text-btn [margin-left:20rpx] [display:inline] [font-size:24rpx] [padding:0_15rpx] [border:1rpx_solid_#ddd] [border-radius:28rpx] [color:#333]"
64
+ hover-class="text-btn--active [opacity:0.5]"
65
+ bindtap="onLogisticsNoCopy"
66
+ >复制
67
+ </view>
68
+ </t-cell>
69
+ <t-cell
70
+ title="物流公司"
71
+ t-class-title="wr-cell__title"
72
+ t-class-note="wr-cell__value"
73
+ t-class-left="order-group__left"
74
+ bordered="{{false}}"
75
+ wx:if="{{logisticsData.company}}"
76
+ note="{{logisticsData.company + (logisticsData.phoneNumber ? '-' + logisticsData.phoneNumber : '')}}"
77
+ >
78
+ <view
79
+ slot="right-icon"
80
+ class="text-btn [margin-left:20rpx] [display:inline] [font-size:24rpx] [padding:0_15rpx] [border:1rpx_solid_#ddd] [border-radius:28rpx] [color:#333]"
81
+ hover-class="text-btn--active [opacity:0.5]"
82
+ bindtap="onCall"
83
+ wx:if="{{logisticsData.phoneNumber}}"
84
+ >
85
+ 拨打
86
+ </view>
87
+ </t-cell>
88
+ </t-cell-group>
89
+ </view>
90
+ <view class="page-section cell-steps [margin-top:24rpx] [background-color:white] [padding:8rpx] [&_.order-group__left]:[margin-right:0]">
91
+ <t-steps
92
+ class="page-section__steps [padding:24rpx]"
93
+ t-class="steps [&_.step-title]:[font-weight:bold] [&_.step-title]:[color:#333] [&_.step-title]:[font-size:30rpx] [&_.step-desc]:[color:#333333] [&_.step-desc]:[font-size:28rpx] [&_.step-date]:[color:#999999] [&_.step-date]:[font-size:24rpx] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[background:#ffece9] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[color:white] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[border:none] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[color:white] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[background:#f5f5f5] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[border:none]"
94
+ layout="vertical"
95
+ current="{{active}}"
96
+ >
97
+ <t-step
98
+ class="steps [&_.step-title]:[font-weight:bold] [&_.step-title]:[color:#333] [&_.step-title]:[font-size:30rpx] [&_.step-desc]:[color:#333333] [&_.step-desc]:[font-size:28rpx] [&_.step-date]:[color:#999999] [&_.step-date]:[font-size:24rpx] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[background:#ffece9] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[color:white] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--process_.t-steps-item__icon-number]:[border:none] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[color:white] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[background:#f5f5f5] [&_.t-step--vertical_.t-step--default-anchor_.t-steps-item--default_.t-steps-item__icon-number]:[border:none]"
99
+ t-class-title="step-title"
100
+ wx:for="{{logisticsData.nodes}}"
101
+ wx:for-item="item"
102
+ wx:for-index="index"
103
+ wx:key="index"
104
+ title="{{item.title}}"
105
+ icon="slot"
106
+ >
107
+ <block wx:if="{{isUrl.isUrl(item.icon)}}">
108
+ <t-image
109
+ class="cell-steps__imgWrapper [width:48rpx] [height:48rpx]"
110
+ slot="icon"
111
+ t-class="cell-steps__img [width:48rpx] [height:48rpx]"
112
+ src="{{item.icon}}"
113
+ />
114
+ </block>
115
+ <block wx:else>
116
+ <t-icon
117
+ slot="icon"
118
+ size="32rpx"
119
+ prefix="wr"
120
+ color="{{index === 0 ? '#ef5433' : '#bbb'}}"
121
+ name="{{item.icon}}"
122
+ />
123
+ </block>
124
+ <view slot="content">
125
+ <view class="step-desc">{{item.desc}}</view>
126
+ <view class="step-date">{{item.date}}</view>
127
+ </view>
128
+ </t-step>
129
+ </t-steps>
130
+ </view>
131
+
132
+ </template>
133
+
134
+ <json>
135
+ {
136
+ "navigationBarTitleText": "物流信息",
137
+ "usingComponents": {
138
+ "t-cell": "tdesign-miniprogram/cell/cell",
139
+ "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
140
+ "t-image": "/components/webp-image/index",
141
+ "t-icon": "tdesign-miniprogram/icon/icon",
142
+ "t-steps": "tdesign-miniprogram/steps/steps",
143
+ "t-step": "tdesign-miniprogram/step-item/step-item"
144
+ }
145
+ }</json>
@@ -0,0 +1,7 @@
1
+ var isUrl = function(item) {
2
+ return item.indexOf('http') > -1;
3
+ };
4
+
5
+ module.exports = {
6
+ isUrl: isUrl,
7
+ };
@@ -0,0 +1,71 @@
1
+ import { mockIp, mockReqId } from '../../../utils/mock';
2
+
3
+ export function create() {
4
+ const _resq = {
5
+ data: null,
6
+ code: 'Success',
7
+ msg: null,
8
+ requestId: mockReqId(),
9
+ clientIp: mockIp(),
10
+ rt: 79,
11
+ success: true,
12
+ };
13
+ return Promise.resolve(_resq);
14
+ }
15
+
16
+ export function update() {
17
+ const _resq = {
18
+ data: null,
19
+ code: 'Success',
20
+ msg: null,
21
+ requestId: mockReqId(),
22
+ clientIp: mockIp(),
23
+ rt: 79,
24
+ success: true,
25
+ };
26
+ return Promise.resolve(_resq);
27
+ }
28
+
29
+ export function getDeliverCompanyList() {
30
+ const _resq = {
31
+ data: [
32
+ {
33
+ name: '中通快递',
34
+ code: '0001',
35
+ },
36
+ {
37
+ name: '申通快递',
38
+ code: '0002',
39
+ },
40
+ {
41
+ name: '圆通快递',
42
+ code: '0003',
43
+ },
44
+ {
45
+ name: '顺丰快递',
46
+ code: '0004',
47
+ },
48
+ {
49
+ name: '百世快递',
50
+ code: '0005',
51
+ },
52
+ {
53
+ name: '韵达快递',
54
+ code: '0006',
55
+ },
56
+ {
57
+ name: '邮政快递',
58
+ code: '0007',
59
+ },
60
+ {
61
+ name: '丰网快递',
62
+ code: '0008',
63
+ },
64
+ {
65
+ name: '顺丰直邮',
66
+ code: '0009',
67
+ },
68
+ ],
69
+ };
70
+ return Promise.resolve(_resq);
71
+ }
@@ -0,0 +1,267 @@
1
+ <script lang="ts">
2
+ import Dialog from 'tdesign-miniprogram/dialog/index';
3
+ import Toast from 'tdesign-miniprogram/toast/index';
4
+ import reasonSheet from '../components/reason-sheet/reasonSheet';
5
+ import { getDeliverCompanyList, create, update } from './api';
6
+
7
+ Page({
8
+ deliveryCompanyList: [],
9
+
10
+ data: {
11
+ trackingNo: '',
12
+ remark: '',
13
+ deliveryCompany: null,
14
+ submitActived: false,
15
+ submitting: false,
16
+ },
17
+ onLoad(query) {
18
+ const {
19
+ rightsNo = '',
20
+ logisticsNo = '',
21
+ logisticsCompanyName = '',
22
+ logisticsCompanyCode = '',
23
+ remark = '',
24
+ } = query;
25
+
26
+ if (!rightsNo) {
27
+ Dialog.confirm({
28
+ title: '请选择售后单?',
29
+ content: '',
30
+ confirmBtn: '确认',
31
+ }).then(() => {
32
+ wx.navigateBack({ backRefresh: true });
33
+ });
34
+ }
35
+ this.rightsNo = rightsNo;
36
+ if (logisticsNo) {
37
+ wx.setNavigationBarTitle({
38
+ title: '修改运单号',
39
+ fail() {},
40
+ });
41
+ this.isChange = true;
42
+ this.setData({
43
+ deliveryCompany: {
44
+ name: logisticsCompanyName,
45
+ code: logisticsCompanyCode,
46
+ },
47
+ trackingNo: logisticsNo,
48
+ remark,
49
+ submitActived: true,
50
+ });
51
+ }
52
+ this.setWatcher('trackingNo', this.checkParams.bind(this));
53
+ this.setWatcher('deliveryCompany', this.checkParams.bind(this));
54
+ },
55
+
56
+ setWatcher(key, callback) {
57
+ let lastData = this.data;
58
+ const keys = key.split('.');
59
+ keys.slice(0, -1).forEach((k) => {
60
+ lastData = lastData[k];
61
+ });
62
+ const lastKey = keys[keys.length - 1];
63
+ this.observe(lastData, lastKey, callback);
64
+ },
65
+
66
+ observe(data, k, callback) {
67
+ let val = data[k];
68
+ Object.defineProperty(data, k, {
69
+ configurable: true,
70
+ enumerable: true,
71
+ set: (value) => {
72
+ val = value;
73
+ callback();
74
+ },
75
+ get: () => {
76
+ return val;
77
+ },
78
+ });
79
+ },
80
+
81
+ getDeliveryCompanyList() {
82
+ if (this.deliveryCompanyList.length > 0) {
83
+ return Promise.resolve(this.deliveryCompanyList);
84
+ }
85
+ return getDeliverCompanyList().then((res) => {
86
+ this.deliveryCompanyList = res.data || [];
87
+ return this.deliveryCompanyList;
88
+ });
89
+ },
90
+
91
+ onInput(e) {
92
+ const { key } = e.currentTarget.dataset;
93
+ const { value } = e.detail;
94
+ this.setData({ [key]: value });
95
+ },
96
+
97
+ onCompanyTap() {
98
+ this.getDeliveryCompanyList().then((deliveryCompanyList) => {
99
+ reasonSheet({
100
+ show: true,
101
+ title: '选择物流公司',
102
+ options: deliveryCompanyList.map((company) => ({
103
+ title: company.name,
104
+ checked: this.data.deliveryCompany
105
+ ? company.code === this.data.deliveryCompany.code
106
+ : false,
107
+ })),
108
+ showConfirmButton: true,
109
+ showCancelButton: true,
110
+ emptyTip: '请选择物流公司',
111
+ }).then((indexes) => {
112
+ this.setData({
113
+ deliveryCompany: deliveryCompanyList[indexes[0]],
114
+ });
115
+ });
116
+ });
117
+ },
118
+
119
+ checkParams() {
120
+ const res = { errMsg: '', require: false };
121
+
122
+ if (!this.data.trackingNo) {
123
+ res.errMsg = '请填写运单号';
124
+ res.require = true;
125
+ } else if (!this.data.deliveryCompany) {
126
+ res.errMsg = '请选择物流公司';
127
+ res.require = true;
128
+ }
129
+ this.setData({ submitActived: !res.require });
130
+ return res;
131
+ },
132
+
133
+ onSubmit() {
134
+ const checkRes = this.checkParams();
135
+ if (checkRes.errMsg) {
136
+ Toast({
137
+ context: this,
138
+ selector: '#t-toast',
139
+ message: checkRes.errMsg,
140
+ icon: '',
141
+ });
142
+ return;
143
+ }
144
+
145
+ const {
146
+ trackingNo,
147
+ remark,
148
+ deliveryCompany: { code, name },
149
+ } = this.data;
150
+
151
+ const params = {
152
+ rightsNo: this.rightsNo,
153
+ logisticsCompanyCode: code,
154
+ logisticsCompanyName: name,
155
+ logisticsNo: trackingNo,
156
+ remark,
157
+ };
158
+ const api = this.isChange ? create : update;
159
+ this.setData({ submitting: true });
160
+ api(params)
161
+ .then(() => {
162
+ this.setData({ submitting: false });
163
+ Toast({
164
+ context: this,
165
+ selector: '#t-toast',
166
+ message: '保存成功',
167
+ icon: '',
168
+ });
169
+ setTimeout(() => wx.navigateBack({ backRefresh: true }), 1000);
170
+ })
171
+ .catch(() => {
172
+ this.setData({ submitting: false });
173
+ });
174
+ },
175
+
176
+ onScanTap() {
177
+ wx.scanCode({
178
+ scanType: ['barCode'],
179
+ success: (res) => {
180
+ Toast({
181
+ context: this,
182
+ selector: '#t-toast',
183
+ message: '扫码成功',
184
+ icon: '',
185
+ });
186
+ this.setData({ trackingNo: res.result });
187
+ },
188
+ fail: () => {},
189
+ });
190
+ },
191
+ });
192
+ </script>
193
+
194
+ <template>
195
+ <view class="fill-tracking-no">
196
+ <view class="notice-bar [padding:24rpx_30rpx] [text-align:center] [font-size:26rpx] [color:#e17349] [background:#fefcef]">请填写正确的退货包裹运单信息,以免影响退款进度</view>
197
+ <view class="fill-tracking-no__form [margin-top:20rpx] [--td-input-vertical-padding:0] [&_.t-cell__note]:[justify-content:flex-start] [&_.t-cell__note]:[width:340rpx] [&_.t-cell__note]:[margin-left:10rpx] [&_.t-cell__value]:[color:#333] [&_.t-cell__value]:[font-size:30rpx] [&_.t-cell__value]:[text-align:left] [&_.t-cell__value]:[padding:0] [&_.t-cell__value_.t-textarea__wrapper]:[padding:0] [&_.t-input__control]:[font-size:30rpx] [&_.t-textarea__placeholder]:[font-size:30rpx] [&_.t-cell__placeholder]:[font-size:30rpx] [&_.t-textarea__placeholder]:[color:#bbbbbb] [&_.t-cell__placeholder]:[color:#bbbbbb] [&_.t-input__wrapper]:[margin:0]">
198
+ <t-cell-group>
199
+ <t-cell title="运单号" t-class-title="t-cell-title-width">
200
+ <t-input
201
+ slot="note"
202
+ borderless
203
+ t-class="t-cell__value"
204
+ type="text"
205
+ value="{{trackingNo}}"
206
+ maxlength="30"
207
+ placeholder="请输入物流单号"
208
+ bind:change="onInput"
209
+ data-key="trackingNo"
210
+ />
211
+
212
+ <t-icon slot="right-icon" name="scan" t-class="icon-scan" bindtap="onScanTap" />
213
+ </t-cell>
214
+ <t-cell
215
+ t-class-title="t-cell-title-width"
216
+ t-class-note="{{deliveryCompany && deliveryCompany.name ? 't-cell__value' : 't-cell__placeholder'}}"
217
+ title="物流公司"
218
+ note="{{deliveryCompany && deliveryCompany.name || '请选择物流公司'}}"
219
+ arrow
220
+ bindtap="onCompanyTap"
221
+ />
222
+ </t-cell-group>
223
+ <view class="textarea-wrapper [background:#fff] [display:flex] [align-items:flex-start] [padding:24rpx_32rpx_0_32rpx]">
224
+ <text>备注信息</text>
225
+ </view>
226
+ <t-textarea
227
+ t-class="t-textarea-wrapper [box-sizing:border-box]"
228
+ type="text"
229
+ value="{{remark}}"
230
+ maxlength="140"
231
+ autosize
232
+ placeholder="选填项,如有多个包裹寄回,请注明其运单信息"
233
+ bind:change="onInput"
234
+ data-key="remark"
235
+ />
236
+ </view>
237
+ <view class="fill-tracking-no__button-bar [margin:38rpx_30rpx_0] [&_.btn]:[background-color:transparent] [&_.btn]:[font-size:32rpx] [&_.btn]:[width:100%] [&_.btn]:[border-radius:48rpx] [&_.btn:first-child]:[margin-bottom:20rpx] [&_.btn_.confirmBtn]:[background:#fa4126] [&_.btn_.confirmBtn]:[color:#fff] [&_.btn_.disabled]:[background-color:#c6c6c6] [&_.btn_.disabled]:[color:#fff]">
238
+ <t-button
239
+ t-class="btn {{ submitActived ? 'confirmBtn' : '' }}"
240
+ disabled="{{!submitActived}}"
241
+ loading="{{submitting}}"
242
+ bindtap="onSubmit"
243
+ >
244
+ 保存
245
+ </t-button>
246
+ </view>
247
+ </view>
248
+ <ui-reason-sheet id="wr-reason-sheet" />
249
+ <t-toast id="t-toast" />
250
+ <t-dialog id="t-dialog" />
251
+ </template>
252
+
253
+ <json>
254
+ {
255
+ "navigationBarTitleText": "填写运单号",
256
+ "usingComponents": {
257
+ "t-icon": "tdesign-miniprogram/icon/icon",
258
+ "t-cell": "tdesign-miniprogram/cell/cell",
259
+ "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
260
+ "t-textarea": "tdesign-miniprogram/textarea/textarea",
261
+ "t-input": "tdesign-miniprogram/input/input",
262
+ "t-toast": "tdesign-miniprogram/toast/toast",
263
+ "t-dialog": "tdesign-miniprogram/dialog/dialog",
264
+ "t-button": "tdesign-miniprogram/button/button",
265
+ "ui-reason-sheet": "../components/reason-sheet/index"
266
+ }
267
+ }</json>
@@ -0,0 +1,94 @@
1
+ <script lang="ts">
2
+ import { fetchOrderDetail } from '../../../services/order/orderDetail';
3
+
4
+ Page({
5
+ data: {
6
+ invoice: {},
7
+ },
8
+ onLoad({ orderNo }) {
9
+ this.orderNo = orderNo;
10
+ this.init();
11
+ },
12
+ init() {
13
+ this.getDetail();
14
+ },
15
+ getDetail() {
16
+ const params = {
17
+ parameter: this.orderNo,
18
+ };
19
+ return fetchOrderDetail(params).then((res) => {
20
+ const order = res.data;
21
+
22
+ const invoice = {
23
+ buyerName: order?.invoiceVO?.buyerName, //个人或公司名称
24
+ buyerTaxNo: order?.invoiceVO?.buyerTaxNo, //税号
25
+ buyerPhone: order?.invoiceVO?.buyerPhone, //手机
26
+ email: order?.invoiceVO?.email, //邮箱
27
+ titleType: order?.invoiceVO?.titleType === 1 ? '个人' : '公司', //发票抬头 1-个人 2-公司
28
+ ontentType: order?.invoiceVO?.ontentType === 1 ? '商品明细' : '2类别', //发票内容 1-明细 2类别
29
+ invoiceType:
30
+ order?.invoiceVO?.invoiceType === 5 ? '电子普通发票' : '不开发票', //是否开票 0-不开 5-电子发票
31
+ isInvoice: order?.invoiceVO?.buyerName ? '已开票' : '未开票',
32
+ money: order?.invoiceVO?.money,
33
+ };
34
+ this.setData({
35
+ invoice,
36
+ });
37
+ });
38
+ },
39
+ });
40
+ </script>
41
+
42
+ <template>
43
+ <view class="invoice-detail [&_.invoice-detail-box]:[background-color:#fff] [&_.invoice-detail-box]:[padding:24rpx_32rpx] [&_.invoice-detail-box]:[margin-top:24rpx]">
44
+ <view class="invoice-detail-box">
45
+ <view class="invoice-detail-title [font-size:14px] [font-weight:600]">发票详情</view>
46
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
47
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">发票类型</view>
48
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.invoiceType}}</view>
49
+ </view>
50
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
51
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">发票抬头</view>
52
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.buyerName}}</view>
53
+ </view>
54
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
55
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">纳税人识别号</view>
56
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.buyerTaxNo}}</view>
57
+ </view>
58
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
59
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">发票内容</view>
60
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.ontentType}}</view>
61
+ </view>
62
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
63
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">发票金额</view>
64
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.money}}</view>
65
+ </view>
66
+ </view>
67
+ <view class="invoice-detail-box">
68
+ <view class="invoice-detail-title [font-size:14px] [font-weight:600]">收票人信息</view>
69
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
70
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">邮箱</view>
71
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.email}}</view>
72
+ </view>
73
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
74
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">手机号</view>
75
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.buyerPhone}}</view>
76
+ </view>
77
+ <view class="invoice-detail-box-row [display:flex] [margin-top:44rpx]">
78
+ <view class="invoice-detail-box-title [font-size:13px] [color:#666666] [width:156rpx] [margin-right:32rpx]">开票状态</view>
79
+ <view class="invoice-detail-box-value [font-size:13px] [color:#333333]">{{invoice.isInvoice}}</view>
80
+ </view>
81
+ </view>
82
+ </view>
83
+ </template>
84
+
85
+ <json>
86
+ {
87
+ "navigationBarTitleText": "发票详情",
88
+ "usingComponents": {
89
+ "t-cell": "tdesign-miniprogram/cell/cell",
90
+ "t-button": "tdesign-miniprogram/button/button",
91
+ "t-cell-group": "tdesign-miniprogram/cell-group/cell-group"
92
+ }
93
+ }
94
+ </json>