lilishop-uniapp/pages/tabbar/cart/cartList.vue

883 lines
23 KiB
Vue
Raw Normal View History

2021-05-13 11:03:32 +08:00
<template>
<div class="wrapper">
2021-05-17 18:19:26 +08:00
<u-navbar :isBack="false" title="购物车"></u-navbar>
2021-05-13 11:03:32 +08:00
<!-- 空白页-->
<view v-if="cartDetail.cartList == '' || cartDetail.cartList == [] || !cartDetail" class="empty">
<image src="/static/emptyCart.jpg" mode="aspectFit"></image>
<view class="empty-tips">
空空如也
<navigator class="navigator" url="/pages/tabbar/home/index" open-type="switchTab">随便逛逛></navigator>
</view>
</view>
<!-- 店铺商品信息 -->
<div class="content">
<div class="box box2" :class="{ invalid: isInvalid(item) }" v-for="(item, index) in cartDetail.cartList" :key="index">
<view class="tab">
<view class="store-line">
<u-checkbox-group class="store-line-check">
<!-- #ifndef MP-WEIXIN -->
2021-05-17 18:19:26 +08:00
<u-checkbox shape="circle" :active-color="$lightColor" v-model="item.checked" @change="checkboxChangeDP(item)"></u-checkbox>
2021-05-13 11:03:32 +08:00
<!-- #endif -->
<!-- 微信小程序这里 v-model出现问题改用:value -->
<!-- #ifdef MP-WEIXIN -->
2021-05-17 18:19:26 +08:00
<u-checkbox shape="circle" :active-color="$lightColor" :value="item.checked" @change="checkboxChangeDP(item)"></u-checkbox>
2021-05-13 11:03:32 +08:00
<!-- #endif -->
</u-checkbox-group>
2021-05-17 18:19:26 +08:00
<span class="storeName store-line-desc" @click.stop="navigateToStore(item)">{{
2021-05-13 11:03:32 +08:00
item.storeName
}}</span>
</view>
2021-05-17 18:19:26 +08:00
<view class="right_Col" @click="navigateToConpon(item)">
2021-05-13 11:03:32 +08:00
<div class="right_Line"></div>
<span>领劵</span>
</view>
</view>
<u-swipe-action :show="skuItem.selected" @open="openAction(skuItem)" :options="options" bg-color="#fff" ref="swiperAction" class="cartItem" v-for="(skuItem, i) in item.skuList" :index="i"
2021-05-17 18:19:26 +08:00
:key="skuItem.goodsSku.id" @click="changeActionTab(skuItem)" @longpress="changeActionTab(skuItem)">
2021-05-13 11:03:32 +08:00
<!-- 满减活动 -->
<div v-if="skuItem.promotions" v-for="(fullDiscount,fullDiscountIndex) in skuItem.promotions" :key="fullDiscountIndex">
<div v-if="fullDiscount.promotionType == 'FULL_DISCOUNT'">
<div class="promotion-notice" v-if="item.promotionNotice">
<span class="tips">满减</span>
<span style="flex:10;">{{item.promotionNotice}}</span>
</div>
</div>
</div>
<view class="goods-row" :class="{ invalid: isInvalid(skuItem) }">
<view class="goods-config">
<view>
<u-checkbox-group v-if="skuItem.invalid == 0">
<!-- #ifndef MP-WEIXIN -->
2021-05-17 18:19:26 +08:00
<u-checkbox shape="circle" :active-color="$lightColor" class="c-left" v-model="skuItem.checked" @change="checkboxChange(skuItem)"></u-checkbox>
2021-05-13 11:03:32 +08:00
<!-- #endif -->
<!-- 微信小程序这里 v-model出现问题改用:value -->
<!-- #ifdef MP-WEIXIN -->
2021-05-17 18:19:26 +08:00
<u-checkbox shape="circle" :active-color="$lightColor" class="c-left" :value="skuItem.checked" @change="checkboxChange(skuItem)"></u-checkbox>
2021-05-13 11:03:32 +08:00
<!-- #endif -->
</u-checkbox-group>
<span class="invalid" v-else style="font-size: 24rpx">失效</span>
</view>
2021-05-17 18:19:26 +08:00
<u-image border-radius="20" :fade="true" @click.native="navigateToGoods(skuItem)" width="200rpx" height="200rpx" :src="skuItem.goodsSku.thumbnail" @click="navigateToGoods(skuItem)" />
2021-05-13 11:03:32 +08:00
</view>
<view class="goods-content">
<!-- 商品名称 -->
2021-05-17 18:19:26 +08:00
<p class="sp-name" @click="navigateToGoods(skuItem)">
2021-05-13 11:03:32 +08:00
{{ skuItem.goodsSku.goodsName }}
</p>
<!-- 规格 -->
<p class="sp-type">{{skuItem.goodsSku.simpleSpecs}}</p>
<p class="sp-number">
<view class="sp-price">
<div class="default-color" :class="{'theme-color':skuItem.promotions.length <=0 }">
2021-05-17 18:19:26 +08:00
<span>{{ formatPrice(skuItem.goodsSku.price)[0] }}</span>
<span>.{{ formatPrice(skuItem.goodsSku.price)[1] }}</span>
2021-05-13 11:03:32 +08:00
</div>
</view>
<view>
<!-- #ifndef MP-WEIXIN -->
<u-number-box class="uNumber" :min="1" input-width="70" input-height="40" size="20" v-model="skuItem.num" @change="numChange(skuItem)"></u-number-box>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<u-number-box class="uNumber" :min="1" input-width="70" input-height="40" size="20" :value="skuItem.num" @plus="numChange(skuItem, '1')" @change="numChange_WEIXIN" :skuItem="skuItem"
@minus="numChange(skuItem, '0')"></u-number-box>
<!-- #endif -->
</view>
<!-- 如果当有促销并且促销是 限时抢购 -->
<!-- promotions -->
<div class="promotions-list" v-if="skuItem.promotions" v-for="(seckill,seckillIndex) in skuItem.promotions" :key="seckillIndex">
<div class="promotions-item-seckill" v-if="seckill.promotionType == 'SECKILL'">
距秒杀结束: <u-count-down show-border :hide-zero-day="true" :color="$mainColor" border-color="#ededed" font-size="24" :timestamp="getCountDownTime(seckill.endTime)">
</u-count-down>
</div>
</div>
<!-- 如果有活动 并且是选中的状态,显示预估到手价格 -->
<div class="priceDetail-flowPrice" :class="{'theme-color':skuItem.priceDetailDTO}"
v-if="skuItem.priceDetailDTO && skuItem.invalid == 0 && skuItem.promotions.length!=0 && skuItem.checked && skuItem.checked">
2021-05-17 18:19:26 +08:00
预估到手价 <span>{{ formatPrice(skuItem.priceDetailDTO.flowPrice)[0]}}</span>
<span>.{{ formatPrice(skuItem.priceDetailDTO.flowPrice)[1] }} </span>
2021-05-13 11:03:32 +08:00
</div>
</p>
</view>
</view>
</u-swipe-action>
</div>
</div>
2021-05-17 18:19:26 +08:00
<u-modal v-model="deleteShow" @delectConfirm="delectConfirm" show-cancel-button :content="deleteContent" :async-close="true"></u-modal>
2021-05-13 11:03:32 +08:00
<!-- 结账 -->
<div class="box box6">
<view class="navL">
2021-05-17 18:19:26 +08:00
<u-checkbox shape="circle" :active-color="$lightColor" v-model="checkout" @change="checkOut()" label-size="24"></u-checkbox>
2021-05-13 11:03:32 +08:00
<span class="price">
<div class="prices">
<div class="fullPrice">
<span class="number" v-if="cartDetail && cartDetail.priceDetailDTO">
2021-05-17 18:19:26 +08:00
总计: <span>¥{{ formatPrice(cartDetail.priceDetailDTO.flowPrice)[0] }}</span>.<span>{{ formatPrice(cartDetail.priceDetailDTO.flowPrice)[1] }}</span>
2021-05-13 11:03:32 +08:00
</span>
<span class="number" v-else>:0.00</span>
</div>
<div v-if="cartDetail.cartList && cartDetail.cartList.length!=0 && cartDetail.priceDetailDTO && cartDetail.priceDetailDTO.discountPrice!=0 " class="discountPrice">
<span>优惠减:{{(cartDetail.priceDetailDTO.goodsPrice - cartDetail.priceDetailDTO.flowPrice) | unitPrice}} </span>
<span class="discountDetails" @click="discountDetails"></span>
</div>
</div>
</span>
</view>
<!-- 优惠详情 -->
<u-popup z-index="3" close mode="bottom" height="50%" closeable v-model="discountDetailsFlag" border-radius="20">
<div class="discount-list">
<view class="discount-title">优惠明细</view>
<div class="discount-way">
<div class="discount-item" v-if="cartDetail.priceDetailDTO">
<span>商品总额</span>
<span>{{cartDetail.priceDetailDTO.goodsPrice | unitPrice}}</span>
</div>
<div class="discount-item" v-if="cartDetail.priceDetailDTO">
<span>优惠券</span>
<span>-{{cartDetail.priceDetailDTO.couponPrice | unitPrice}}</span>
</div>
<div class="discount-item" v-if="cartDetail.priceDetailDTO">
<span>其他优惠</span>
<span>-{{cartDetail.priceDetailDTO.discountPrice | unitPrice}}</span>
</div>
</div>
</div>
</u-popup>
2021-05-17 18:19:26 +08:00
<view v-if="isEdit" @click="deleteGoods()">
<div class="settlement">删除</div>
2021-05-13 11:03:32 +08:00
</view>
<view v-else @click="submitOrder()">
2021-05-17 18:19:26 +08:00
<div class="settlement">去结算</div>
2021-05-13 11:03:32 +08:00
</view>
</div>
<u-toast ref="uToast" />
</div>
</template>
<script>
import * as API_Trade from "@/api/trade";
export default {
data() {
return {
2021-05-17 18:19:26 +08:00
lightColor:this.$lightColor,
discountDetailsFlag: false, //优惠明细开关
2021-05-13 11:03:32 +08:00
// 商品栏右侧滑动按钮
options: [
{
text: "删除",
style: {
2021-05-17 18:19:26 +08:00
backgroundColor: this.$lightColor, //高亮颜色
2021-05-13 11:03:32 +08:00
},
},
],
isInvalid(val) {
2021-05-17 18:19:26 +08:00
//是否无效商品
2021-05-13 11:03:32 +08:00
if (val.invalid == 1) {
return true;
} else {
return false;
}
},
2021-05-17 18:19:26 +08:00
deleteShow: false, //右滑删除
deleteContent: "删除该商品?", //删除显示的信息
cartDetail: "", //购物车详情
goodsVal: "", //单个商品详情
isEdit: false, // 是否是编辑
checkout: true, //全选按钮
WEIXIN_num: "", //购物车兼容微信步进器
2021-05-13 11:03:32 +08:00
};
},
2021-05-17 18:19:26 +08:00
/**
* 初始化信息
*/
2021-05-13 11:03:32 +08:00
onShow() {
2021-05-17 18:19:26 +08:00
this.deleteShow ? (this.deleteShow = false) : true;
2021-05-13 11:03:32 +08:00
if (this.$refs.swiperAction) {
this.$refs.swiperAction.forEach((item, index) => {
item.show = false;
});
this.getCardData();
} else {
this.getCardData();
}
},
methods: {
2021-05-17 18:19:26 +08:00
/**
* 倒数计时
*/
2021-05-13 11:03:32 +08:00
getCountDownTime(val) {
let date = new Date(val.replace(/-/g, "/"));
let timeSimple = new Date(date).getTime() / 1000;
return timeSimple - new Date().getTime() / 1000;
},
2021-05-17 18:19:26 +08:00
/**
* 优惠明细开关
*/
2021-05-13 11:03:32 +08:00
discountDetails() {
this.discountDetailsFlag = true;
},
2021-05-17 18:19:26 +08:00
/**
* 格式化金钱 1999 --> [1999,00]
*/
formatPrice(val) {
2021-05-13 11:03:32 +08:00
if (typeof val == "undefined") {
return val;
}
return val.toFixed(2).split(".");
},
2021-05-17 18:19:26 +08:00
/**
* 左滑打开删除
*/
2021-05-13 11:03:32 +08:00
openAction(skuItem) {
/**循环父级有多少个店铺 */
2021-05-17 18:19:26 +08:00
this.cartDetail.cartList.forEach((cartItem) => {
if (cartItem.skuList) {
cartItem.skuList.forEach((sku) => {
2021-05-13 11:03:32 +08:00
this.$set(sku, "selected", false);
});
}
});
this.$set(skuItem, "selected", true);
},
2021-05-17 18:19:26 +08:00
/**
* 滑动删除
*/
changeActionTab(val) {
this.deleteShow = true;
this.goodsVal = val;
2021-05-13 11:03:32 +08:00
},
2021-05-17 18:19:26 +08:00
/**
* 点击删除
*/
delectConfirm() {
2021-05-13 11:03:32 +08:00
API_Trade.deleteSkuItem(this.goodsVal.goodsSku.id).then((res) => {
if (res.statusCode == 200) {
uni.showToast({
title: "此商品删除成功",
duration: 2000,
});
2021-05-17 18:19:26 +08:00
this.deleteShow = false;
2021-05-13 11:03:32 +08:00
this.getCardData();
}
});
},
2021-05-17 18:19:26 +08:00
/**
* 删除商品
*/
deleteGoods() {
if (this.whetherChecked()) {
var delGoodsData = [];
this.cartDetail.cartList.forEach((item) => {
item.skuList.forEach((goodsItem) => {
2021-05-13 11:03:32 +08:00
if (goodsItem.checked) {
2021-05-17 18:19:26 +08:00
delGoodsData.push(goodsItem.goodsSku.id);
2021-05-13 11:03:32 +08:00
}
});
});
2021-05-17 18:19:26 +08:00
if (delGoodsData && delGoodsData.length > 0) {
2021-05-13 11:03:32 +08:00
// 执行删除
2021-05-17 18:19:26 +08:00
API_Trade.deleteSkuItem(delGoodsData).then((res) => {
2021-05-13 11:03:32 +08:00
if (res.data.success) {
uni.showToast({
title: "删除成功!",
icon: "none",
});
this.getCardData();
}
});
} else {
uni.showToast({
title: "请选择删除商品,如果商品失效,请左滑无效商品删除",
icon: "none",
});
}
}
},
2021-05-17 18:19:26 +08:00
/**
* 跳转到店铺
*/
navigateToStore(val) {
2021-05-13 11:03:32 +08:00
uni.navigateTo({
url: "../product/shopPage?id=" + val.storeId,
});
},
2021-05-17 18:19:26 +08:00
/**
* 跳转到优惠券
*/
navigateToConpon(val) {
2021-05-13 11:03:32 +08:00
uni.navigateTo({
url: "/pages/cart/coupon/couponCenter?storeId=" + val.storeId,
});
},
2021-05-17 18:19:26 +08:00
/**
* 跳转到商品
*/
navigateToGoods(val) {
2021-05-13 11:03:32 +08:00
uni.navigateTo({
url:
"/pages/product/goods?id=" +
val.goodsSku.id +
"&goodsId=" +
val.goodsSku.goodsId,
});
},
2021-05-17 18:19:26 +08:00
/**
* 点击步进器微信回调
*/
2021-05-13 11:03:32 +08:00
numChange_WEIXIN(callback) {
this.WEIXIN_num = callback.value;
this.numChange(callback.data, "3");
},
2021-05-17 18:19:26 +08:00
/**
* 点击步进器回调
*/
2021-05-13 11:03:32 +08:00
numChange(val, nums) {
// #ifdef MP-WEIXIN
if (nums && nums == "1") {
val.num++;
} else if (nums && nums == "0") {
val.num--;
} else if (nums && nums == "3") {
val.num = this.WEIXIN_num;
}
// #endif
this.updateSkuNumFun(val.goodsSku.id, val.num);
},
2021-05-17 18:19:26 +08:00
/**
* 去结算
*/
2021-05-13 11:03:32 +08:00
submitOrder() {
2021-05-17 18:19:26 +08:00
if (this.whetherChecked()) {
2021-05-13 11:03:32 +08:00
this.navigateTo("/pages/order/fillorder?way=CART");
}
},
2021-05-17 18:19:26 +08:00
/**
* 验证是否选中商品
*/
whetherChecked() {
let canBuy = false;
2021-05-13 11:03:32 +08:00
this.cartDetail.cartList.forEach((item) => {
if (item.checked) {
2021-05-17 18:19:26 +08:00
canBuy = true;
2021-05-13 11:03:32 +08:00
} else {
item.skuList.forEach((skuItem) => {
if (skuItem.checked) {
2021-05-17 18:19:26 +08:00
canBuy = true;
2021-05-13 11:03:32 +08:00
}
});
}
});
2021-05-17 18:19:26 +08:00
if (!canBuy) {
2021-05-13 11:03:32 +08:00
uni.showToast({
title: "您还没有选择商品",
duration: 2000,
icon: "none",
});
return false;
} else {
return true;
}
},
2021-05-17 18:19:26 +08:00
/**
* 跳转
*/
2021-05-13 11:03:32 +08:00
navigateTo(url) {
uni.navigateTo({
url,
});
},
2021-05-17 18:19:26 +08:00
/**
* 全选
*/
2021-05-13 11:03:32 +08:00
checkOut() {
API_Trade.checkAll(this.checkout).then((result) => {
if (result.data.success) {
this.getCardData();
return true;
}
});
},
2021-05-17 18:19:26 +08:00
/**
* 获取店铺选中信息
*/
2021-05-13 11:03:32 +08:00
checkStoreFun(skuId, num) {
API_Trade.checkStore(skuId, num).then((result) => {
if (result.data.success) {
this.getCardData();
}
});
},
2021-05-17 18:19:26 +08:00
/**
* 店铺点击
*/
2021-05-13 11:03:32 +08:00
checkboxChangeDP(e) {
// #ifdef MP-WEIXIN
e.checked = !e.checked;
// #endif
this.checkStoreFun(e.storeId, e.checked);
},
2021-05-17 18:19:26 +08:00
/**
* 获取购物车选中信息
*/
2021-05-13 11:03:32 +08:00
updateSkuCheckedFun(skuId, num) {
API_Trade.updateSkuChecked(skuId, num).then((result) => {
if (result.data.success) {
this.getCardData();
}
});
},
2021-05-17 18:19:26 +08:00
/**
* 更新商品购物车数量
*/
2021-05-13 11:03:32 +08:00
updateSkuNumFun(skuId, num) {
API_Trade.updateSkuNum(skuId, num).then((result) => {
if (result.statusCode == 200) {
this.getCardData();
} else {
let _this = this;
setTimeout(() => {
_this.getCardData();
}, 1000);
}
});
},
2021-05-17 18:19:26 +08:00
/**
* 获取购物车数据
*/
2021-05-13 11:03:32 +08:00
getCardData() {
if (this.$options.filters.isLogin("auth")) {
uni.showLoading({
mask: true,
});
API_Trade.getCarts()
.then((result) => {
if (result.data.success) {
this.cartDetail = result.data.result;
this.checkout = true;
for (let i = 0; i < this.cartDetail.cartList.length; i++) {
let item = this.cartDetail.cartList[i];
2021-05-17 18:19:26 +08:00
// 循环出当前商品是否全选
2021-05-13 11:03:32 +08:00
if (item.checked == 0) {
this.checkout = false;
}
// 如果有拼团活动顺便删除
item.skuList &&
item.skuList.forEach((sku) => {
sku.promotions &&
sku.promotions.forEach((pro, proIndex) => {
if (pro.promotionType == "PINTUAN") {
sku.promotions.splice(proIndex, 1);
}
});
});
}
uni.stopPullDownRefresh();
uni.hideLoading();
} else {
uni.showToast({
title: result.data.message,
duration: 2000,
icon: "none",
});
}
})
.catch((err) => {
2021-05-13 11:03:32 +08:00
uni.hideLoading();
});
} else {
uni.hideLoading();
}
},
2021-05-17 18:19:26 +08:00
/**
* 选中某个复选框时由checkbox时触发
*/
2021-05-13 11:03:32 +08:00
checkboxChange(e) {
// #ifdef MP-WEIXIN
e.checked = !e.checked;
// #endif
this.updateSkuCheckedFun(e.goodsSku.id, e.checked);
},
},
};
</script>
<style scoped lang="scss">
// #ifdef MP-WEIXIN
@import "./mp-carui.scss";
// #endif
.u-image {
box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.05);
}
.promotion-notice {
margin-left: 68rpx;
font-size: 24rpx;
color: #333;
font-weight: bold;
display: flex;
align-items: center;
/deep/ .tips {
margin: 0 8rpx 0 0;
background: $main-color;
border-radius: 100px;
display: block;
flex: 1;
padding: 2rpx 12rpx;
color: #fff;
}
}
.promotionNotice {
font-size: 24rpx;
}
.goods-row {
padding: 30rpx 0;
display: flex;
align-items: center;
}
2021-05-17 18:19:26 +08:00
.storeName {
2021-05-13 11:03:32 +08:00
font-weight: bold;
}
.invalid {
filter: grayscale(1);
}
.cartItem {
border-radius: 0.4em;
transition: 0.35s;
}
.index {
padding-top: var(--status-bar-height);
}
/* 空白页 */
/deep/ .u-number-input {
background: #fff !important;
border: 1px solid #ededed;
margin: 0 !important;
}
/deep/ .u-icon-minus,
/deep/ .u-icon-plus {
background: #ffffff !important;
border: 1px solid #ededed;
color: #333 !important;
width: 40rpx;
}
.empty {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100vh;
z-index: 99;
padding-bottom: 100rpx;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
background: #fff;
image {
width: 240rpx;
height: 160rpx;
margin-bottom: 30rpx;
}
.empty-tips {
display: flex;
font-size: $font-sm + 2rpx;
color: $font-color-disabled;
.navigator {
color: $uni-color-primary;
margin-left: 16rpx;
}
}
}
2021-05-17 18:19:26 +08:00
.settlement {
2021-05-13 11:03:32 +08:00
width: 180rpx;
height: 70rpx;
line-height: 70rpx;
background: linear-gradient(91deg, $light-color 1%, $aider-light-color 99%);
border-radius: 900rpx;
text-align: center;
color: #fff;
margin-right: 10rpx;
}
.price {
display: flex;
align-items: center;
/deep/ .number {
line-height: 1;
font-size: 30rpx;
> span {
font-weight: bold;
}
}
}
.box2 {
border-radius: 30rpx;
padding: 32rpx 40rpx 32rpx;
.u-checkbox {
display: flex;
align-items: center;
text-align: center;
}
background: #fff;
margin-bottom: 20rpx;
}
.wrapper {
height: 100%;
}
/deep/ .u-col {
padding: 24rpx 0 !important;
}
.goods-content {
width: 100%;
height: 100%;
overflow: hidden;
> p {
padding-left: 20rpx;
}
}
.allCheck {
// padding: 0 10rpx;
font-size: 24rpx;
}
.content {
padding: 20rpx 0 20rpx 0;
margin-bottom: 80rpx;
}
.line {
float: left;
width: 1px;
height: 100%;
border-right: 1px solid $light-color;
}
.store-line-check,
.store-line-img,
.store-line-desc {
// #ifdef MP-WEIXIN
float: left;
// #endif
}
.store-line {
// #ifndef MP-WEIXIN
display: flex;
// #endif
overflow: hidden;
}
.goods-config {
display: flex;
align-items: center;
/deep/ .invalid {
display: block;
width: 80rpx !important;
}
}
.tab {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
}
.couponIcon {
margin-left: 20rpx;
}
.right_Col {
color: $light-color;
font-size: 26rpx;
> span {
margin-left: 20rpx;
}
}
.right_Line {
width: 3px;
float: left;
height: 40rpx;
border-left: 1px solid #eeeeee;
/deep/ span {
margin-left: 20rpx;
}
}
.box6 {
justify-content: space-between;
position: fixed;
// #ifdef APP-PLUS || MP-WEIXIN
bottom: 0;
// #endif
// #ifdef H5
bottom: 100rpx;
// #endif
left: 0;
border-top: 1px solid #ededed;
display: flex;
height: 100rpx;
overflow: hidden;
align-items: center;
width: 100%;
background: rgba(255, 255, 255, 1);
color: #333;
z-index: 99;
> .navL {
padding: 0 32rpx;
display: flex;
align-items: center;
}
}
.sp-name {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
font-size: 26rpx;
color: #333;
font-weight: bold;
}
.sp-type {
color: $u-light-color;
padding: 10rpx 0;
font-size: 24rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.default-color {
color: #333;
}
.theme-color {
color: $main-color;
}
.sp-number {
font-weight: bold;
display: flex;
justify-content: space-between;
> .sp-price {
/deep/ span:nth-of-type(1) {
font-size: 38rpx;
}
/deep/ span:nth-of-type(2) {
font-size: 24rpx;
}
}
}
.priceDetail-flowPrice {
font-weight: bold;
padding-left: 20rpx;
> span:nth-of-type(1) {
font-size: 38rpx;
}
}
.prices {
display: flex;
flex-direction: column;
> .discountPrice {
align-items: center;
display: flex;
font-size: 24rpx;
color: rgb(201, 199, 199);
}
}
.discountDetails {
margin-left: 10px;
color: #666;
padding: 4rpx 10rpx;
border-radius: 100px;
background: rgba(201, 199, 199, 0.3);
}
.discount-item {
display: flex;
margin: 40rpx 0;
justify-content: space-between;
> span:nth-of-type(1) {
color: #666;
}
> span:nth-of-type(2) {
color: #333;
font-weight: bold;
}
}
.discount-title {
font-size: 36rpx;
margin-top: 20rpx;
text-align: center;
}
.discount-way {
width: 94%;
margin: 0 3%;
}
.discount-list {
width: 100%;
}
.promotions-list {
margin-left: 20rpx;
> .promotions-item-seckill {
background: rgba($color: $main-color, $alpha: 0.1);
font-size: 24rpx;
color: $main-color;
display: inline;
padding: 0rpx 10rpx;
border-radius: 100px;
}
}
</style>