jufubao-food 1.0.12-beta7 → 1.0.12-beta8

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-food",
3
- "version": "1.0.12-beta7",
3
+ "version": "1.0.12-beta8",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件餐饮插件包",
6
6
  "main": "index.js",
@@ -135,7 +135,10 @@
135
135
  </xd-list-item>
136
136
  </view>
137
137
 
138
- <view :style="{height: '100rpx'}"></view>
138
+ <view class="placeholderBottom" :style="bottomFixedStylePlaceholder"></view>
139
+ <view v-if="orderInfo.order_status === 'N'" class="alert_bottom" :style="alertBottomStyleComp">
140
+ {{ orderInfo.error_tip }}
141
+ </view>
139
142
  <!-- 靠低支付 -->
140
143
  <view class="fixe_bottom" :style="prod_bottom">
141
144
  <view class="fixed_bottom_body" :style="[bottomBoxStyle]">
@@ -145,7 +148,7 @@
145
148
  </view>
146
149
  <view>
147
150
  <xd-button type="primary" width="200rpx" size="small"
148
- :disabled="is_can_buy!=='Y'"
151
+ :disabled="orderInfo.order_status!=='Y'"
149
152
  :radius="bottomBtnRadius + 'rpx'"
150
153
  :style="{
151
154
  height: bottomBtnHeight + 'rpx',
@@ -346,6 +349,13 @@
346
349
  prod_bottom() {
347
350
  return this.fixedStyle({height: 0, zIndex: 111});
348
351
  },
352
+ alertBottomStyleComp(){
353
+ return this.fixedStyle({paddingBottom: 106, zIndex: 110})
354
+ },
355
+ bottomFixedStylePlaceholder() {
356
+ let tipAlert = this.orderInfo && this.orderInfo.order_status==='N' ? 120: 0
357
+ return this.fixedStyle({paddingBottom: tipAlert, zIndex: 110}, 'bottom', false);
358
+ },
349
359
  bottomBoxStyle(){
350
360
  return {
351
361
  padding: '20rpx'
@@ -913,6 +923,25 @@
913
923
  font-size: unit(24,rpx);
914
924
  }
915
925
  }
926
+ .placeholderBottom{
927
+
928
+ }
929
+ .alert_bottom{
930
+ background: rgba(255, 244, 191, 0.9);
931
+ color: rgba(255, 102, 26, 1);
932
+ display: flex;
933
+ justify-content: center;
934
+ text-align: center;
935
+ height: 60rpx;
936
+ line-height: 60rpx;
937
+ font-size: 28rpx;
938
+ position: fixed;
939
+ right:0;
940
+ left:0;
941
+ bottom:0;
942
+ width: 100%;
943
+ z-index: 111;
944
+ }
916
945
  .fixe_bottom{
917
946
  background: #FFF;
918
947
  box-shadow: 0 0 unit(16, rpx) rgba(0,0,0,.05);
@@ -146,6 +146,7 @@
146
146
  return {
147
147
  '--main-color': this.mainColor,
148
148
  '--bg-color': this.mainColorAlpha,
149
+ '--bg-main-color': this.mainColorAlpha,
149
150
  }
150
151
  },
151
152
  prod_bottom() {
@@ -363,18 +364,19 @@
363
364
  font-size: 32rpx;
364
365
  color: #333333;
365
366
  padding-right: 20rpx;
367
+ font-weight: 500;
366
368
  }
367
369
  }
368
370
  .sku_wrap{
369
371
  background-color: #FFFFFF;
370
- padding: 32rpx;
371
- margin: 20rpx;
372
+ padding: 24rpx;
373
+ margin: 16rpx;
372
374
  border-radius: 16rpx;
373
375
  }
374
376
  .attr_wrap{
375
377
  background-color: #FFFFFF;
376
- padding: 32rpx;
377
- margin: 20rpx;
378
+ padding: 24rpx;
379
+ margin: 16rpx;
378
380
  border-radius: 16rpx;
379
381
  }
380
382
  .fixed_bottom{
@@ -16,6 +16,68 @@ module.exports = {
16
16
  {
17
17
  product_sku: "",
18
18
  specs: [
19
+ {
20
+ code: "mahua_1",
21
+ name: "单选",
22
+ required: true,
23
+ multiple: false,
24
+ multiple_min: 1,
25
+ multiple_max: -1,
26
+ is_show_image: true,
27
+ values: [
28
+ {
29
+ code: "507887",
30
+ name: "奥利奥麦旋风",
31
+ image:
32
+ "https://menu-img.mcd.cn/pcm/prod/menu/20220713a/product/MS_507887_320.png",
33
+ price: 0,
34
+ num: 1,
35
+ checked: true,
36
+ enabled: true
37
+ },
38
+ {
39
+ code: "507888",
40
+ name: "草莓麦旋风",
41
+ image:
42
+ "https://menu-img.mcd.cn/pcm/prod/menu/20220713a/product/MS_507888_320.png",
43
+ price: 0,
44
+ num: 1,
45
+ checked: false,
46
+ enabled: true
47
+ },
48
+ {
49
+ code: "507889",
50
+ name: "草莓麦旋风",
51
+ image:
52
+ "https://menu-img.mcd.cn/pcm/prod/menu/20220713a/product/MS_507888_320.png",
53
+ price: 2,
54
+ num: 1,
55
+ checked: false,
56
+ enabled: true
57
+ },
58
+ {
59
+ code: "507890",
60
+ name: "草莓麦旋风",
61
+ image:
62
+ "https://menu-img.mcd.cn/pcm/prod/menu/20220713a/product/MS_507888_320.png",
63
+ price: 2,
64
+ num: 1,
65
+ checked: false,
66
+ enabled: true
67
+ },
68
+ {
69
+ code: "507891",
70
+ name: "草莓麦旋风",
71
+ image:
72
+ "https://menu-img.mcd.cn/pcm/prod/menu/20220713a/product/MS_507888_320.png",
73
+ price: 3,
74
+ num: 1,
75
+ checked: false,
76
+ enabled: true
77
+ },
78
+ ]
79
+ },
80
+
19
81
  {
20
82
  code: "Cupsize",
21
83
  name: "杯型",
@@ -267,7 +267,8 @@ export default {
267
267
  }
268
268
  .tag_tit{
269
269
  font-size: 28rpx;
270
- color: #242424;
270
+ color: #333333;
271
+ font-weight: 500;
271
272
  margin-bottom: 20rpx;
272
273
  display: flex;
273
274
  align-items: center;
@@ -291,14 +292,14 @@ export default {
291
292
  border-radius: 12rpx;
292
293
  background-color: #EDEDED;
293
294
  font-size: 28rpx;
294
- color: #666666;
295
- line-height: 60rpx;
295
+ color: #333333;
296
+ line-height: 70rpx;
296
297
  padding: 0 32rpx;
297
298
  margin-right: 20rpx;
298
299
  margin-bottom: 20rpx;
299
300
  // max-width: 208rpx;
300
301
  box-sizing: border-box;
301
- .uni-one-cut(60);
302
+ .uni-one-cut(70);
302
303
 
303
304
  &.is-img{
304
305
  border: none;
@@ -1,23 +1,33 @@
1
1
  <template>
2
2
  <view class="xd_spu">
3
3
  <view class="spu_group" v-for="(item, i) in uiList" :key="item.code">
4
- <view class="spu_title">{{ item.name }}</view>
4
+ <view class="spu_title">{{ item.name }} <text v-if="item.multiple_max > 0">(请选择{{item.multiple_max}}份)</text></view>
5
5
  <view class="specs_list img_list" v-if="item.is_show_image">
6
6
  <view v-for="(opt, ii) in item.values" :key="opt.code"
7
7
  class="specs_img_item" :class="{ 'active': opt.checked }"
8
8
  @click="handleCheck(i, ii)"
9
9
  >
10
10
  <image class="spec_img" :src="opt.image" mode=""></image>
11
- <view class="spec_name">{{ opt.name }}</view>
12
- <view>+{{ opt.price }}元</view>
13
- <view class="spec_num" @click.stop>
14
- <xd-number width="160" :disabled="checkIsDisabled(i, ii)" v-model="opt.num" :min="1" :max="99"></xd-number>
11
+ <view class="spec_main">
12
+ <view class="spec_name">{{ opt.name }}</view>
13
+ <view class="spec_price">
14
+ <template v-if="opt.price">+{{ opt.price/100 }}元</template>
15
+ </view>
16
+ <view v-if="item.multiple" class="spec_num" @click.stop>
17
+ <!-- <xd-number v-if="!checkIsDisabled(i, ii)" width="160" v-model="opt.num" :min="0" :max="99" @change="val => handleSpeNum(val, i, ii)"></xd-number> -->
18
+ <view v-if="!checkIsDisabled(i, ii)" class="num_box">
19
+ <view class="opt_box num_minus" @click="handleNumMinus(opt, i, ii)">-</view>
20
+ <view class="num_text">{{ opt.num }}</view>
21
+ <view class="opt_box num_plus" @click="handleNumAdd(opt, i, ii)">+</view>
22
+ </view>
23
+ </view>
15
24
  </view>
16
- <view class="p_t_r">
25
+ <!-- <view class="p_t_r">
17
26
  <xd-radio v-if="item.multiple" :disabled="checkIsDisabled(i, ii)" class="xdCheckbox" v-model="opt.checked" :isClickEvent="false"></xd-radio>
18
27
  <xd-radio v-else class="xdRadio" v-model="opt.checked" :isClickEvent="false"></xd-radio>
19
- </view>
28
+ </view> -->
20
29
  </view>
30
+ <view v-if="item.values.length%3===2" style="width:200rpx;height:1px;"></view>
21
31
  </view>
22
32
  <view class="specs_list" v-else>
23
33
  <view v-for="(opt, ii) in item.values" :key="opt.code"
@@ -47,7 +57,7 @@ export default {
47
57
  type: Array,
48
58
  default: ()=>[
49
59
  {
50
- "code":"Cupsize","name":"杯型","required":false,"multiple":true,"multiple_min":1,"multiple_max":-1,"is_show_image": true,
60
+ "code":"Cupsize","name":"杯型","required":true,"multiple":true,"multiple_min":1,"multiple_max":2,"is_show_image": true,
51
61
  "values":[
52
62
  {"code":"Tall","name":"中杯","image":"https://image.quanma51.com/self/mahua/sbk/product/6cdc540a91a84b2eb6b58ac510725a48!img","price":0,"num":1,"checked":true,"enabled":true},
53
63
  {"code":"Grande","name":"大杯","image":"https://image.quanma51.com/self/mahua/sbk/product/782ac850a8c14bd38b7b5a22f03d6c74!img","price":600,"num":1,"checked":false,"enabled":true},
@@ -65,7 +75,13 @@ export default {
65
75
  watch: {
66
76
  list: {
67
77
  handler(val){
68
- this.uiList = val;
78
+ this.uiList = val.map(item => {
79
+ item.values = item.values.map(opt => {
80
+ if(!opt.checked) opt.num = 0;
81
+ return opt;
82
+ })
83
+ return item;
84
+ });
69
85
  },
70
86
  immediate: true,
71
87
  },
@@ -78,10 +94,44 @@ export default {
78
94
  }
79
95
  },
80
96
  methods: {
97
+ handleNumAdd(opt, i, ii){
98
+ let parent = this.uiList[i];
99
+ let maxNum = parent.multiple_max;
100
+ let curNum = 0;
101
+ for(let j = 0; j < parent.values.length; j++){
102
+ if(parent.values[j].checked){
103
+ curNum += parent.values[j].num;
104
+ }
105
+ }
106
+ if(curNum >= maxNum) return;
107
+ if(this.checkIsDisabled(i, ii)) return;
108
+ this.$set(this.uiList[i].values[ii], 'num', opt.num + 1);
109
+ this.$set(this.uiList[i].values[ii], 'checked', true)
110
+ },
111
+ handleNumMinus(opt, i, ii){
112
+ let curNum = opt.num;
113
+ let parent = this.uiList[i];
114
+ if(curNum <= 0) return;
115
+ //如果是必选项,且最后一个选中项,则不允许减少到0
116
+ if(parent.required){
117
+ let checkedArr = this.uiList[i].values.filter(opt => opt.checked);
118
+ if(checkedArr.length === 1 && checkedArr[0].num === 1) return;
119
+ }
120
+
121
+ let nextVal = opt.num - 1;
122
+ this.$set(this.uiList[i].values[ii], 'num', nextVal);
123
+ if(nextVal === 0){
124
+ this.$set(this.uiList[i].values[ii], 'checked', false)
125
+ }
126
+ },
81
127
  handleCheck(i, ii){
128
+ let firstChild = this.uiList[i];
129
+ if(firstChild.multiple) return;
82
130
  let curVal = this.uiList[i].values[ii];
83
131
  if(!curVal.enabled) return;
84
-
132
+ this.setUIListChecked(i, ii);
133
+ },
134
+ setUIListChecked(i, ii){
85
135
  this.uiList = this.uiList.map((item, j) => {
86
136
  if(j === i){
87
137
  let checkedArr = item.values.filter(opt => opt.checked);
@@ -151,7 +201,8 @@ export default {
151
201
  .spu_title{
152
202
  font-size: 28rpx;
153
203
  color: #333333;
154
- margin-bottom: 16rpx;
204
+ margin-bottom: 24rpx;
205
+ font-weight: 500;
155
206
  }
156
207
  .specs_list{
157
208
  display: flex;
@@ -162,21 +213,25 @@ export default {
162
213
  }
163
214
 
164
215
  .specs_img_item{
165
- width: 200rpx;
166
- height: 320rpx;
167
- border: 1px solid #EEEEEE;
168
- border-radius: 4rpx;
216
+ border: 1px solid #F8F8F8;
217
+ border-radius: 8rpx;
169
218
  display: flex;
170
219
  flex-direction: column;
171
220
  align-items: center;
172
221
  font-size: 24rpx;
173
222
  box-sizing: border-box;
174
- padding: 16rpx;
175
223
  color: #333333;
176
224
  position: relative;
225
+ margin-bottom: 16rpx;
226
+ overflow: hidden;
177
227
 
178
228
  &.active{
179
- border-color: #FF6C00;
229
+ border-color: var(--main-color);
230
+
231
+ .spec_main{
232
+ background-color: var(--bg-main-color);
233
+ color: var(--main-color);
234
+ }
180
235
  }
181
236
  .p_t_r{
182
237
  position: absolute;
@@ -190,14 +245,60 @@ export default {
190
245
  }
191
246
 
192
247
  .spec_img{
193
- width: 160rpx;
194
- height: 160rpx;
248
+ width: 212rpx;
249
+ height: 212rpx;
250
+ }
251
+ .spec_main{
252
+ background-color: #F8F8F8;
253
+ width: 100%;
254
+ display: flex;
255
+ flex-direction: column;
256
+ align-items: center;
257
+ font-size: 28rpx;
258
+ color: #333333;
259
+ flex: 1;
195
260
  }
196
261
  .spec_name{
197
262
  margin-top: 16rpx;
198
263
  }
264
+ .spec_price{
265
+ height: 28rpx;
266
+ margin: 14rpx 0 20rpx;
267
+ line-height: 1;
268
+ }
199
269
  .spec_num{
200
- margin-top: 12rpx;
270
+ margin-bottom: 20rpx;
271
+ }
272
+ .num_box{
273
+ display: flex;
274
+ justify-content: center;
275
+ align-items: center;
276
+
277
+ .num_text{
278
+ padding: 0 40rpx;
279
+ }
280
+
281
+ .opt_box{
282
+ border-radius: 50%;
283
+ width: 40rpx;
284
+ height: 40rpx;
285
+ display: flex;
286
+ justify-content: center;
287
+ align-items: center;
288
+ font-size: 28rpx;
289
+ box-sizing: border-box;
290
+ padding-bottom: 4rpx;
291
+
292
+ &.num_plus{
293
+ background-color: var(--main-color);
294
+ color: #FFFFFF;
295
+ }
296
+ &.num_minus{
297
+ border: 1px solid var(--main-color);
298
+ color: var(--main-color);
299
+ background-color: #FFFFFF;
300
+ }
301
+ }
201
302
  }
202
303
  ::v-deep .uni-numbox{
203
304
  height: 40rpx;
@@ -219,16 +320,18 @@ export default {
219
320
 
220
321
  .specs_item{
221
322
  padding: 16rpx 32rpx;
222
- background-color: #EEEEEE;
223
- color: #999999;
224
- font-size: 24rpx;
225
- border-radius: 4rpx;
323
+ background-color: #F8F8F8;
324
+ color: #333333;
325
+ font-size: 28rpx;
326
+ border-radius: 8rpx;
226
327
  margin-bottom: 16rpx;
227
328
  margin-right: 16rpx;
329
+ border: 1px solid #F8F8F8;
228
330
 
229
331
  &.active{
230
- background-color: #FF6C00;
231
- color: #FFFFFF;
332
+ background-color: var(--bg-main-color);
333
+ color: var(--main-color);
334
+ border: 1px solid var(--main-color);
232
335
  }
233
336
  }
234
337
  }
@@ -47,7 +47,7 @@
47
47
  :scroll-top="prodScrollTop"
48
48
  @scroll="handleScroll"
49
49
  >
50
- <view v-for="(cate, i) in categoryList" :key="cate.category_id"
50
+ <view v-for="(cate, i) in showCategoryList" :key="cate.category_id"
51
51
  class="product_group"
52
52
  :id="getID(cate)"
53
53
  :data-next="cate.nextHeight"
@@ -68,28 +68,21 @@
68
68
  <view class="prod_specs" v-if="item.sub_name">{{item.sub_name}}</view>
69
69
  <view class="prod_price">
70
70
  <view style="display:flex;align-items:center">
71
- <CusPrice :isPlus="is_plus_site" type="order" :showPrice="item.show_prices"></CusPrice>
71
+ <CusPrice :isPlus="is_plus_site" :isShowIcon="false" :showPrice="item.show_prices"></CusPrice>
72
72
  </view>
73
- <view style="font-size: 28rpx;color:#999" @click="toProductDetail(item)">
74
- <view v-if="item.has_choose" class="chose_spu">选规格</view>
75
- <xd-font-icon v-else icon="iconaddcart" :color="mainColor" size="46"></xd-font-icon>
73
+ <view style="font-size: 28rpx;color:#999">
74
+ <view v-if="item.has_choose" class="chose_spu" @click="toProductDetail(item)">
75
+ 选规格
76
+ <view v-if="item.num" class="cart_edg">{{ item.num }}</view>
77
+ </view>
78
+ <view v-else>
79
+ <xd-number v-if="item.num" v-model="item.num" @change="val => handleCartNumChange(val, item)"></xd-number>
80
+ <xd-font-icon v-else icon="iconaddcart" :color="mainColor" size="46"></xd-font-icon>
81
+ </view>
76
82
  </view>
77
83
  </view>
78
84
  </view>
79
85
  </view>
80
- <!-- <cus-product
81
- :image-radius="imageRadius"
82
- :brand-color="brandColor"
83
- :height="200"
84
- :cell="column_num"
85
- :name-font="itemFontStyle"
86
- :product-config="productConfig"
87
- :isPlus="is_plus_site"
88
- :item="item"
89
- :row-spacing="rowSpacing"
90
- :cell-spacing="itemSpacing"
91
- @on-product-detail="toProductDetail"
92
- ></cus-product> -->
93
86
  </view>
94
87
  </view>
95
88
  <view class="product_list" v-else>
@@ -113,7 +106,7 @@
113
106
  <xd-unit :price="cartPrice" :isOld="false"></xd-unit>
114
107
  </view>
115
108
  <view>
116
- <xd-button width="200rpx" size="small" type="primary" :disabled="!cartProductList.length" @click="handleSubmitCart">选好了</xd-button>
109
+ <xd-button width="170rpx" size="small" type="primary" :disabled="!cartProductList.length" @click="handleSubmitCart">选好了</xd-button>
117
110
  </view>
118
111
  </view>
119
112
  <view class="cart_product_modal" v-if="cartProductShow">
@@ -134,7 +127,7 @@
134
127
  <view class="prod_info">
135
128
  <view class="prod_tit"
136
129
  :class="{
137
- prod_tit_one:prod.product_sku_name
130
+ prod_tit_one:prod.sub_name
138
131
  }">{{prod.product_name}}</view>
139
132
  <!-- <view class="prod_brand" :style="{color:brandTextColor}" v-if="prod.brand_name">{{prod.brand_name}}</view> -->
140
133
  <view class="prod_specs" v-if="prod.sub_name">{{prod.sub_name}}</view>
@@ -150,7 +143,7 @@
150
143
  </view>
151
144
  </view>
152
145
  <view v-else class="prod_list">
153
- <xd-no-data>购物车暂无商品</xd-no-data>
146
+ <xd-no-data height="250rpx" :scaleSize="0.8">购物车暂无商品</xd-no-data>
154
147
  </view>
155
148
  </view>
156
149
  </view>
@@ -267,6 +260,16 @@
267
260
  fixed_bottom() {
268
261
  return this.fixedStyle({height: 30, zIndex: 111});
269
262
  },
263
+ showCategoryList(){
264
+ return this.categoryList.map(item => {
265
+ item.productList = (item.productList || []).map(prod => {
266
+ let cartProd = this.cartProductList.find(item => item.product_id === prod.product_id);
267
+ prod.num = cartProd ? cartProd.num : 0;
268
+ return prod;
269
+ });
270
+ return item;
271
+ })
272
+ },
270
273
  },
271
274
  watch: {
272
275
  container(value, oldValue) {
@@ -651,7 +654,20 @@
651
654
 
652
655
  .jfb-food-product-list {
653
656
  &__body{
654
- background-color: #f8f8f8;
657
+ background-color: #FFFFFF;
658
+
659
+ .cart_edg{
660
+ position: absolute;
661
+ right: -8rpx;
662
+ top: -24rpx;
663
+ color: #FFFFFF;
664
+ background-color: #FF4D4F;
665
+ border-radius: 24rpx;
666
+ padding: 0 12rpx;
667
+ font-size: 24rpx;
668
+ // box-sizing: border-box;
669
+ border: 4rpx solid #FFFFFF;
670
+ }
655
671
  .flex-center{
656
672
  display: flex;
657
673
  align-items: center;
@@ -665,6 +681,7 @@
665
681
  background-color: #FFFFFF;
666
682
  box-sizing: border-box;
667
683
  margin-bottom: 20rpx;
684
+ border-bottom: 1px solid #F8F8F8;
668
685
  padding: 30rpx;
669
686
  position: fixed;
670
687
  top: 0;
@@ -681,18 +698,17 @@
681
698
  text-overflow: ellipsis;
682
699
  max-width: 460rpx;
683
700
  flex: 1;
701
+ font-weight: 500;
684
702
  }
685
703
  }
686
704
  .section_main{
687
705
  display: flex;
688
- padding-top: 16rpx;
689
706
  box-sizing: border-box;
690
707
  .left_nav{
691
708
  width: 160rpx;
692
- background-color: #FFFFFF;
709
+ background-color: #F8F8F8;
693
710
  font-size: 24rpx;
694
- border-radius: 16rpx;
695
- margin-left: 16rpx;
711
+ color: #333333;
696
712
  .nav_item{
697
713
  padding: 24rpx;
698
714
  text-align: center;
@@ -711,14 +727,15 @@
711
727
  }
712
728
 
713
729
  &.active{
714
- color: var(--main-color);
730
+ // color: var(--main-color);
731
+ font-weight: 500;
715
732
  &::after{
716
733
  content: '';
717
734
  position: absolute;
718
735
  left: 0;
719
- top: 24rpx;
720
- bottom: 24rpx;
721
- width: 6rpx;
736
+ top: 28rpx;
737
+ bottom: 28rpx;
738
+ width: 12rpx;
722
739
  background-color: var(--main-color);
723
740
  }
724
741
  }
@@ -726,17 +743,19 @@
726
743
  }
727
744
  .right_product{
728
745
  flex: 1;
729
- margin: 0 16rpx;
746
+ margin: 0 16rpx 0 32rpx;
730
747
 
731
748
  .product_group{
732
749
  .group_title{
733
750
  font-size: 24rpx;
751
+ color: #333333;
752
+ font-weight: 500;
734
753
  background-color: #FFFFFF;
735
754
  margin-bottom: 16rpx;
736
755
  height: 64rpx;
737
756
  line-height: 64rpx;
738
- text-align: center;
739
757
  border-radius: 16rpx;
758
+ padding-left: 16rpx;
740
759
  }
741
760
  .product_list{
742
761
  .product_loading{
@@ -760,13 +779,14 @@
760
779
  font-size: 24rpx;
761
780
  border-radius: 40rpx;
762
781
  box-sizing: border-box;
782
+ position: relative;
763
783
  }
764
784
 
765
785
  .prod_img{
766
786
  width: 200rpx;
767
787
  height: 200rpx;
768
- margin-right: 32rpx;
769
- // background: #f8f8f8;
788
+ margin-right: 16rpx;
789
+ background: #f8f8f8;
770
790
  // border-radius: 16rpx;
771
791
  image{
772
792
  width: 100%;
@@ -893,7 +913,7 @@
893
913
  .prod_specs{
894
914
  padding-top: unit(10, rpx);
895
915
  display: block;
896
- font-size: 26rpx;
916
+ font-size: 28rpx;
897
917
  color: #999999;
898
918
  line-height: unit(32, rpx);
899
919
  }