cyy-vue-material 1.0.50 → 1.0.52

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": "cyy-vue-material",
3
- "version": "1.0.50",
3
+ "version": "1.0.52",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <div class="secKill" v-if="lowCode">
3
+ <div class="secKill" v-if="lowCode" :style="{ backgroundColor: props.backgroundColor, marginTop: props.marginTop, marginBottom: props.marginBottom }">
4
4
  <!-- secKill--tit -->
5
5
  <div class="secKill--tit">
6
6
  <div class="title">
@@ -36,7 +36,7 @@
36
36
  </div>
37
37
  </div>
38
38
  </div>
39
- <div v-else class="secKill">
39
+ <div v-else class="secKill" :style="{ backgroundColor: props.backgroundColor, marginTop: props.marginTop, marginBottom: props.marginBottom }">
40
40
  <!-- secKill--tit -->
41
41
  <div class="secKill--tit">
42
42
  <div class="title">
@@ -60,7 +60,7 @@
60
60
  class="goodsDetail"
61
61
  v-for="(good, indexG) in item.rsSkuReDomainList"
62
62
  :key="indexG"
63
- @click="gosecGoodsDetail(good.skuNo, item.gmtModified, item.promotionCode, item.promotionFrequency, item.inventory, 26)"
63
+ @click="gosecGoodsDetail(good.skuNo, item.gmtModified, item.promotionCode, item.promotionFrequency, item.inventory)"
64
64
  >
65
65
  <div class="bigimg">
66
66
  <img :lazy-load="true" :src="good.dataPic | urlFilter" mode="" style="width: 54px; height: 54px; margin: 0 3px" />
@@ -108,10 +108,12 @@ export default {
108
108
  mounted() {
109
109
  this.getIsLc();
110
110
  },
111
- methods: {
111
+ computed: {
112
112
  imgfn(val) {
113
113
  return process.env.REACT_APP_BASE_URL + val;
114
114
  },
115
+ },
116
+ methods: {
115
117
  getIsLc() {
116
118
  let that = this;
117
119
  if (isLc) {
@@ -241,6 +243,19 @@ export default {
241
243
  });
242
244
  }
243
245
  },
246
+ goSecList() {
247
+ this.$emit("goSecList", this.props);
248
+ },
249
+ gosecGoodsDetail(event, time, promotionCode, promotionFrequency, inventory) {
250
+ let goodsType;
251
+ if (this.props.activityType === 0) {
252
+ goodsType = 26;
253
+ }
254
+ if (this.props.activityType === 1) {
255
+ goodsType = 24;
256
+ }
257
+ this.$emit("gosecGoodsDetail", event, time, promotionCode, promotionFrequency, inventory, goodsType);
258
+ },
244
259
  },
245
260
  };
246
261
  </script>
@@ -248,8 +263,7 @@ export default {
248
263
  <style lang="less" scoped>
249
264
  .secKill {
250
265
  margin: 0 auto;
251
- width: 350px;
252
- background: #fee9ec;
266
+ width: 100%;
253
267
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
254
268
  border-radius: 7px;
255
269
  padding: 13.5px 10px 0;
@@ -298,6 +312,7 @@ export default {
298
312
  .secKill-all {
299
313
  height: 126px;
300
314
  display: flex;
315
+ justify-content: space-between;
301
316
  background: #fee9ec;
302
317
  .secKill--center {
303
318
  width: 76px;
@@ -22,6 +22,7 @@
22
22
  </div>
23
23
  <div
24
24
  class="more"
25
+ @click="goMoreGoods()"
25
26
  v-if="props.more === 1 && [1, 2, 3].includes(props.arrange)"
26
27
  >
27
28
  更多<img src="../../static/arrow.png" />
@@ -51,7 +52,10 @@
51
52
 
52
53
  <div
53
54
  class="goodsList"
54
- :class="`arrange-${props.arrange} spacingStyle-${props.spacingStyle}`"
55
+ :class="[
56
+ `arrange-${props.arrange}`,
57
+ `spacingStyle-${props.spacingStyle}`,
58
+ ]"
55
59
  >
56
60
  <div
57
61
  class="goodsBox"
@@ -77,11 +81,11 @@
77
81
  props.goodsTag.length > 0 && [2, 4].includes(props.arrange)
78
82
  "
79
83
  >
80
- <template v-for="tag in props.goodsTag" :key="tag.id">
84
+ <div v-for="tag in props.goodsTag" :key="tag.id">
81
85
  <span class="tag">
82
86
  {{ tag.value }}
83
87
  </span>
84
- </template>
88
+ </div>
85
89
  </div>
86
90
  <div class="goodsPrice">
87
91
  <span class="priceUnit">¥</span>{{ item.pricesetNprice }}
@@ -89,8 +93,12 @@
89
93
  ¥{{ item.pricesetMakeprice }}
90
94
  </div>
91
95
  </div>
92
- <div class="goodsBuy" v-if="props.purchaseIcon === 1">
93
- <button @click="handleBuyGoods(item.skuNo)">立即购买</button>
96
+ <div
97
+ class="goodsBuy"
98
+ @click="handleBuyGoods(item.skuNo)"
99
+ v-if="props.purchaseIcon === 1"
100
+ >
101
+ 立即购买
94
102
  </div>
95
103
  </section>
96
104
  </div>
@@ -137,6 +145,7 @@ export default {
137
145
  textAlign: "center",
138
146
  },
139
147
  goodsList: [],
148
+ completeGoodsList: [],
140
149
  imgUrl: "",
141
150
  };
142
151
  },
@@ -160,15 +169,14 @@ export default {
160
169
  const skuCode = goods.toString();
161
170
  const paramObj = { skuCode };
162
171
  const res = await fetchGoodImpl(this, paramObj);
163
- let list = get(res, "list", []);
164
-
172
+ this.completeGoodsList = get(res, "list", []);
165
173
  // 具有[更多>]的样式只展示部分商品
166
174
  if ([1, 3].includes(this.props.arrange)) {
167
- this.goodsList = list.slice(0, 3);
175
+ this.goodsList = this.completeGoodsList.slice(0, 3);
168
176
  } else if (this.props.arrange === 2) {
169
- this.goodsList = list.slice(0, 2);
177
+ this.goodsList = this.completeGoodsList.slice(0, 2);
170
178
  } else {
171
- this.goodsList = list;
179
+ this.goodsList = this.completeGoodsList;
172
180
  }
173
181
  },
174
182
 
@@ -183,6 +191,13 @@ export default {
183
191
  };
184
192
  this.$routers.push("detail", params);
185
193
  },
194
+ goMoreGoods() {
195
+ if (isLc) {
196
+ return;
197
+ }
198
+ this.$storage.set("goodsList", this.completeGoodsList);
199
+ this.$routers.push("goodsList/main");
200
+ },
186
201
  },
187
202
  };
188
203
  </script>
@@ -202,6 +217,7 @@ export default {
202
217
  &.left {
203
218
  display: flex;
204
219
  justify-content: space-between;
220
+ align-items: flex-end;
205
221
  .title {
206
222
  .subtitle {
207
223
  height: 17px;
@@ -220,6 +236,10 @@ export default {
220
236
  font-size: 12px;
221
237
  font-weight: 400;
222
238
  color: #81848c;
239
+ img {
240
+ width: 6px;
241
+ height: 8px;
242
+ }
223
243
  }
224
244
  }
225
245
  &.center {
@@ -299,127 +319,130 @@ export default {
299
319
  }
300
320
  }
301
321
  .goodsBuy {
302
- button {
303
- border: 0;
304
- border-radius: 15px;
305
- background-color: red;
306
- color: white;
307
- padding: 0.25em 0.5em;
308
- font-size: 12px;
309
- }
322
+ border: 0;
323
+ border-radius: 15px;
324
+ background-color: red;
325
+ color: white;
326
+ padding: 0.25em 0.5em;
327
+ font-size: 12px;
328
+ line-height: 22px;
329
+ width: 60px;
330
+ margin-left: auto;
331
+ margin-right: auto;
310
332
  }
311
333
  }
312
334
  }
313
335
  }
314
336
  }
315
- .goodsList {
316
- &.arrange-1 {
317
- display: grid;
318
- grid-template-columns: repeat(3, 1fr);
319
- grid-gap: 10px 20px;
320
- .goodsBox {
321
- width: 100px;
322
- }
323
- .goodsBuy {
324
- text-align: center;
325
- margin-bottom: 10px;
326
- }
337
+ .arrange-1 {
338
+ display: grid;
339
+ grid-template-columns: repeat(3, 1fr);
340
+ grid-gap: 10px 20px;
341
+ .goodsBox {
342
+ width: 100px;
327
343
  }
328
- &.arrange-2,
329
- &.arrange-4 {
344
+ .goodsBuy {
345
+ text-align: center;
346
+ margin-bottom: 10px;
347
+ }
348
+ }
349
+ .arrange-2,
350
+ .arrange-4 {
351
+ display: flex;
352
+ flex-direction: column;
353
+ margin: 8px auto;
354
+ .goodsBox {
330
355
  display: flex;
331
- flex-direction: column;
332
- margin: 8px auto;
333
- .goodsBox {
334
- display: flex;
335
- margin-bottom: 10px;
336
- padding: 10px;
337
- .goodsDescription {
338
- position: relative;
339
- margin-left: 10px;
340
- width: 100%;
341
- .goodsName {
342
- font-size: 14px;
356
+ margin-bottom: 10px;
357
+ padding: 10px;
358
+ .goodsDescription {
359
+ position: relative;
360
+ margin-left: 10px;
361
+ width: 220px;
362
+ .goodsName {
363
+ font-size: 14px;
364
+ }
365
+ .footerContent {
366
+ .goodsPrice {
367
+ display: inline;
368
+ position: absolute;
369
+ bottom: 0;
370
+ left: 0;
371
+ font-size: 16px;
343
372
  }
344
- .footerContent {
345
- .goodsPrice {
346
- display: inline;
347
- position: absolute;
348
- bottom: 0;
349
- left: 0;
350
- font-size: 16px;
351
- }
352
- .goodsBuy {
353
- display: inline;
354
- position: absolute;
355
- bottom: 0;
356
- right: 0;
357
- margin-bottom: 0;
358
- }
373
+ .goodsBuy {
374
+ display: inline;
375
+ position: absolute;
376
+ bottom: 0;
377
+ right: 0;
378
+ margin-bottom: 0;
359
379
  }
360
380
  }
361
381
  }
362
382
  }
363
- &.arrange-3 {
364
- display: flex;
365
- justify-content: space-between;
366
- flex-wrap: wrap;
367
- .goodsBox {
368
- margin-top: 10px;
383
+ }
384
+ .arrange-3 {
385
+ display: flex;
386
+ justify-content: space-between;
387
+ flex-wrap: wrap;
388
+ .goodsBox {
389
+ margin-top: 10px;
390
+ width: 170px;
391
+ height: 250px;
392
+ background: white;
393
+ .goodsImage {
369
394
  width: 170px;
370
- height: 250px;
371
- background: white;
372
- .goodsImage {
373
- width: 170px;
374
- height: 170px;
395
+ height: 170px;
396
+ }
397
+ .goodsDescription {
398
+ .goodsName {
399
+ margin-top: 10px;
400
+ height: 2.5em;
375
401
  }
376
- .goodsDescription {
377
- .goodsName {
378
- margin-top: 10px;
379
- height: 2.5em;
380
- }
381
- .footerContent {
382
- margin-top: 5px;
383
- display: flex;
384
- justify-content: space-between;
385
- align-items: flex-end;
402
+ .footerContent {
403
+ margin-top: 5px;
404
+ display: flex;
405
+ justify-content: space-between;
406
+ align-items: flex-end;
407
+ .goodsBuy {
408
+ margin: 0;
386
409
  }
387
410
  }
388
411
  }
389
- .goodsBox:nth-child(1) {
412
+ }
413
+ .goodsBox:nth-child(1) {
414
+ width: 100%;
415
+ height: 220px;
416
+ padding: 10px;
417
+ .goodsImage {
390
418
  width: 100%;
391
- height: 220px;
392
- padding: 10px;
393
- .goodsImage {
394
- width: 100%;
395
- height: 130px;
396
- }
419
+ height: 130px;
397
420
  }
398
421
  }
399
- &.arrange-5 {
400
- display: grid;
401
- grid-template-columns: repeat(3, 1fr);
402
- grid-gap: 10px 20px;
422
+ }
423
+ .arrange-5 {
424
+ display: grid;
425
+ grid-template-columns: repeat(3, 1fr);
426
+ grid-gap: 10px 20px;
427
+ .goodsImage {
428
+ margin-top: 6px;
429
+ }
430
+ .goodsBox {
431
+ width: 100px;
432
+ background: white;
403
433
  .goodsImage {
404
- margin-top: 6px;
405
- }
406
- .goodsBox {
407
434
  width: 100px;
408
- background: white;
409
- .goodsImage {
410
- width: 100px;
411
- height: 100px;
412
- }
435
+ height: 100px;
413
436
  }
414
- .goodsDescription {
415
- .footerContent {
416
- .goodsPrice {
417
- text-align: center;
418
- }
419
- .goodsBuy {
420
- text-align: center;
421
- margin-bottom: 10px;
422
- }
437
+ }
438
+ .goodsDescription {
439
+ .footerContent {
440
+ .goodsPrice {
441
+ text-align: center;
442
+ }
443
+ .goodsBuy {
444
+ text-align: center;
445
+ margin-bottom: 10px;
423
446
  }
424
447
  }
425
448
  }
@@ -104,7 +104,7 @@ export default {
104
104
  },
105
105
  methods: {
106
106
  init() {
107
- this.imgUrl = getUrl();
107
+ this.imgUrl = getUrl(this);
108
108
  },
109
109
  handleToLive() {
110
110
  if (isLc) {
@@ -15,7 +15,7 @@
15
15
  <div class="notice-content">
16
16
  <swiper
17
17
  class="notice-list"
18
- :vertical="props.notice.vertical"
18
+ :vertical="props.vertical"
19
19
  circular="true"
20
20
  autoplay="true"
21
21
  interval="5000"
@@ -71,7 +71,7 @@ export default {
71
71
  if (isLc) {
72
72
  return;
73
73
  }
74
- $routers.push("noticeDedail", { id: item.noticeId });
74
+ this.$routers.push("noticeDedail", { id: item.noticeId });
75
75
  },
76
76
  },
77
77
  };
@@ -84,8 +84,10 @@ export default {
84
84
  height: 35px;
85
85
  padding: 0px 12.5px;
86
86
  box-sizing: border-box;
87
- box-shadow: 0px 0px 7px 0px #f0f0f0;
87
+ box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
88
88
  .notice-logo {
89
+ display: flex;
90
+ align-items: center;
89
91
  padding: 0.5px 10px;
90
92
  background: linear-gradient(270deg, #ff97bd 0%, #e50f41 100%);
91
93
  border-radius: 10px;