xiaoe_mp_npm 1.0.44-ham1 → 1.0.44-ham2

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 (39) hide show
  1. package/miniprogram_dist/ConfirmOrder/components/ConfirmOrderContent/index.js +4 -0
  2. package/miniprogram_dist/ConfirmOrder/components/ConfirmOrderContent/index.wxml +1 -0
  3. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/components/RefundTips/index.js +56 -0
  4. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/components/RefundTips/index.json +6 -0
  5. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/components/RefundTips/index.wxml +12 -0
  6. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/components/RefundTips/index.wxss +43 -0
  7. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.css +62 -0
  8. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.js +23 -0
  9. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.json +2 -1
  10. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.scss +17 -0
  11. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.wxml +12 -1
  12. package/miniprogram_dist/ConfirmOrder/components/GoodsInfo/index.wxss +60 -0
  13. package/miniprogram_dist/ConfirmOrder/index.js +4 -0
  14. package/miniprogram_dist/CouponList/components/CouponItem/index.js +6 -0
  15. package/miniprogram_dist/CouponList/components/CouponItem/index.wxml +6 -4
  16. package/miniprogram_dist/CouponReceivePopup/index.js +6 -0
  17. package/miniprogram_dist/CouponReceivePopup/index.wxml +7 -5
  18. package/miniprogram_dist/GoodsItem/index.js +19 -0
  19. package/miniprogram_dist/GoodsItem/index.scss +25 -0
  20. package/miniprogram_dist/GoodsItem/index.wxml +7 -1
  21. package/miniprogram_dist/GoodsItem/index.wxss +100 -0
  22. package/miniprogram_dist/LiveGoodsList/index.js +46 -9
  23. package/miniprogram_dist/LiveGoodsList/index.scss +129 -93
  24. package/miniprogram_dist/LiveGoodsList/index.wxml +20 -2
  25. package/miniprogram_dist/LiveGoodsList/index.wxss +144 -0
  26. package/miniprogram_dist/Sku/commSelect/index.js +11 -1
  27. package/miniprogram_dist/Sku/commSelect/index.wxml +1 -0
  28. package/miniprogram_dist/Sku/goods-info/index.js +4 -0
  29. package/miniprogram_dist/Sku/goods-info/index.wxml +1 -0
  30. package/miniprogram_dist/Sku/goods-info/index.wxss +4 -0
  31. package/miniprogram_dist/Sku/index/index.js +10 -0
  32. package/miniprogram_dist/Sku/index/index.wxml +1 -0
  33. package/miniprogram_dist/Task/TaskIcon/index.scss +1 -1
  34. package/miniprogram_dist/Task/TaskIcon/index.wxss +3 -3
  35. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.js +6 -0
  36. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxml +6 -4
  37. package/miniprogram_dist/common/api/liveGoodsList.js +8 -1
  38. package/miniprogram_dist/common/utils/helper.js +13 -1
  39. package/package.json +1 -1
@@ -107,6 +107,10 @@ Component({
107
107
  type: Number,
108
108
  value: 100
109
109
  },
110
+ refundTipsZIndex:{
111
+ type: Number,
112
+ value: 100
113
+ },
110
114
  zIndex:{
111
115
  type: Number,
112
116
  value: 100
@@ -64,6 +64,7 @@
64
64
  bind:updataData="updataData"
65
65
  bind:dataChange="payInfoChange"
66
66
  isFullScreen="{{ popPosition == 'right' }}"
67
+ zIndex="{{refundTipsZIndex}}"
67
68
  bind:onCountChange="onCountChange"
68
69
  formData="{{ formData }}"
69
70
  ></GoodsInfo>
@@ -0,0 +1,56 @@
1
+ // src/ConfirmOrder/components/GoodsInfo/componenets/RefundTips/index.js
2
+ const computedBehavior = require('miniprogram-computed').behavior
3
+
4
+ Component({
5
+ behaviors: [computedBehavior],
6
+
7
+ properties: {
8
+ showTips: {
9
+ type: Boolean,
10
+ value: false,
11
+ },
12
+ zIndex: {
13
+ type: Number,
14
+ value: 100,
15
+ },
16
+ isFullScreen: {
17
+ type: Boolean,
18
+ value: false,
19
+ },
20
+ refundMsg: {
21
+ type: String,
22
+ value: '称重退补差价',
23
+ }
24
+ },
25
+
26
+ computed: {
27
+ tipIndex(properties) {
28
+ return properties.isFullScreen ? `z-index:${properties.zIndex}` : ''
29
+ },
30
+ popPosition(properties) {
31
+ return properties.isFullScreen ? 'right' : 'bottom'
32
+ },
33
+ round(properties) {
34
+ return properties.isFullScreen ? false : true
35
+ },
36
+ customStyle(properties) {
37
+ return properties.isFullScreen
38
+ ? `height: 100%;width: 100vmin;z-index:${properties.zIndex};`
39
+ : 'height: 106.67vmin;'
40
+ },
41
+ refundText(properties) {
42
+ const text = `
43
+ 针对该商品,取货时门店会核对实际称重,
44
+ 如实际称重低于您下单重量,会根据重量差额退差价。
45
+ ${properties.refundMsg === '称重退补差价' ? '如实际称重高于您下单重量,需根据重量差额补差价。' : ''}
46
+ `
47
+ return text
48
+ }
49
+ },
50
+
51
+ methods: {
52
+ closeTips() {
53
+ this.triggerEvent('closeTips')
54
+ },
55
+ },
56
+ })
@@ -0,0 +1,6 @@
1
+ {
2
+ "component": true,
3
+ "usingComponents": {
4
+ "van-popup": "@vant/weapp/popup/index"
5
+ }
6
+ }
@@ -0,0 +1,12 @@
1
+ <!-- src/ConfirmOrder/components/GoodsInfo/components/RefundTips/index.wxml -->
2
+ <van-popup show="{{ showTips }}" custom-class="invoice-select-bremind" position="{{popPosition}}" round="{{round}}" custom-style="{{customStyle}}">
3
+ <view class="text-container">
4
+ <view class="invoice-tip-title">{{ refundMsg }}</view>
5
+ <view class="text-main">
6
+ <text>{{ refundText }}</text>
7
+ </view>
8
+ <view class="invoice-tip-button">
9
+ <view class="button" bindtap="closeTips">我知道了</view>
10
+ </view>
11
+ </view>
12
+ </van-popup>
@@ -0,0 +1,43 @@
1
+ .text-container {
2
+ box-sizing: border-box;
3
+ }
4
+ .text-container .invoice-tip-title {
5
+ text-align: center;
6
+ font-weight: 500;
7
+ font-size: 4.27vmin;
8
+ top: 3.2vmin;
9
+ position: sticky;
10
+ }
11
+ .text-container .text-main {
12
+ margin: 9.6vmin 4.8vmin;
13
+ max-height: 78.94vmin;
14
+ overflow-y: scroll;
15
+ font-size: 3.73vmin;
16
+ color: #333;
17
+ }
18
+ .text-container .invoice-tip-button {
19
+ position: fixed;
20
+ bottom: 0;
21
+ left: 0;
22
+ width: 100%;
23
+ padding: 2.13vmin 4.27vmin;
24
+ }
25
+ .text-container .invoice-tip-button .button {
26
+ width: 100%;
27
+ color: #fff;
28
+ border-radius: 5.33vmin;
29
+ width: calc(100% - 8.53vmin);
30
+ font-weight: 500;
31
+ border: 0;
32
+ padding: 2.67vmin 0;
33
+ text-align: center;
34
+ font-size: 3.73vmin;
35
+ background: linear-gradient(180.25deg, #fe6500 0%, #ff4102 100%);
36
+ }
37
+ .text-container .tips-title {
38
+ font-size: 4.8vmin;
39
+ color: #333;
40
+ font-weight: 500;
41
+ width: 100%;
42
+ text-align: center;
43
+ }
@@ -103,6 +103,15 @@
103
103
  font-size: 3.73333vmin;
104
104
  }
105
105
 
106
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
107
+ display: inline-block;
108
+ padding: 0 1.06667vmin;
109
+ border-radius: 0.53333vmin;
110
+ border: 0.26667vmin solid #e0e0e0;
111
+ color: #666;
112
+ font-size: 3.2vmin;
113
+ }
114
+
106
115
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
107
116
  margin-top: 1.6vmin;
108
117
  height: 4.8vmin;
@@ -186,6 +195,14 @@
186
195
  background: none;
187
196
  }
188
197
 
198
+ .goods-info-wrapper .goods-info .tips-icon {
199
+ width: 3.73333vmin;
200
+ height: 3.73333vmin;
201
+ margin-left: 1.06667vmin;
202
+ color: #999;
203
+ padding-top: 0.26667vmin;
204
+ }
205
+
189
206
  @media screen and (min-width: 768px) and (orientation: portrait) {
190
207
  .goods-info-wrapper {
191
208
  margin-bottom: 1.17188vmin;
@@ -277,6 +294,14 @@
277
294
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
278
295
  font-size: 1.82292vmin;
279
296
  }
297
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
298
+ display: inline-block;
299
+ padding: 0 0.52083vmin;
300
+ border-radius: 0.26042vmin;
301
+ border: 0.13021vmin solid #e0e0e0;
302
+ color: #666;
303
+ font-size: 1.5625vmin;
304
+ }
280
305
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
281
306
  margin-top: 0.78125vmin;
282
307
  height: 2.34375vmin;
@@ -346,6 +371,13 @@
346
371
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-plus, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
347
372
  background: none;
348
373
  }
374
+ .goods-info-wrapper .goods-info .tips-icon {
375
+ width: 1.82292vmin;
376
+ height: 1.82292vmin;
377
+ margin-left: 0.52083vmin;
378
+ color: #999;
379
+ padding-top: 0.13021vmin;
380
+ }
349
381
  }
350
382
 
351
383
  @media screen and (min-height: 630px) and (orientation: landscape) {
@@ -439,6 +471,14 @@
439
471
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
440
472
  font-size: 2.22222vmin;
441
473
  }
474
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
475
+ display: inline-block;
476
+ padding: 0 0.63492vmin;
477
+ border-radius: 0.31746vmin;
478
+ border: 0.15873vmin solid #e0e0e0;
479
+ color: #666;
480
+ font-size: 1.90476vmin;
481
+ }
442
482
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
443
483
  margin-top: 0.95238vmin;
444
484
  height: 2.85714vmin;
@@ -508,6 +548,13 @@
508
548
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-plus, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
509
549
  background: none;
510
550
  }
551
+ .goods-info-wrapper .goods-info .tips-icon {
552
+ width: 2.22222vmin;
553
+ height: 2.22222vmin;
554
+ margin-left: 0.63492vmin;
555
+ color: #999;
556
+ padding-top: 0.15873vmin;
557
+ }
511
558
  }
512
559
 
513
560
  @media screen and (min-height: 768px) and (orientation: landscape) {
@@ -601,6 +648,14 @@
601
648
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
602
649
  font-size: 1.82292vmin;
603
650
  }
651
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
652
+ display: inline-block;
653
+ padding: 0 0.52083vmin;
654
+ border-radius: 0.26042vmin;
655
+ border: 0.13021vmin solid #e0e0e0;
656
+ color: #666;
657
+ font-size: 1.5625vmin;
658
+ }
604
659
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
605
660
  margin-top: 0.78125vmin;
606
661
  height: 2.34375vmin;
@@ -670,4 +725,11 @@
670
725
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-plus, .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
671
726
  background: none;
672
727
  }
728
+ .goods-info-wrapper .goods-info .tips-icon {
729
+ width: 1.82292vmin;
730
+ height: 1.82292vmin;
731
+ margin-left: 0.52083vmin;
732
+ color: #999;
733
+ padding-top: 0.13021vmin;
734
+ }
673
735
  }
@@ -88,6 +88,10 @@ Component({
88
88
  type: Object,
89
89
  value: () => {},
90
90
  },
91
+ refundTipsZIndex: {
92
+ type: Number,
93
+ value: 100
94
+ }
91
95
  },
92
96
 
93
97
  /**
@@ -96,6 +100,7 @@ Component({
96
100
  data: {
97
101
  goodsCount: 1,
98
102
  first: true,
103
+ showRefundTips: false
99
104
  },
100
105
  computed: {
101
106
  isCop(data){
@@ -320,6 +325,19 @@ Component({
320
325
  },
321
326
  count(data) {
322
327
  return Math.max(data.baseInfo?.count, data.minCount, data.goodsCount, data.formData.count) || 1;
328
+ },
329
+ // 是否有退补提示(是计重商品才判断)
330
+ isRefundTips(data) {
331
+ const is_best = data?.goodsInfo?.is_best
332
+ const is_refund_tips = data?.goodsInfo?.nonstandard_param?.is_refund_tips
333
+ return is_best === 2 && is_refund_tips === 1
334
+ },
335
+ // 销售单位(是计重商品才展示)
336
+ saleUnit(data) {
337
+ const is_best = data?.goodsInfo?.is_best
338
+ const sale_unit = JSON.parse(data?.goodsInfo?.sku_info?.sales_unit || '{}')?.sale_unit
339
+ if (is_best === 2 && sale_unit) return `/${sale_unit}`;
340
+ return '';
323
341
  }
324
342
  },
325
343
  observers: {
@@ -452,5 +470,10 @@ Component({
452
470
  toPrice(value) {
453
471
  return `¥${((value || 0) / 100).toFixed(2)}`;
454
472
  },
473
+ openRefundTips() {
474
+ this.setData({
475
+ showRefundTips: !this.data.showRefundTips
476
+ })
477
+ },
455
478
  }
456
479
  })
@@ -5,6 +5,7 @@
5
5
  "van-tag": "@vant/weapp/tag/index",
6
6
  "van-stepper": "@vant/weapp/stepper/index",
7
7
  "GoodsCommerce": "./components/GoodsCommerce/index",
8
- "CopGoodsList": "./components/CopGoodsList/index"
8
+ "CopGoodsList": "./components/CopGoodsList/index",
9
+ "RefundTips": "./components/RefundTips/index"
9
10
  }
10
11
  }
@@ -105,6 +105,15 @@ $deviceWidth: 750;
105
105
  font-size: vmin(28);
106
106
  }
107
107
  }
108
+
109
+ .goods-refund-tips {
110
+ display: inline-block;
111
+ padding: 0 vmin(8);
112
+ border-radius: vmin(4);
113
+ border: vmin(2) solid #e0e0e0;
114
+ color: #666;
115
+ font-size: vmin(24);
116
+ }
108
117
 
109
118
  .goods-specification, .goods-expire-desc {
110
119
  margin-top: vmin(12);
@@ -190,6 +199,14 @@ $deviceWidth: 750;
190
199
  }
191
200
  }
192
201
  }
202
+
203
+ .tips-icon {
204
+ width: vmin(28);
205
+ height: vmin(28);
206
+ margin-left: vmin(8);
207
+ color: #999;
208
+ padding-top: vmin(2);
209
+ }
193
210
  }
194
211
  }
195
212
 
@@ -19,6 +19,8 @@
19
19
  <view class="goods-tag ET tag" wx:if="{{ goodsTitleTag }}">{{ goodsTitleTag }}</view>
20
20
  <view class="goods-name">{{ goodsInfo.goods_name }}</view>
21
21
  </view>
22
+ <view class="goods-refund-tips" wx:if="{{ isRefundTips }}">{{ goodsInfo.nonstandard_param.is_refund_msg || '称重退补差价' }}</view>
23
+ <image class="tips-icon" wx:if="{{ isRefundTips }}" src="../../../common/assets/images/tips.png" catchtap="openRefundTips"></image>
22
24
  <view class="goods-specification font-12" wx:if="{{ specification }}">{{ specification }}</view>
23
25
  <view class="goods-expire-desc font-12" wx:if="{{ isExpireDisplay && expireDesc && expireDesc != '长期有效' }}">有效期:{{ expireDesc }}</view>
24
26
  </view>
@@ -30,7 +32,7 @@
30
32
  </view>
31
33
  <view>
32
34
  <view class="goods-price">
33
- ¥{{ tools.toPrice(goodsPrice) }}
35
+ ¥{{ tools.toPrice(goodsPrice) }}{{ saleUnit }}
34
36
  </view>
35
37
  <view class="goods-tags">
36
38
  <view class="goods-tag marketing-tag" wx:if="{{ marketingTag && !useSvipPrice }}">
@@ -81,4 +83,13 @@
81
83
  skuId="{{goodsInfo.sku_id}}"
82
84
  >
83
85
  </CopGoodsList>
86
+ <!-- 退补提示弹窗 -->
87
+ <RefundTips
88
+ wx:if="{{ isRefundTips }}"
89
+ showTips="{{ showRefundTips }}"
90
+ refundMsg ="{{ goodsInfo.nonstandard_param.is_refund_msg }}"
91
+ bind:closeTips="openRefundTips"
92
+ zIndex="{{refundTipsZIndex}}"
93
+ isFullScreen="{{isFullScreen}}"
94
+ ></RefundTips>
84
95
  </view>
@@ -88,6 +88,14 @@
88
88
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
89
89
  font-size: 3.73333vmin;
90
90
  }
91
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
92
+ display: inline-block;
93
+ padding: 0 1.06667vmin;
94
+ border-radius: 0.53333vmin;
95
+ border: 0.26667vmin solid #e0e0e0;
96
+ color: #666;
97
+ font-size: 3.2vmin;
98
+ }
91
99
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification,
92
100
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
93
101
  margin-top: 1.6vmin;
@@ -159,6 +167,13 @@
159
167
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
160
168
  background: none;
161
169
  }
170
+ .goods-info-wrapper .goods-info .tips-icon {
171
+ width: 3.73333vmin;
172
+ height: 3.73333vmin;
173
+ margin-left: 1.06667vmin;
174
+ color: #999;
175
+ padding-top: 0.26667vmin;
176
+ }
162
177
  @media screen and (min-width: 768px) and (orientation: portrait) {
163
178
  .goods-info-wrapper {
164
179
  margin-bottom: 1.17188vmin;
@@ -250,6 +265,14 @@
250
265
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
251
266
  font-size: 1.82292vmin;
252
267
  }
268
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
269
+ display: inline-block;
270
+ padding: 0 0.52083vmin;
271
+ border-radius: 0.26042vmin;
272
+ border: 0.13021vmin solid #e0e0e0;
273
+ color: #666;
274
+ font-size: 1.5625vmin;
275
+ }
253
276
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification,
254
277
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
255
278
  margin-top: 0.78125vmin;
@@ -321,6 +344,13 @@
321
344
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
322
345
  background: none;
323
346
  }
347
+ .goods-info-wrapper .goods-info .tips-icon {
348
+ width: 1.82292vmin;
349
+ height: 1.82292vmin;
350
+ margin-left: 0.52083vmin;
351
+ color: #999;
352
+ padding-top: 0.13021vmin;
353
+ }
324
354
  }
325
355
  @media screen and (min-height: 630px) and (orientation: landscape) {
326
356
  .goods-info-wrapper {
@@ -413,6 +443,14 @@
413
443
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
414
444
  font-size: 2.22222vmin;
415
445
  }
446
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
447
+ display: inline-block;
448
+ padding: 0 0.63492vmin;
449
+ border-radius: 0.31746vmin;
450
+ border: 0.15873vmin solid #e0e0e0;
451
+ color: #666;
452
+ font-size: 1.90476vmin;
453
+ }
416
454
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification,
417
455
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
418
456
  margin-top: 0.95238vmin;
@@ -484,6 +522,13 @@
484
522
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
485
523
  background: none;
486
524
  }
525
+ .goods-info-wrapper .goods-info .tips-icon {
526
+ width: 2.22222vmin;
527
+ height: 2.22222vmin;
528
+ margin-left: 0.63492vmin;
529
+ color: #999;
530
+ padding-top: 0.15873vmin;
531
+ }
487
532
  }
488
533
  @media screen and (min-height: 768px) and (orientation: landscape) {
489
534
  .goods-info-wrapper {
@@ -576,6 +621,14 @@
576
621
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-title .goods-name {
577
622
  font-size: 1.82292vmin;
578
623
  }
624
+ .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-refund-tips {
625
+ display: inline-block;
626
+ padding: 0 0.52083vmin;
627
+ border-radius: 0.26042vmin;
628
+ border: 0.13021vmin solid #e0e0e0;
629
+ color: #666;
630
+ font-size: 1.5625vmin;
631
+ }
579
632
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-specification,
580
633
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-expire-desc {
581
634
  margin-top: 0.78125vmin;
@@ -647,4 +700,11 @@
647
700
  .goods-info-wrapper .goods-info .goods-wrapper .goods-detail .goods-quantity .goods-counter .goods-minus {
648
701
  background: none;
649
702
  }
703
+ .goods-info-wrapper .goods-info .tips-icon {
704
+ width: 1.82292vmin;
705
+ height: 1.82292vmin;
706
+ margin-left: 0.52083vmin;
707
+ color: #999;
708
+ padding-top: 0.13021vmin;
709
+ }
650
710
  }
@@ -66,6 +66,10 @@ Component({
66
66
  type: Number,
67
67
  value: 100
68
68
  },
69
+ refundTipsZIndex:{
70
+ type: Number,
71
+ value: 100
72
+ },
69
73
  },
70
74
  data: {
71
75
  showHeader: true
@@ -221,6 +221,12 @@ Component({
221
221
  const item = data.item;
222
222
  return item.coupon_type && +item.coupon_type === 6; // 优惠券类型 1=通用优惠券,2=专属优惠券,3=员工优惠券 6=礼品劵
223
223
  },
224
+ // 是否为红包礼品券
225
+ isRedPacketGiftCoupon(data) {
226
+ const { coupon_type, gift_coupon_type } = data?.item || {};
227
+
228
+ return +coupon_type === 6 && +gift_coupon_type === 1;
229
+ },
224
230
  priceCustomSize(data) {
225
231
  let style = '';
226
232
  if (+data.item.discount_way === 1) {
@@ -62,9 +62,11 @@
62
62
  >{{ time.formatDateToMinte(item.invalid_at) }}到期</text>
63
63
  </view>
64
64
  <view class="moreCouponInfo" wx:else>
65
- <text class="couponUseHint" wx:if="{{item.type == 0}}">部分商品可用</text>
66
- <text class="couponUseHint" wx:if="{{item.type == 2}}">部分商品不可用</text>
67
- <text class="couponUseHint" wx:if="{{item.type == 1}}">全部商品可用</text>
65
+ <view wx:if="{{ !isRedPacketGiftCoupon }}">
66
+ <text class="couponUseHint" wx:if="{{item.type == 0}}">部分商品可用</text>
67
+ <text class="couponUseHint" wx:if="{{item.type == 2}}">部分商品不可用</text>
68
+ <text class="couponUseHint" wx:if="{{item.type == 1}}">全部商品可用</text>
69
+ </view>
68
70
  <text
69
71
  class="couponUseTime"
70
72
  wx:if="{{item.valid_day}}"
@@ -266,7 +268,7 @@
266
268
  </view>
267
269
  </block>
268
270
  <view class="coupon-usage">
269
- <view class="discount-type">{{ useScopeText }}</view>
271
+ <view wx:if="{{ !isRedPacketGiftCoupon }}" class="discount-type">{{ useScopeText }}</view>
270
272
  <view class="discount-date-new">{{ getCouponValidInfo }}</view>
271
273
  <view
272
274
  wx:if="{{receiveStatus.showStatus}}"
@@ -65,6 +65,12 @@ Component({
65
65
  const item = data.couponInfo;
66
66
  return item.coupon_type && +item.coupon_type === 6; // 优惠券类型 1=通用优惠券,2=专属优惠券,3=员工优惠券 6=礼品劵
67
67
  },
68
+ // 是否为红包礼品券
69
+ isRedPacketGiftCoupon(data) {
70
+ const { coupon_type, gift_coupon_type } = data?.couponInfo || {};
71
+
72
+ return +coupon_type === 6 && +gift_coupon_type === 1;
73
+ },
68
74
  isShowPoint(data) {
69
75
  let tempPrice = data.couponInfo.price;
70
76
  if (tempPrice % 100 == 0) {
@@ -41,10 +41,12 @@
41
41
  </view>
42
42
  </block>
43
43
  <view class="receive-container-new__content-describe">
44
- <!-- 全部商品可用 -->
45
- <text wx:if="{{couponInfo.type == 1}}">全部商品可用</text>
46
- <!-- 部分商品可用 -->
47
- <text wx:else>部分商品可用</text>
44
+ <view wx:if="{{ !isRedPacketGiftCoupon }}">
45
+ <!-- 全部商品可用 -->
46
+ <text wx:if="{{couponInfo.type == 1}}">全部商品可用</text>
47
+ <!-- 部分商品可用 -->
48
+ <text wx:else>部分商品可用</text>
49
+ </view>
48
50
  <!-- 领取次日x天内有效 / 自领取起x天内有效-->
49
51
  <text wx:if="{{couponInfo.valid_day}}">{{ getCouponValidInfo }}</text>
50
52
  <!-- 有效期至 -->
@@ -99,6 +101,6 @@ var formatDateToMinte = function(date) {
99
101
  module.exports={
100
102
  ToFilter:ToFilter,
101
103
  fixedFont:fixedFont,
102
- formatDateToMinte: formatDateToMinte
104
+ formatDateToMinte: formatDateToMinte
103
105
  }
104
106
  </wxs>
@@ -196,6 +196,11 @@ Component({
196
196
  aliveSubId: {
197
197
  type: String,
198
198
  value: ''
199
+ },
200
+ // 抽奖商品id
201
+ lotteryGoodsIds: {
202
+ type: Array,
203
+ value: []
199
204
  }
200
205
  },
201
206
 
@@ -428,6 +433,20 @@ Component({
428
433
  },
429
434
  distributionPattern(data) {
430
435
  return [-1,1,2].indexOf(data.goodsItem.distribution_pattern) !== -1
436
+ },
437
+ // 是否有退补提示(是计重商品才判断)
438
+ isRefundTips(data) {
439
+ const { is_best, is_refund_tips } = data.goodsItem;
440
+ return is_best === 2 && is_refund_tips === 1;
441
+ },
442
+ // 销售单位(是计重商品才展示)
443
+ saleUnit(data) {
444
+ const { is_best, sale_unit } = data.goodsItem;
445
+ if (is_best === 2 && sale_unit) return `/${sale_unit}`;
446
+ return '';
447
+ },
448
+ showLotterySign(data) {
449
+ return data.lotteryGoodsIds.includes(data.goodsItem.resource_id)
431
450
  }
432
451
  },
433
452
  /**
@@ -38,6 +38,23 @@ $deviceWidth: 750;
38
38
  font-size: vmin(20);
39
39
  background: rgba(0,0,0,0.6);
40
40
  color: #FFFFFF;
41
+ z-index: 1;
42
+ }
43
+ .lottery-sign {
44
+ position: absolute;
45
+ top: 0;
46
+ left: 0;
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ height: vmin(28);
51
+ width: auto;
52
+ padding: 0 vmin(8) 0 vmin(56);
53
+ border-radius: vmin(16) 0 vmin(8) 0;
54
+ background: linear-gradient(90deg, #FF833E 0%, #FF2E57 97.5%), linear-gradient(270deg, #FE6500 0%, #FF4102 100%);
55
+ backdrop-filter: blur(vmin(12));
56
+ font-size: vmin(20);
57
+ color: #fff;
41
58
  }
42
59
  .ios-index {
43
60
  background: rgba(0,0,0,0.25);
@@ -231,6 +248,8 @@ $deviceWidth: 750;
231
248
  .order-left{
232
249
  display: flex;
233
250
  flex-direction: row;
251
+ flex-wrap: wrap;
252
+ gap: vmin(8);
234
253
 
235
254
  .distribution{
236
255
  background-color: #f5f5f5;
@@ -253,6 +272,8 @@ $deviceWidth: 750;
253
272
  .stock-and-order {
254
273
  display: flex;
255
274
  align-items: center;
275
+ flex-shrink: 0;
276
+ align-self: flex-start;
256
277
  .stock-line {
257
278
  background-color: #E5E5E5;
258
279
  width: 1px;
@@ -343,6 +364,10 @@ $deviceWidth: 750;
343
364
  .price-show {
344
365
  font-size: vmin(32);
345
366
  }
367
+ .sale-unit {
368
+ font-size: vmin(24);
369
+ color: #666;
370
+ }
346
371
  .price-line {
347
372
  font-size: vmin(20);
348
373
  text-decoration: line-through;