@alu008/test_yuanqikaixiang 1.0.0

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 (110) hide show
  1. package/App.vue +294 -0
  2. package/Local/en.json +3 -0
  3. package/Local/indian.json +3 -0
  4. package/Local/zh-Hans.json +3 -0
  5. package/Local/zh-Hant.json +3 -0
  6. package/README.md +1 -0
  7. package/androidPrivacy.json +28 -0
  8. package/components/ball/ball.vue +230 -0
  9. package/components/cardDetails/cardDetails.vue +273 -0
  10. package/components/confirmModal/confirmModal.vue +125 -0
  11. package/components/fillInfo/fillInfo.vue +255 -0
  12. package/components/header/header.vue +92 -0
  13. package/components/selectAddress/selectAddress.vue +156 -0
  14. package/components/signDetail/signDetail.vue +33 -0
  15. package/components/skeleton/skeleton.vue +62 -0
  16. package/index.html +20 -0
  17. package/index.template.html +35 -0
  18. package/jsconfig.json +9 -0
  19. package/main.js +48 -0
  20. package/manifest.json +159 -0
  21. package/package.json +14 -0
  22. package/pages/index/index.vue +5421 -0
  23. package/pages.json +173 -0
  24. package/project.config.json +25 -0
  25. package/project.private.config.json +14 -0
  26. package/static/fonts/Alibaba-PuHuiTi-Bold.ttf +0 -0
  27. package/static/fonts/Alibaba-PuHuiTi-Medium.ttf +0 -0
  28. package/static/fonts/Alibaba-PuHuiTi-Regular.ttf +0 -0
  29. package/static/fonts/fxlh.ttf +0 -0
  30. package/static/img/R.png +0 -0
  31. package/static/img/SR.png +0 -0
  32. package/static/img/SSR.png +0 -0
  33. package/static/img/bottomBgc1.png +0 -0
  34. package/static/img/centerBgc.png +0 -0
  35. package/static/img/goldBgc.png +0 -0
  36. package/static/img/goldText.png +0 -0
  37. package/static/img/home/calendar/bgc0.png +0 -0
  38. package/static/img/home/calendar/bgc1.png +0 -0
  39. package/static/img/home/calendar/bgc2.png +0 -0
  40. package/static/img/home/calendar/bgc3.png +0 -0
  41. package/static/img/home/calendar/progress0.png +0 -0
  42. package/static/img/home/calendar/progress1.png +0 -0
  43. package/static/img/home/calendar/progress2.png +0 -0
  44. package/static/img/home/calendar/progress3.png +0 -0
  45. package/static/img/kuang.gif +0 -0
  46. package/static/img/luckyBgc.png +0 -0
  47. package/static/img/lucyText.png +0 -0
  48. package/static/img/top_Bgc.png +0 -0
  49. package/subpackages/article/article.vue +64 -0
  50. package/subpackages/confirmSendLogistics/confirmSendLogistics.vue +1035 -0
  51. package/subpackages/coupon/coupon.vue +276 -0
  52. package/subpackages/fragment/fragment.vue +1592 -0
  53. package/subpackages/myAddress/myAddress.vue +656 -0
  54. package/subpackages/myCards/myCards.vue +1250 -0
  55. package/subpackages/myOrder/myOrder.vue +779 -0
  56. package/subpackages/myOrderDetail/myOrderDetail.vue +659 -0
  57. package/subpackages/poster/poster.vue +130 -0
  58. package/subpackages/selectCoupon/selectCoupon.vue +251 -0
  59. package/subpackages/sendLogistics/sendLogistics.vue +1097 -0
  60. package/subpackages/vote/vote.vue +877 -0
  61. package/uni.promisify.adaptor.js +10 -0
  62. package/uni.scss +114 -0
  63. package/uni_modules/qf-image-cropper/changelog.md +72 -0
  64. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.render.js +855 -0
  65. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue +749 -0
  66. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxs +727 -0
  67. package/uni_modules/qf-image-cropper/package.json +81 -0
  68. package/uni_modules/qf-image-cropper/readme.md +97 -0
  69. package/uni_modules/uni-data-select/changelog.md +51 -0
  70. package/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue +837 -0
  71. package/uni_modules/uni-data-select/package.json +106 -0
  72. package/uni_modules/uni-data-select/readme.md +8 -0
  73. package/uni_modules/uni-icons/changelog.md +44 -0
  74. package/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue +91 -0
  75. package/uni_modules/uni-icons/components/uni-icons/uni-icons.vue +110 -0
  76. package/uni_modules/uni-icons/components/uni-icons/uniicons.css +664 -0
  77. package/uni_modules/uni-icons/components/uni-icons/uniicons.ttf +0 -0
  78. package/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts +664 -0
  79. package/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js +649 -0
  80. package/uni_modules/uni-icons/package.json +111 -0
  81. package/uni_modules/uni-icons/readme.md +8 -0
  82. package/uni_modules/uni-load-more/changelog.md +23 -0
  83. package/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json +5 -0
  84. package/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js +8 -0
  85. package/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json +5 -0
  86. package/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json +5 -0
  87. package/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue +404 -0
  88. package/uni_modules/uni-load-more/package.json +105 -0
  89. package/uni_modules/uni-load-more/readme.md +14 -0
  90. package/uni_modules/uni-scss/changelog.md +8 -0
  91. package/uni_modules/uni-scss/index.scss +1 -0
  92. package/uni_modules/uni-scss/package.json +82 -0
  93. package/uni_modules/uni-scss/readme.md +4 -0
  94. package/uni_modules/uni-scss/styles/index.scss +7 -0
  95. package/uni_modules/uni-scss/styles/setting/_border.scss +3 -0
  96. package/uni_modules/uni-scss/styles/setting/_color.scss +66 -0
  97. package/uni_modules/uni-scss/styles/setting/_radius.scss +55 -0
  98. package/uni_modules/uni-scss/styles/setting/_space.scss +56 -0
  99. package/uni_modules/uni-scss/styles/setting/_styles.scss +167 -0
  100. package/uni_modules/uni-scss/styles/setting/_text.scss +24 -0
  101. package/uni_modules/uni-scss/styles/setting/_variables.scss +146 -0
  102. package/uni_modules/uni-scss/styles/tools/functions.scss +19 -0
  103. package/uni_modules/uni-scss/theme.scss +31 -0
  104. package/uni_modules/uni-scss/variables.scss +62 -0
  105. package/utils/addressData.js +6042 -0
  106. package/utils/api.js +160 -0
  107. package/utils/fetch.js +548 -0
  108. package/utils/index.js +994 -0
  109. package/utils/navigator.js +17 -0
  110. package/utils/request.js +162 -0
@@ -0,0 +1,1035 @@
1
+ <template>
2
+ <view>
3
+ <u-sticky bgColor="#fff">
4
+ <Header title="确认发货"></Header>
5
+ </u-sticky>
6
+
7
+ <view class="confirmSendLoginsticsContent">
8
+ <view @click="selectAddress" class="address">
9
+ <image
10
+ src="https://img.shinemang.com/static/img/addressIcon.png"
11
+ mode="scaleToFill"
12
+ style="width: 48rpx; height: 48rpx"
13
+ />
14
+ <view style="width: 532rpx" v-if="address">
15
+ <view class="location over"
16
+ >{{ address.province }}{{ address.city }}{{ address.area
17
+ }}{{ address.subArea }}{{ address.address }}</view
18
+ >
19
+ <view class="contact over"
20
+ >{{ address.name }} &nbsp;&nbsp;{{ address.phoneNum }}</view
21
+ >
22
+ </view>
23
+ <view style="width: 502rpx" v-else>
24
+ <view class="location over"> 点击去添加收货地址</view>
25
+ </view>
26
+ <image
27
+ src="https://img.shinemang.com/static/img/next.png"
28
+ mode="scaleToFill"
29
+ style="width: 32rpx; height: 32rpx"
30
+ />
31
+ </view>
32
+
33
+ <view class="selectCards">
34
+ <scroll-view
35
+ scroll-x="true"
36
+ scroll-with-animation
37
+ style="width: 100%; white-space: nowrap; height: 240rpx"
38
+ >
39
+ <view class="cardsList">
40
+ <view v-for="value in cards" @click="showPreviewDetail(value)" :key="value.id" class="card">
41
+ <view
42
+ :style="{
43
+ backgroundImage:
44
+ 'url(' + formateUrl(value.item.itemCoverThumb) + ')',
45
+ }"
46
+ class="cardsBgc bgcCenter"
47
+ >
48
+ <view class="count">x{{ value.selectCount }}</view>
49
+ </view>
50
+ <view class="name over">{{ value.item.itemName }}</view>
51
+ </view>
52
+ </view>
53
+ </scroll-view>
54
+ </view>
55
+ <view class="detail">
56
+ <view class="fee">
57
+ <view class="item">
58
+ <view><text>运费</text></view>
59
+ <view
60
+ ><text class="fb"
61
+ >¥{{ current == 0 ? 0 : sendLogisticsFee }}</text
62
+ ></view
63
+ >
64
+ </view>
65
+ </view>
66
+ <view v-if="current == 1" class="fee">
67
+ <view class="item">
68
+ <view><text>免邮券</text></view>
69
+ <view
70
+ ><text class="fb">x{{ couponList.length }}</text></view
71
+ >
72
+ </view>
73
+ </view>
74
+ </view>
75
+ <view
76
+ v-if="!ios && !honery && current == 1 && couponList.length == 0"
77
+ class="detailPay"
78
+ >
79
+ <view @click="changePayType" class="fee">
80
+ <view class="item">
81
+ <view class="type">
82
+ <image src="https://img.shinemang.com/static/img/home/wechat.png" mode="scaleToFill" />
83
+ <text>微信支付</text>
84
+ </view>
85
+ <view class="check">
86
+ <image
87
+ v-if="payType == 1"
88
+ src="https://img.shinemang.com/static/rednote/check1.png"
89
+ mode="scaleToFill"
90
+ />
91
+ <image
92
+ v-else
93
+ src="https://img.shinemang.com/static/rednote/notCheck1.png"
94
+ mode="scaleToFill"
95
+ />
96
+ </view>
97
+ </view>
98
+ </view>
99
+ <view @click="changePayType()" class="fee">
100
+ <view class="item">
101
+ <view class="type">
102
+ <image src="https://img.shinemang.com/static/img/home/alipay.png" mode="scaleToFill" />
103
+ <text>支付宝</text>
104
+ </view>
105
+ <view class="check">
106
+ <image
107
+ v-if="payType == 2"
108
+ src="https://img.shinemang.com/static/rednote/check1.png"
109
+ mode="scaleToFill"
110
+ />
111
+ <image
112
+ v-else
113
+ src="https://img.shinemang.com/static/rednote/notCheck1.png"
114
+ mode="scaleToFill"
115
+ />
116
+ </view>
117
+ </view>
118
+ </view>
119
+ </view>
120
+ <view class="actionBtn">
121
+ <view>
122
+ <view class="price">
123
+ <text>合计: </text>
124
+ <view class="count"
125
+ >¥{{
126
+ current == 0 || couponList.length > 0 ? 0 : sendLogisticsFee
127
+ }}</view
128
+ >
129
+ </view>
130
+ </view>
131
+ <view>
132
+ <view @click="confirm" :class="['confirm', address ? 'active' : '']"
133
+ >确认发货</view
134
+ >
135
+ </view>
136
+ </view>
137
+ </view>
138
+
139
+ <view v-if="showSurePayment" class="surePayment">
140
+ <view class="contentBox">
141
+ <view class="title"> 支付提示</view>
142
+ <view style="text-align: center; padding: 0 32rpx" class="des"
143
+ >您已支付该笔订单吗?
144
+ </view>
145
+
146
+ <view class="actionsBtn">
147
+ <view @click="confirmSurePayment">未支付</view>
148
+ <view @click="confirmSurePayment"> 已支付</view>
149
+ </view>
150
+ </view>
151
+ </view>
152
+
153
+ <u-popup
154
+ @close="buyCouponPopup = false"
155
+ :show="buyCouponPopup"
156
+ mode="center"
157
+ :round="32"
158
+ zIndex="10076"
159
+ @click.stop.prevent
160
+ class="sharePopupBox"
161
+ :safeAreaInsetBottom="false"
162
+ >
163
+ <view v-if="buyCouponPopup" class="buyCouponPopup">
164
+ <view class="title">
165
+ <view>购买免邮券</view>
166
+ </view>
167
+ <view class="content">
168
+ <view class="subtitle">
169
+ 当前操作为购买免邮券,购买成功后可用于物品发货,每次发货使用1张免邮券,购买后不可退换.
170
+ </view>
171
+ <!-- ,<block style="display: inline-block;">¥{{ sendLogisticsFee }}</block>/张 -->
172
+ <!--
173
+ <view>
174
+ <input type="number" placeholder="请输入购买数量"></input>
175
+ </view> -->
176
+
177
+ <view class="tips"> 需支付¥{{ sendLogisticsFee }} </view>
178
+ </view>
179
+
180
+ <view class="buttons">
181
+ <view @click="buyCouponPopup = false">取消</view>
182
+ <view @click="confirmBuyCoupon">确认购买</view>
183
+ </view>
184
+ </view>
185
+ </u-popup>
186
+
187
+
188
+ <view v-if="showPreview" @click="showPreview = false" class="previewImage">
189
+ <view>
190
+ <view id="toImg" style="position: relative;">
191
+ <img :style="{
192
+
193
+ }" :src="formateUrl(rewardDetail.item.itemCoverThumb)" alt="" />
194
+
195
+ <view class="mask"></view>
196
+ </view>
197
+ <view class="goodsName">{{ rewardDetail.item.itemName }}</view>
198
+ <view v-for="item in rewardDetail.item.option">
199
+ <view v-if="item.selectCount && item.selectCount > 0">{{ item.name }}&nbsp;&nbsp;x{{ item.selectCount }}</view>
200
+ </view>
201
+
202
+ </view>
203
+ </view>
204
+ </view>
205
+ </template>
206
+
207
+ <script>
208
+ import {
209
+ fetchAddressList,
210
+ fetchCreateOrder,
211
+ fetchCouponList,
212
+ } from "@/utils/fetch";
213
+ import {
214
+ formateServerUrl,
215
+ sendLogisticsFee,
216
+ checkHasPhone,
217
+ getDecievedModel,
218
+ pay,
219
+ isIos,
220
+ reportMessage,
221
+ isHonery,
222
+ } from "@/utils";
223
+ import Header from "@/components/header/header.vue";
224
+
225
+ export default {
226
+ data() {
227
+ return {
228
+ address: "",
229
+ cards: [],
230
+ showTips: true,
231
+ sendLogisticsFee: sendLogisticsFee,
232
+ needPhone: false,
233
+ current: 0, // 0 免费 1 需要邮费
234
+ showSurePayment: false,
235
+ couponList: [],
236
+ buyCouponPopup: false,
237
+ getPayMentCallBack: false,
238
+ payType: 1, // 1 微信 2 支付宝
239
+ ios: isIos(),
240
+ honery:isHonery(),
241
+ showPreview: false,
242
+ rewardDetail:null,
243
+ };
244
+ },
245
+ components: {
246
+ Header,
247
+ // login,
248
+ // phoneNumber
249
+ },
250
+ onLoad(options) {
251
+ uni.removeStorageSync("address");
252
+ this.getAddressList();
253
+
254
+ this.cards = uni.getStorageSync("confirmSendLogistics");
255
+ this.current = options.current;
256
+ },
257
+ methods: {
258
+ showPreviewDetail(value) {
259
+ this.rewardDetail = value;
260
+
261
+ this.showPreview = true;
262
+ // }
263
+ },
264
+ changePayType() {
265
+ if (this.payType == 1) {
266
+ this.payType = 2;
267
+ } else {
268
+ this.payType = 1;
269
+ }
270
+ },
271
+ payMent(id) {
272
+ pay(id, this.ios ? 3 : (this.honery? 2: this.payType)).then((res) => {
273
+ if (res.ret !== 0) {
274
+ } else {
275
+ this.buyCouponPopup = false;
276
+
277
+ const Ios = isIos();
278
+ if (Ios) {
279
+ if (document.visibilityState == "visible") {
280
+ setTimeout(() => {
281
+ this.confirmSurePayment();
282
+ }, 2000);
283
+ } else {
284
+ this.showSurePayment = true;
285
+ }
286
+ } else {
287
+ this.showSurePayment = true;
288
+ }
289
+ // this.getPayMentCallBack = true;
290
+ // if (document.visibilityState == "visible") {
291
+ // uni.showLoading({
292
+ // icon: "none",
293
+ // mask: true,
294
+ // });
295
+ // setTimeout(() => {
296
+ // this.confirmSurePayment();
297
+ // }, 2000);
298
+ // } else {
299
+ // this.showSurePayment = true;
300
+ // }
301
+ // 此时返回的res中的 msg 是购买完成页地址,可以直接跳转过去即可
302
+ // MgtvApi.jumpPage({
303
+ // url: res.msg,
304
+ // });
305
+ }
306
+ });
307
+ },
308
+ getCouponList() {
309
+ fetchCouponList({
310
+ page: 1,
311
+ page_size: 1000000,
312
+ state: "CouponStockState_Unused",
313
+ item_type: "ItemType_Coupon_Free",
314
+ use_source_type: "SourceType_Delivery",
315
+ }).then((res) => {
316
+ this.couponList = res.list.length > 0 ? res.list[0].stockId : [];
317
+ });
318
+ },
319
+ confirmBuyCoupon() {
320
+ reportMessage("集好运-确认发货界面-支付邮费");
321
+
322
+ let stock_ids = [];
323
+ let option_id = []
324
+ this.cards.forEach((item) => {
325
+ for (let i = 0; i < item.selectCount; i++) {
326
+ stock_ids.push(item.stockId[i]);
327
+ }
328
+ if(item.item.option.length > 0){
329
+ item.item.option.forEach((item1) => {
330
+ for(let index = 0; index < item1.selectCount; index++){
331
+ option_id.push(item1.id)
332
+ }
333
+ })
334
+ }else{
335
+ for (let i = 0; i < item.selectCount; i++) {
336
+ option_id.push(0);
337
+ }
338
+ }
339
+ });
340
+
341
+
342
+ const systemInfo = uni.getSystemInfoSync();
343
+ const platform_id = getDecievedModel();
344
+ fetchCreateOrder({
345
+ type: "OrderType_Normal",
346
+ delivery_info_id: this.address.id,
347
+ stock_id: stock_ids,
348
+ amount: this.sendLogisticsFee,
349
+ coupon_stock_id: 0,
350
+ option_id:option_id,
351
+ payment_create_request: {
352
+ platform_id: platform_id,
353
+ device_id: systemInfo.deviceId,
354
+ amount: this.sendLogisticsFee,
355
+ },
356
+ }).then((res) => {
357
+ this.buyCouponPopup = false;
358
+ console.log(res);
359
+ const productId = res.createPaymentReply.productId;
360
+ this.payMent(productId);
361
+ });
362
+ },
363
+ confirmSurePayment() {
364
+ // uni.showLoading({ mask: true,icon:'none' });
365
+ this.showSurePayment = false;
366
+ fetchCouponList({
367
+ page: 1,
368
+ page_size: 1000000,
369
+ state: "CouponStockState_Unused",
370
+ item_type: "ItemType_Coupon_Free",
371
+ use_source_type: "SourceType_Delivery",
372
+ }).then((res) => {
373
+ this.couponList = res.list[0].stockId;
374
+ if (this.couponList.length == 0) {
375
+ uni.hideLoading();
376
+ // 没有优惠券
377
+ uni.showToast({
378
+ title: "网络延时,请稍后在试,如已支付,将已免邮券的方式发放",
379
+ icon: "none",
380
+ // mask: true
381
+ });
382
+ } else {
383
+ this.confirm();
384
+ }
385
+ });
386
+ },
387
+
388
+ confirm() {
389
+ reportMessage("集好运-确认发货界面-确认发货");
390
+ if (!this.address) {
391
+ uni.hideLoading();
392
+ return uni.showToast({
393
+ title: "请先选择收货地址",
394
+ icon: "none",
395
+ });
396
+ }
397
+ let stock_ids = [];
398
+ let option_id = []
399
+ this.cards.forEach((item) => {
400
+ for (let i = 0; i < item.selectCount; i++) {
401
+ stock_ids.push(item.stockId[i]);
402
+ }
403
+ if(item.item.option.length > 0){
404
+ item.item.option.forEach((item1) => {
405
+ for(let index = 0; index < item1.selectCount; index++){
406
+ option_id.push(item1.id)
407
+ }
408
+ })
409
+ }else{
410
+ for (let i = 0; i < item.selectCount; i++) {
411
+ option_id.push(0);
412
+ }
413
+ }
414
+ });
415
+
416
+ // 确认发货
417
+ if (this.current == 0 || this.couponList.length > 0) {
418
+ // uni.showLoading({ mask: true });
419
+ // 直接发货
420
+ fetchCreateOrder({
421
+ type: "OrderType_Normal",
422
+ delivery_info_id: this.address.id,
423
+ stock_id: stock_ids,
424
+ amount: 0,
425
+ coupon_stock_id: this.current == 0 ? 0 : this.couponList[0],
426
+ option_id:option_id
427
+ }).then((res) => {
428
+ uni.hideLoading();
429
+ uni.showToast({ title: "提交成功", icon: "none" });
430
+ let pages = getCurrentPages();
431
+ if (pages.length > 2) {
432
+ setTimeout(() => {
433
+ uni.navigateBack({
434
+ delta: 2,
435
+ success: () => {
436
+ uni.setStorageSync("toOrder", 1);
437
+ },
438
+ fail:() => {
439
+ uni.reLaunch({ url: "/pages/index/index" });
440
+ }
441
+ });
442
+ }, 1500);
443
+ }else{
444
+ uni.reLaunch({ url: "/pages/index/index" });
445
+ }
446
+ });
447
+ return;
448
+ } else {
449
+ this.buyCouponPopup = true;
450
+ }
451
+ },
452
+ formateUrl(url) {
453
+ return formateServerUrl(url);
454
+ },
455
+ selectAddress() {
456
+ // 选择地址
457
+ uni.navigateTo({
458
+ url:
459
+ "/subpackages/myAddress/myAddress?isSelect=" +
460
+ 1 +
461
+ "&hasAddressId=" +
462
+ (this.address ? this.address.id : -1),
463
+ });
464
+ },
465
+ getAddressList() {
466
+ fetchAddressList({}).then((res) => {
467
+ if (res.list.length > 0) {
468
+ const isDefault = res.list.find((item) => item.isDefault == true);
469
+ if (isDefault) {
470
+ this.address = isDefault;
471
+ } else {
472
+ this.address = res.list[0];
473
+ }
474
+ } else {
475
+ this.address = null;
476
+ }
477
+ });
478
+ },
479
+ },
480
+
481
+ onShow() {
482
+ const address = uni.getStorageSync("address");
483
+ if (address) {
484
+ this.address = JSON.parse(address);
485
+ } else {
486
+ this.getAddressList();
487
+ }
488
+ this.getCouponList();
489
+ // if(this.getPayMentCallBack){
490
+ // this.getPayMentCallBack = false;
491
+ // this.confirmSurePayment();
492
+ // }
493
+ },
494
+ };
495
+ </script>
496
+
497
+ <style lang="scss" scoped>
498
+ page {
499
+ background-color: #f6f6f6 !important;
500
+ min-height: 100vh;
501
+ }
502
+ .buyCouponPopup {
503
+ width: 100%;
504
+ padding: 64rpx 48rpx;
505
+ // padding-top: 48rpx;
506
+ background-color: #ffff;
507
+ border-radius: 32rpx;
508
+ width: 654rpx;
509
+ .title {
510
+ // height: 100rpx;
511
+ background: #fff;
512
+ display: flex;
513
+ align-items: center;
514
+ justify-content: center;
515
+ // line-height: 100rpx;
516
+ font-size: 36rpx;
517
+ font-weight: bold;
518
+ }
519
+ .content {
520
+ margin-top: 30rpx;
521
+ .subtitle {
522
+ font-size: 28rpx;
523
+ font-weight: bold;
524
+ margin-bottom: 16rpx;
525
+
526
+ // display: flex;
527
+ // align-items: center;
528
+ // justify-content: space-between;
529
+ }
530
+ input {
531
+ // height: 100rpx;
532
+ background-color: #f6f6f6;
533
+ padding: 16rpx;
534
+ font-size: 28rpx;
535
+ border-radius: 8rpx;
536
+ margin-top: 26rpx;
537
+ }
538
+ .tips {
539
+ font-size: 24rpx;
540
+ color: #e73e3d;
541
+
542
+ margin-top: 32rpx;
543
+ text-align: center;
544
+ }
545
+ }
546
+ .buttons {
547
+ display: flex;
548
+ align-items: center;
549
+ justify-content: center;
550
+ margin-top: 36rpx;
551
+ > view {
552
+ width: 264rpx;
553
+ height: 80rpx;
554
+
555
+ border-radius: 40rpx 40rpx 40rpx 40rpx;
556
+ font-size: 32rpx;
557
+ display: flex;
558
+ align-items: center;
559
+ justify-content: center;
560
+ &:first-child {
561
+ margin-right: 30rpx;
562
+ background: #e9e9e9;
563
+ }
564
+
565
+ &:last-child {
566
+ background: linear-gradient( 90deg, #0BD690 0%, #00B0E0 100%);;
567
+ color: #fff;
568
+ }
569
+ }
570
+ }
571
+ }
572
+ .surePayment {
573
+ width: 100%;
574
+ height: 100%;
575
+ background: rgba(0, 0, 0, 0.5);
576
+ position: fixed;
577
+ top: 0;
578
+ left: 50%;
579
+ transform: translateX(-50%);
580
+ z-index: 99999;
581
+ display: flex;
582
+ align-items: center;
583
+ justify-content: center;
584
+ .contentBox {
585
+ width: 654rpx;
586
+
587
+ background: #ffffff;
588
+ border-radius: 32rpx;
589
+ padding-top: 64rpx;
590
+ padding-bottom: 64rpx;
591
+ padding-left: 16rpx;
592
+ padding-right: 16rpx;
593
+
594
+ .title {
595
+ font-size: 36rpx;
596
+ margin-bottom: 44rpx;
597
+ text-align: center;
598
+ }
599
+ > .des {
600
+ font-size: 28rpx;
601
+ margin-bottom: 62rpx;
602
+ text-align: center;
603
+ }
604
+ .desTips {
605
+ font-size: 24rpx;
606
+ color: #e73e3d;
607
+ text-align: center;
608
+ margin-top: 48rpx;
609
+ }
610
+
611
+ .actionsBtn {
612
+ display: flex;
613
+ align-items: center;
614
+ justify-content: center;
615
+ margin-top: 32rpx;
616
+ // gap: 30rpx;
617
+
618
+ view {
619
+ width: 264rpx;
620
+ height: 80rpx;
621
+ border-radius: 40rpx;
622
+ font-size: 32rpx;
623
+ display: flex;
624
+ align-items: center;
625
+ line-height: 80rpx;
626
+ justify-content: center;
627
+ &:first-child {
628
+ background: #e9e9e9;
629
+ margin-right: 30rpx;
630
+ }
631
+
632
+ &:last-child {
633
+ background: linear-gradient( 90deg, #0BD690 0%, #00B0E0 100%);;
634
+ color: #fff;
635
+ }
636
+ }
637
+ }
638
+ }
639
+ }
640
+ .confirmSendLoginsticsContent {
641
+ padding: 0 32rpx;
642
+ padding-top: 16rpx;
643
+ padding-bottom: 180rpx;
644
+
645
+ .address {
646
+ width: 686rpx;
647
+ height: 144rpx;
648
+ border-radius: 24rpx;
649
+ background: #fff;
650
+ display: flex;
651
+ align-items: center;
652
+ justify-content: space-between;
653
+ /* gap: 24rpx; */
654
+ padding: 0 24rpx;
655
+ /* grid-template-columns: 56rpx 502rpx 32rpx; */
656
+
657
+ .location {
658
+ // color: #1a1a1a;
659
+ font-size: 28rpx;
660
+ font-weight: bold;
661
+ }
662
+ .contact {
663
+ color: #505050;
664
+ font-size: 24rpx;
665
+ margin-top: 16rpx;
666
+ }
667
+ }
668
+
669
+ .selectCards {
670
+ font-size: 32rpx;
671
+ padding: 24rpx 24rpx 24rpx 24rpx;
672
+ background: #ffffff;
673
+ border-radius: 24rpx;
674
+ margin-top: 16rpx;
675
+ .title {
676
+ font-size: 28rpx;
677
+ }
678
+ .cardsList {
679
+ display: flex;
680
+ flex-wrap: nowrap;
681
+ /* gap: 8rpx; */
682
+
683
+ .card {
684
+ margin-right: 8rpx;
685
+
686
+ // margin: auto;
687
+ // margin-top: 30rpx;
688
+ width: 176rpx;
689
+ // height: 160rpx;
690
+ border-radius: 24rpx;
691
+ position: relative;
692
+ // margin-bottom: 12rpx;
693
+ // &:nth-child(5n) {
694
+ // margin-right: 0;
695
+ // }
696
+ .cardsBgc {
697
+ width: 176rpx;
698
+ height: 176rpx;
699
+ border-radius: 16rpx;
700
+ position: relative;
701
+ }
702
+ .name {
703
+ font-size: 24rpx;
704
+ text-align: center;
705
+ padding: 0 4rpx;
706
+ margin-top: 8rpx;
707
+ }
708
+ .count {
709
+ position: absolute;
710
+ right: 8rpx;
711
+ bottom: 8rpx;
712
+ background: rgba(0, 0, 0, 0.5);
713
+ border-radius: 16rpx;
714
+ // padding: 0 14rpx;
715
+ width: 48rpx;
716
+ height: 32rpx;
717
+ color: #fff;
718
+ font-size: 24rpx;
719
+ line-height: 32rpx;
720
+ display: flex;
721
+ align-items: center;
722
+ justify-content: center;
723
+ }
724
+
725
+ .icon {
726
+ width: 40rpx;
727
+ height: 40rpx;
728
+ position: absolute;
729
+ top: 0%;
730
+ left: 0%;
731
+
732
+ z-index: 99;
733
+ }
734
+ }
735
+ }
736
+ }
737
+
738
+ .detail {
739
+ padding: 0rpx 24rpx 0 24rpx;
740
+ background: #ffffff;
741
+ border-radius: 20rpx;
742
+ margin-top: 16rpx;
743
+ .goodsDetail {
744
+ display: flex;
745
+ align-items: center;
746
+ /* gap: 20rpx; */
747
+
748
+ > image {
749
+ width: 180rpx;
750
+ height: 180rpx;
751
+ border-radius: 20rpx;
752
+ }
753
+ .title {
754
+ font-size: 30rpx;
755
+ }
756
+ .type {
757
+ display: flex;
758
+ align-items: center;
759
+ view {
760
+ padding: 0 8rpx;
761
+ display: flex;
762
+ align-items: center;
763
+ height: 44rpx;
764
+ background: #f6f6f6;
765
+ border-radius: 10rpx;
766
+ font-size: 24rpx;
767
+ color: #6d6d6d;
768
+
769
+ margin-top: 12rpx;
770
+ }
771
+ }
772
+
773
+ .price {
774
+ margin-top: 16rpx;
775
+ display: flex;
776
+ align-items: center;
777
+ justify-content: space-between;
778
+
779
+ font-size: 28rpx;
780
+ font-weight: 700;
781
+ .count {
782
+ font-size: 28rpx;
783
+ color: #999999;
784
+ font-weight: 100;
785
+ }
786
+ }
787
+ }
788
+
789
+ .fee {
790
+ /* padding-top: 48rpx; */
791
+
792
+ display: flex;
793
+ flex-direction: column;
794
+ // padding-bottom: 32rpx;
795
+ justify-content: center;
796
+ /* gap: 32rpx; */
797
+ .item {
798
+ display: flex;
799
+ align-items: center;
800
+ height: 104rpx;
801
+ justify-content: space-between;
802
+ font-size: 28rpx;
803
+ }
804
+ }
805
+ }
806
+
807
+ .detailPay {
808
+ padding: 0rpx 32rpx 0 32rpx;
809
+ background: #ffffff;
810
+ border-radius: 20rpx;
811
+ margin-top: 16rpx;
812
+
813
+ .fee {
814
+ display: flex;
815
+ flex-direction: column;
816
+ justify-content: center;
817
+ .item {
818
+ display: flex;
819
+ align-items: center;
820
+ height: 104rpx;
821
+ justify-content: space-between;
822
+ font-size: 28rpx;
823
+ .type {
824
+ display: flex;
825
+ align-items: center;
826
+
827
+ image {
828
+ width: 56rpx;
829
+ height: 56rpx;
830
+ margin-right: 24rpx;
831
+ }
832
+ }
833
+ .check {
834
+ image {
835
+ width: 40rpx;
836
+ height: 40rpx;
837
+ }
838
+ }
839
+ }
840
+ }
841
+ }
842
+ .actionBtn {
843
+ width: 100%;
844
+ height: 140rpx;
845
+ position: relative;
846
+ background: #ffffff;
847
+ // border-top: 1rpx solid rgba(0, 0, 0, 0.1);
848
+ position: fixed;
849
+ bottom: 0;
850
+ left: 50%;
851
+ transform: translateX(-50%);
852
+ padding: 0 28rpx;
853
+ padding-top: 16rpx;
854
+ z-index: 999;
855
+ display: flex;
856
+ justify-content: space-between;
857
+ .addressTips {
858
+ width: 100%;
859
+ height: 80rpx;
860
+ background: #fff7d2;
861
+
862
+ position: absolute;
863
+ top: -80rpx;
864
+ left: 0;
865
+ padding: 0 32rpx;
866
+ display: flex;
867
+ justify-content: space-between;
868
+ align-items: center;
869
+ font-size: 28rpx;
870
+ image {
871
+ width: 24rpx;
872
+ height: 24rpx;
873
+ }
874
+ }
875
+ .price {
876
+ height: 80rpx;
877
+ font-size: 24rpx;
878
+ font-weight: bold;
879
+ display: flex;
880
+ // align-items: baseline;
881
+ align-items: center;
882
+ .count {
883
+ font-size: 32rpx;
884
+ color: #e73e3d;
885
+ margin-left: 20rpx;
886
+ }
887
+ }
888
+ .confirm {
889
+ width: 280rpx;
890
+ height: 80rpx;
891
+ background: linear-gradient( 90deg, #0BD690 0%, #00B0E0 100%);;
892
+ border-radius: 40rpx 40rpx 40rpx 40rpx;
893
+ font-size: 28rpx;
894
+ color: #fff;
895
+ display: flex;
896
+ align-items: center;
897
+ justify-content: center;
898
+ opacity: 0.5;
899
+ &.active {
900
+ opacity: 1;
901
+ }
902
+ }
903
+ }
904
+ }
905
+ .previewImage {
906
+ width: 100%;
907
+ height: 100vh;
908
+ background-color: #000;
909
+ position: fixed;
910
+ top: 50%;
911
+ left: 50%;
912
+ transform: translate(-50%,-50%);
913
+ z-index: 9999;
914
+ transition: all 0.3s ease-in-out;
915
+ color: #fff;
916
+ font-size: 28rpx;
917
+ .goodsName {
918
+ font-size: 28rpx;
919
+ padding-top: 30rpx;
920
+ padding-left: 32rpx;
921
+ padding-right: 32rpx;
922
+
923
+ // font-weight: bold;
924
+ text-align: center;
925
+ }
926
+ .info {
927
+ display: flex;
928
+ color: #666666;
929
+ align-items: center;
930
+
931
+ &.levelInfo {
932
+ > view {
933
+ margin-right: 6rpx !important;
934
+ }
935
+ }
936
+
937
+ .line {
938
+ width: 1px;
939
+ height: 38rpx;
940
+ background: #bdbdbd;
941
+ }
942
+ }
943
+ > view {
944
+ position: absolute;
945
+ top: 50%;
946
+ left: 50%;
947
+ transform: translate(-50%, -50%);
948
+ text-align: center;
949
+ }
950
+ .userInfo {
951
+ display: flex;
952
+ align-items: center;
953
+ position: absolute;
954
+ top: 0;
955
+ left: 0;
956
+ img {
957
+ width: 50px;
958
+ height: 50px;
959
+ border-radius: 50%;
960
+ }
961
+ }
962
+ .avatar {
963
+ position: absolute;
964
+ top: 15.5%;
965
+ left: 20%;
966
+ font-size: 45rpx;
967
+ font-family: 'fxlh';
968
+ width: 350rpx;
969
+ color: #000;
970
+ text-align: left;
971
+
972
+ }
973
+
974
+ #toImg{
975
+ position: relative;
976
+ .mask{
977
+ position: absolute;
978
+ width: 100%;
979
+ height: 100%;
980
+ top: 0;
981
+ left: 0;
982
+ background-color:transparent;
983
+ }
984
+ }
985
+ img {
986
+ width: 100vw;
987
+ // height: 100vw;
988
+ border-radius: 20rpx;
989
+ @media (min-width: 500px) {
990
+ width: 375px;
991
+ // height: 375px;
992
+ }
993
+ }
994
+ .name {
995
+ padding-left: 32rpx;
996
+ padding-right: 32rpx;
997
+ margin-top: 20rpx;
998
+ margin-bottom: 15rpx;
999
+ }
1000
+ .count {
1001
+ margin-top: 15rpx;
1002
+ }
1003
+
1004
+ .exchange {
1005
+ display: flex;
1006
+ flex-direction: column;
1007
+ margin-top: 40rpx;
1008
+ align-items: center;
1009
+ justify-content: center;
1010
+ .tips{
1011
+ font-size: 24rpx;
1012
+ color: #e73e3d;
1013
+ text-align: center;
1014
+ margin-bottom: 15rpx;
1015
+ padding: 0 32rpx;
1016
+
1017
+ }
1018
+ .bgcCenter {
1019
+ width: 229rpx;
1020
+ height: 102rpx;
1021
+ display: flex;
1022
+ // align-items: center;
1023
+ justify-content: center;
1024
+ color: #fff;
1025
+ background-image: url("https://img.shinemang.com/static/rednote/tobaPack.png");
1026
+ font-size: 38rpx;
1027
+ font-family: "fxlh";
1028
+ // background: #ff9a96;
1029
+ // border-radius: 41rpx;
1030
+ // border: 4rpx solid #FFFFFF;
1031
+ line-height: 66rpx;
1032
+ }
1033
+ }
1034
+ }
1035
+ </style>