merge:合并修复bug以及首页修改

feature/ad-0531-ch
张征 2 years ago
commit 3c2ff793ab

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 661 B

@ -99,7 +99,7 @@
:class="isAccount ? 'clearmargin' : ''" :class="isAccount ? 'clearmargin' : ''"
> >
<UiButton <UiButton
v-if="addressList[0].id && !isAccount" v-if="addressList[0]&&addressList[0].id && !isAccount"
type="grey" type="grey"
@click="onCanceloperation()" @click="onCanceloperation()"
>取消</UiButton >取消</UiButton
@ -239,6 +239,8 @@ export default {
} else { } else {
vm.defaultAddress = true; vm.defaultAddress = true;
vm.isOperation = true; vm.isOperation = true;
vm.addressList = [];
vm.$emit("getList", vm.addressList);
} }
console.log("获取收货地址", res); console.log("获取收货地址", res);
}, },

@ -2,7 +2,7 @@
<div class="chosen"> <div class="chosen">
<div class="chosen-title flex flex-between flex-middle"> <div class="chosen-title flex flex-between flex-middle">
<h3 class="chosen-title--txt">为你精选</h3> <h3 class="chosen-title--txt">为你精选</h3>
<div class="chosen-title--btn flex" @click="getRecommendedGoodsList()"> <div class="chosen-title--btn flex" @click="onRest()">
<img src="@/assets/img/goods/each.png" alt="切换推荐" /> <img src="@/assets/img/goods/each.png" alt="切换推荐" />
<span>换一组</span> <span>换一组</span>
</div> </div>
@ -23,6 +23,8 @@ export default {
components: { UiGoodsItem }, components: { UiGoodsItem },
data() { data() {
return { return {
pages: 0,
pageIndex: 1,
recommendedData: [], recommendedData: [],
}; };
}, },
@ -30,17 +32,22 @@ export default {
this.getRecommendedGoodsList(); this.getRecommendedGoodsList();
}, },
methods: { methods: {
onRest() {
this.pageIndex < this.pages ? this.pageIndex++ : (this.pageIndex = 1);
this.getRecommendedGoodsList();
},
async getRecommendedGoodsList() { async getRecommendedGoodsList() {
let vm = this; let vm = this;
let res = await ApiGetGoodsList({ let res = await ApiGetGoodsList({
length: 20, length: 20,
pageIndex: 1, pageIndex: vm.pageIndex,
name: "", name: "",
categoryId: "", categoryId: "",
order: "", order: "",
}); });
console.log(res.result) console.log(res.result);
vm.recommendedData = res.result.records; vm.recommendedData = res.result.records;
vm.pages = res.result.pages;
}, },
}, },
}; };

@ -51,24 +51,30 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.goods-item { .goods-item {
width: 232px; width: 228px;
height: 340px; height: 320px;
cursor: pointer; cursor: pointer;
background: #ffffff; background: #ffffff;
transition: all 0.3s;
padding: 30px;
&:hover { &:hover {
box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.10000000149011612); box-shadow: 0px 4px 40px 1px rgba(0, 0, 0, 0.10000000149011612);
margin-top: -3px;
} }
&__img { &__img {
width: 232px; width: 130px!important;
height: 232px; height: 130px;
display: block;
margin: 0 auto 44px;
} }
&__title { &__title {
width: 200px; width: 170px;
height: 45px; height: 45px;
line-height: 22px; line-height: 22px;
margin: 17px auto 10px; // margin: 17px auto 10px;
margin-bottom: 10px;
font-size: 14px; font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei; font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400; font-weight: 400;
@ -80,12 +86,15 @@ export default {
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
&-label { &-label {
display: inline-block; display: inline-block;
padding: 2px 8px; width: 40px;
background: rgba(255, 135, 91, 0.1); height: 18px;
text-align: center;
line-height: 18px;
background: #FF6A19;
font-size: 12px; font-size: 12px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei; font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400; font-weight: 400;
color: #ff875b; color: #fff;
text-align: center; text-align: center;
margin-right: 8px; margin-right: 8px;
} }
@ -95,7 +104,7 @@ export default {
margin: 0 auto; margin: 0 auto;
&--txt { &--txt {
font-size: 14px; font-size: 16px;
color: #ff512b; color: #ff512b;
&::before { &::before {
content: "¥"; content: "¥";

@ -171,7 +171,9 @@ export default {
background: #ff512b; background: #ff512b;
border-radius: 50%; border-radius: 50%;
color: #ffffff; color: #ffffff;
margin-left: 4px; left: 10px;
top: -7px;
position: absolute;
&--more { &--more {
// width: unset; // width: unset;
top: -8px; top: -8px;

@ -303,7 +303,7 @@ export default {
.header-wrap-content--line { .header-wrap-content--line {
width: 1px; width: 1px;
height: 10px; height: 10px;
background: #d8d8d8; background: #969696;
} }
.header-wrap-content__common { .header-wrap-content__common {
cursor: pointer; cursor: pointer;

@ -193,6 +193,7 @@ export default {
background: #ffffff; background: #ffffff;
box-shadow: 0px 4px 10px 1px rgba(0, 0, 0, 0.1); box-shadow: 0px 4px 10px 1px rgba(0, 0, 0, 0.1);
z-index: 9999; z-index: 9999;
&--hide-shadow { &--hide-shadow {
box-shadow: none; box-shadow: none;
/deep/.el-menu { /deep/.el-menu {
@ -277,6 +278,10 @@ export default {
padding: 0 5px; padding: 0 5px;
} }
} }
/deep/.tab-category-menu__right {
top: 70px!important;
}
} }
} }
.header-box-wrap__right { .header-box-wrap__right {
@ -288,7 +293,7 @@ export default {
z-index: 1; z-index: 1;
border-radius: 4px; border-radius: 4px;
/deep/.el-input__suffix{ /deep/.el-input__suffix {
display: flex; display: flex;
align-items: center; align-items: center;
// margin-right: 16px; // margin-right: 16px;

@ -11,7 +11,11 @@
<main class="main"> <main class="main">
<h3 class="title">消息通知</h3> <h3 class="title">消息通知</h3>
<section class="section"> <section class="section">
<div class="section__item flex" v-for="item in socketMsgData" :key="item.id"> <div
class="section__item flex"
v-for="item in socketMsgData"
:key="item.id"
>
<img <img
class="section__item-img" class="section__item-img"
src="https://img1.baidu.com/it/u=3384796346,381674655&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" src="https://img1.baidu.com/it/u=3384796346,381674655&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500"
@ -25,28 +29,33 @@
}}</span> }}</span>
</div> </div>
<div class="section__item-content--txt"> <div class="section__item-content--txt">
{{ {{ JSON.parse(item.payload).content || `` }}
JSON.parse(item.payload).content ||
``
}}
</div> </div>
</div> </div>
</div> </div>
<UiEmpty
v-if="!socketMsgData.length"
desc="暂无消息通知"
:icon="require('@/assets/img/account/order/empty.png')"
>
</UiEmpty>
</section> </section>
</main> </main>
</div> </div>
</template> </template>
<script> <script>
import { mapState } from "vuex"; import { mapState } from "vuex";
import UiEmpty from "@/components/UiEmpty.vue";
export default { export default {
components: { UiEmpty },
data() { data() {
return {}; return {};
}, },
computed: { computed: {
...mapState(["token","socketMsgData"]), ...mapState(["token", "socketMsgData"]),
}, },
mounted(){ mounted() {
console.log(`socketMsgData`,this.$store.state) console.log(`socketMsgData`, this.$store.state);
}, },
methods: {}, methods: {},
}; };
@ -71,6 +80,8 @@ export default {
padding: 22px 20px 0; padding: 22px 20px 0;
border: 1px solid #ddd; border: 1px solid #ddd;
margin-top: -1px; margin-top: -1px;
max-height: 600px;
overflow-y: auto;
&__item { &__item {
margin-bottom: 20px; margin-bottom: 20px;

@ -53,6 +53,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.box{ .box{
min-width: 1000px;
border: 1px solid #ddd; border: 1px solid #ddd;
border-radius: 4px; border-radius: 4px;
display: flex; display: flex;

@ -537,6 +537,9 @@ export default {
margin-bottom: 14px; margin-bottom: 14px;
&__crumbs { &__crumbs {
width: 1200px; width: 1200px;
color: #666;
@include ellipsis;
padding-right: 970px
} }
} }
.main { .main {
@ -814,7 +817,7 @@ export default {
width: 1200px; width: 1200px;
margin: 64px auto 0; margin: 64px auto 0;
&-recommend { &-recommend {
width: 232px; width: 228px;
margin-right: 30px; margin-right: 30px;
/deep/.goods-item { /deep/.goods-item {

@ -11,18 +11,24 @@
<el-carousel height="360px" indicator-position="outside"> <el-carousel height="360px" indicator-position="outside">
<el-carousel-item> <el-carousel-item>
<el-image <el-image
<<<<<<< HEAD
@click="onAdvBannerClick(1)" @click="onAdvBannerClick(1)"
:src="banner1" :src="banner1"
=======
@click="onAdvBannerClick(0)"
:src="adv1"
>>>>>>> fix/ui-0521-zz
fit="cover" fit="cover"
></el-image> ></el-image>
</el-carousel-item> </el-carousel-item>
<el-carousel-item> <el-carousel-item>
<el-image <el-image
@click="onAdvBannerClick(2)" @click="onAdvBannerClick(1)"
:src="banner2" :src="adv2"
fit="cover" fit="cover"
></el-image> ></el-image>
</el-carousel-item> </el-carousel-item>
<el-carousel-item v-for="item in bannerList" :key="item.id"> <el-carousel-item v-for="item in bannerList" :key="item.id">
<el-image <el-image
@click="onBannerClick(item.id)" @click="onBannerClick(item.id)"
@ -38,23 +44,23 @@ export default {
name: "HomtBanner", name: "HomtBanner",
data() { data() {
return { return {
banner1: require("~/assets/img/home/banner1.jpg"), adv1: require("~/assets/img/banner/zbk.jpg"),
banner2: require("~/assets/img/home/banner2.jpg"), adv2: require("~/assets/img/banner/jlp.jpg"),
bannerList: [ bannerList: [
{ {
url: "https://cdn.mashibing.com/shop-pc/goods13.jpg", url: require(`~/assets/img/banner/1.jpg`),
id: 13, id: 13,
}, },
{ {
url: "https://cdn.mashibing.com/shop-pc/goods30.jpg", url: require(`~/assets/img/banner/2.jpg`),
id: 30, id: 30,
}, },
{ {
url: "https://cdn.mashibing.com/shop-pc/goods15.jpg", url: require(`~/assets/img/banner/3.jpg`),
id: 15, id: 15,
}, },
{ {
url: "https://cdn.mashibing.com/shop-pc/goods40.jpg", url: require(`~/assets/img/banner/4.jpg`),
id: 40, id: 40,
}, },
], ],
@ -71,6 +77,14 @@ export default {
onBannerClick(goodsId) { onBannerClick(goodsId) {
window.open(`${location.origin}/goods/detail/${goodsId}`); window.open(`${location.origin}/goods/detail/${goodsId}`);
}, },
onAdvBannerClick(i) {
if (i === 0) {
window.open(`https://www.mashibing.com/live/1530`);
} else if (i === 1) {
window.open(`https://www.mashibing.com/free/1373`);
}
},
}, },
}; };
</script> </script>

@ -42,9 +42,11 @@
v-for="(item, index) in recommendArray" v-for="(item, index) in recommendArray"
:key="index" :key="index"
@click="onJumpGoodsDetail(item.id)" @click="onJumpGoodsDetail(item.id)"
class="recommend-products-right__item" class="recommend-products-right__item flex flex-column"
> >
<strong class="home-pick-recommend--title">{{ item.title }}</strong> <strong class="home-pick-recommend--title2">{{
item.title
}}</strong>
<p class="home-pick-recommend--subtitle"> <p class="home-pick-recommend--subtitle">
{{ recommendGoodsOne.subtitle }} {{ recommendGoodsOne.subtitle }}
</p> </p>
@ -68,43 +70,70 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 新品上架 --> <!-- 新品上架 -->
<div v-if="showNew" class="home-pick-new"> <div v-if="showNew" class="home-pick-recommend">
<div class="home-pick--label flex flex-middle"> <div class="home-pick--label flex flex-middle">
<strong>新品上架</strong> <strong>新品上架</strong>
</div> </div>
<div class="home-pick-new__products flex"> <div class="home-pick-recommend__products flex flex-middle flex-between">
<!-- 左侧商品 --> <!-- 左侧商品 -->
<div <div
@click="onJumpGoodsDetail(newGoodsOne.id)" @click="onJumpGoodsDetail(newGoodsOne.id)"
class="pick-new-products__left" class="pick-recommend-products__left"
> >
<img <strong class="home-pick-recommend--title">
:src="newGoodsOne.mainPicture" {{ newGoodsOne.name }}
class="new-products-left__cover" </strong>
/> <!-- 商品标签 -->
<div class="new-products-left__wrap"> <div
<p>{{ newGoodsOne.name }}</p> v-for="item in newGoodsOne.labelList"
<strong class="home-pick--price__16">{{ :key="item.code"
newGoodsOne.startingPrice class="home-pick-recommend--tag-wrap flex"
}}</strong> >
<div :class="`tag-wrap__item tag-wrap__item--${item.code}`">
{{ item.text }}
</div>
</div>
<p class="home-pick-recommend--subtitle">
{{ newGoodsOne.subtitle }}
</p>
<strong class="home-pick--price__18">{{
newGoodsOne.startingPrice
}}</strong>
<div class="recommend-products-left__cover">
<img :src="newGoodsOne.mainPicture" />
</div> </div>
</div> </div>
<div class="pick-new-products__right flex flex-wrap flex-between"> <!-- 右侧商品 -->
<div
class="pick-recommend-products__right flex flex-column flex-between"
>
<div <div
v-for="(item, index) in newArray" v-for="(item, index) in newArray"
:key="index" :key="index"
@click="onJumpGoodsDetail(item.id)" @click="onJumpGoodsDetail(item.id)"
class="new-products-right__wrap flex flex-middle" class="recommend-products-right__item flex flex-column"
> >
<div class="products-right-wrap__cover"> <strong class="home-pick-recommend--title2">{{ item.name }}</strong>
<img :src="item.mainPicture" /> <p class="home-pick-recommend--subtitle">
{{ item.subtitle }}
</p>
<!-- 商品标签 -->
<div
v-for="itemLabel in item.labelList"
:key="itemLabel.code"
class="home-pick-recommend--tag-wrap flex"
>
<div :class="`tag-wrap__item tag-wrap__item--${itemLabel.code}`">
{{ itemLabel.text }}
</div>
</div> </div>
<div class="products-right-wrap__info"> <strong class="home-pick--price__18">{{
<p>{{ item.name }}</p> item.startingPrice
<strong class="home-pick--price__14">{{ }}</strong>
item.startingPrice <div class="recommend-products-right__cover flex-1">
}}</strong> <img :src="item.mainPicture" />
</div> </div>
</div> </div>
</div> </div>
@ -114,7 +143,7 @@
</template> </template>
<script> <script>
const RECOMMEND_MIN_COUNT = 3; // const RECOMMEND_MIN_COUNT = 3; //
const NEW_MIN_COUNT = 5; // const NEW_MIN_COUNT = 3; //
export default { export default {
name: "HomePick", name: "HomePick",
@ -156,6 +185,7 @@ export default {
deep: true, deep: true,
handler(val) { handler(val) {
if (val && val.length >= NEW_MIN_COUNT) { if (val && val.length >= NEW_MIN_COUNT) {
console.log("新品上架", val);
this.showNew = true; this.showNew = true;
this.newGoodsOne = val[0]; this.newGoodsOne = val[0];
this.newArray = val.slice(1, NEW_MIN_COUNT); this.newArray = val.slice(1, NEW_MIN_COUNT);
@ -176,7 +206,7 @@ export default {
margin-top: 30px; margin-top: 30px;
&--label { &--label {
font-size: 24px; font-size: 24px;
margin-bottom: 16px; margin-bottom: 30px;
img { img {
width: 16px; width: 16px;
height: 16px; height: 16px;
@ -185,6 +215,7 @@ export default {
} }
&--price { &--price {
&__18 { &__18 {
margin-top: auto;
font-size: 18px; font-size: 18px;
color: #ff512b; color: #ff512b;
&::before { &::before {
@ -211,10 +242,9 @@ export default {
} }
.home-pick-recommend { .home-pick-recommend {
width: 590px; width: 50%;
min-height: 340px; min-height: 340px;
padding: 16px 20px 20px; padding: 16px 20px 20px;
background: #ffffff;
border-radius: 4px; border-radius: 4px;
&--tag-wrap { &--tag-wrap {
margin-bottom: 8px; margin-bottom: 8px;
@ -240,7 +270,14 @@ export default {
} }
&--title { &--title {
display: block; display: block;
width: 140px; width: 200px;
font-size: 16px;
margin-bottom: 6px;
@include ellipsis;
}
&--title2 {
display: block;
width: 150px;
font-size: 16px; font-size: 16px;
margin-bottom: 6px; margin-bottom: 6px;
@include ellipsis; @include ellipsis;
@ -251,18 +288,25 @@ export default {
margin-bottom: 8px; margin-bottom: 8px;
} }
&__products { &__products {
height: 264px; // height: 264px;
cursor: pointer; cursor: pointer;
.pick-recommend-products__left { .pick-recommend-products__left {
position: relative; position: relative;
width: 264px; width: 292px;
height: 100%; height: 302px;
background: #f8f8f9; background: #fff;
padding: 12px 0 0 20px; padding: 20px;
margin-right: 16px;
transition: all 0.3s;
&:hover {
box-shadow: 0px 4px 40px 1px rgba(0, 0, 0, 0.10000000149011612);
margin-top: -3px;
}
.recommend-products-left__cover { .recommend-products-left__cover {
position: absolute; position: absolute;
right: 0; right: 18px;
bottom: 0; bottom: 18px;
width: 170px; width: 170px;
height: 170px; height: 170px;
img { img {
@ -275,11 +319,21 @@ export default {
width: 266px; width: 266px;
height: 100%; height: 100%;
.recommend-products-right__item { .recommend-products-right__item {
width: 100%; width: 284px;
height: 122px; height: 144px;
border-radius: 4px;
position: relative; position: relative;
background: #f8f7f8; background: #fff;
padding: 10px 0 10px 20px; padding: 20px;
transition: all 0.3s;
&:hover {
box-shadow: 0px 4px 40px 1px rgba(0, 0, 0, 0.10000000149011612);
}
&:nth-child(1) {
margin-bottom: 16px;
}
} }
.recommend-products-right__cover { .recommend-products-right__cover {
position: absolute; position: absolute;
@ -296,63 +350,5 @@ export default {
} }
} }
} }
.home-pick-new {
width: 590px;
min-height: 340px;
padding: 16px 20px 20px;
background: #ffffff;
border-radius: 4px;
&__products {
cursor: pointer;
.pick-new-products__left {
width: 170px;
height: 264px;
background: #f8f8f9;
margin-right: 20px;
.new-products-left__cover {
width: 170px;
height: 170px;
}
.new-products-left__wrap {
padding: 10px 0;
text-align: center;
font-size: 14px;
p {
width: 140px;
margin: 0 auto 12px auto;
@include ellipsis;
}
}
}
.pick-new-products__right {
.new-products-right__wrap {
width: 170px;
height: 100px;
background: #ffffff;
padding: 16px 8px 16px 0;
&:nth-child(-n + 2) {
margin-bottom: 40px;
}
.products-right-wrap__cover {
width: 68px;
height: 68px;
margin-right: 16px;
img {
width: 100%;
height: 100%;
}
}
.products-right-wrap__info {
font-size: 14px;
p {
width: 78px;
margin-bottom: 8px;
@include ellipses(2);
}
}
}
}
}
}
} }
</style> </style>

@ -34,7 +34,7 @@
<div class="home-sckill flex" @click="onJumpSeckill"> <div class="home-sckill flex" @click="onJumpSeckill">
<div class="home-sckill-carousel"> <div class="home-sckill-carousel">
<el-carousel <el-carousel
height="260px" height="300px"
arrow="always" arrow="always"
:autoplay="false" :autoplay="false"
:loop="false" :loop="false"
@ -47,10 +47,8 @@
class="carousel-goods-box flex flex-middle" class="carousel-goods-box flex flex-middle"
> >
<div <div
v-if="indexChild !== 0" class="carousel-goods-box__item flex flex-column flex-middle"
class="carousel-goods-box--line" >
></div>
<div class="carousel-goods-box__item">
<img <img
class="goods-box-item__cover" class="goods-box-item__cover"
:src="itemChild.productMainPicture" :src="itemChild.productMainPicture"
@ -59,9 +57,14 @@
<p class="box-item-wrap__title"> <p class="box-item-wrap__title">
{{ itemChild.productName }} {{ itemChild.productName }}
</p> </p>
<strong class="box-item-wrap__price" <p>
>{{ itemChild.activityPrice }}</strong <strong class="box-item-wrap__price"
> >{{ itemChild.activityPrice }}</strong
>
<span class="box-item-wrap__price2"
>{{ itemChild.originalPrice }}</span
>
</p>
</div> </div>
</div> </div>
</div> </div>
@ -75,7 +78,7 @@
<script> <script>
import _ from "lodash"; import _ from "lodash";
const CAROUSEL_COUNT = 6; // const CAROUSEL_COUNT = 5; //
export default { export default {
name: "HomeSeckill", name: "HomeSeckill",
@ -160,6 +163,8 @@ export default {
// //
setTimerInterval({ startTime, endTime }) { setTimerInterval({ startTime, endTime }) {
startTime = startTime .replace(/\-/g, "/");
endTime = endTime .replace(/\-/g, "/");
startTime = new Date(startTime).getTime(); startTime = new Date(startTime).getTime();
endTime = new Date(endTime).getTime(); endTime = new Date(endTime).getTime();
if (this.current > startTime && this.current < endTime) { if (this.current > startTime && this.current < endTime) {
@ -225,8 +230,9 @@ export default {
} }
} }
.home-sckill { .home-sckill {
height: 260px; height: 300px;
cursor: pointer; cursor: pointer;
margin-bottom: 60px;
.home-sckill-carousel { .home-sckill-carousel {
/deep/.el-carousel { /deep/.el-carousel {
width: 1200px; width: 1200px;
@ -256,32 +262,45 @@ export default {
} }
.carousel-goods { .carousel-goods {
height: 100%; height: 100%;
background: #f8f8f8;
.carousel-goods-box { .carousel-goods-box {
.carousel-goods-box--line { margin-right: 15px;
height: 160px; width: 228px;
width: 1px; height: 300px;
background: #eeeeee; background: #ffffff;
} border-radius: 4px;
.carousel-goods-box__item { .carousel-goods-box__item {
width: 198px; width: 100%;
padding: 20px 24px; padding: 20px 24px;
transition: all .3s;
&:hover {
transform: translateY(-3px);
}
.goods-box-item__cover { .goods-box-item__cover {
width: 150px; width: 140px;
height: 150px; height: 140px;
object-fit: productMainPicture; object-fit: productMainPicture;
margin-bottom: 14px; margin-bottom: 24px;
} }
.goods-box-item__wrap { .goods-box-item__wrap {
font-size: 14px; font-size: 16px;
color: #333333; color: #333333;
text-align: center; text-align: center;
width: 100%;
.box-item-wrap__title { .box-item-wrap__title {
@include ellipsis; @include ellipsis;
margin-bottom: 8px; margin-bottom: 20px;
} }
.box-item-wrap__price { .box-item-wrap__price {
color: #ff512b; color: #ff512b;
text-align: center; text-align: center;
margin-right: 15px;
}
.box-item-wrap__price2 {
color: #999999;
text-decoration: line-through;
} }
} }
} }

Loading…
Cancel
Save