feat: 优化商品详情与购物车功能

- 更新 ShowGoods.vue 和 ShowGoodsDetail.vue 中的按钮样式,统一使用 goods-action-btn 类。
- 在 Cart.vue 中实现商品收藏状态的同步与处理,优化收藏功能的用户体验。
- 调整 GoodsDetail.vue 中的店铺收藏按钮样式,提升视觉一致性。
- 在多个评价组件中引入主题色,增强评分组件的视觉效果。
This commit is contained in:
田香琪
2026-07-09 17:58:01 +08:00
parent ecf11ae2d2
commit c355194aba
15 changed files with 222 additions and 52 deletions

View File

@@ -278,7 +278,7 @@
<div class="item-select-column">
<div class="add-buy-car">
<el-button
type="danger"
class="goods-action-btn"
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
:loading="loading"
:disabled="skuDetail.quantity === 0"
@@ -286,7 +286,7 @@
>加入购物车</el-button
>
<el-button
class="confirm-receipt-btn"
class="goods-action-btn"
:loading="loading1"
:disabled="skuDetail.quantity === 0"
@click="buyNow"
@@ -986,6 +986,28 @@ export default {
> *:last-child {
margin-right: 0;
}
.goods-action-btn {
background-color: #ff475d !important;
border-color: #ff475d !important;
color: #fff !important;
&:hover,
&:focus {
background-color: #e63e52 !important;
border-color: #e63e52 !important;
color: #fff !important;
}
&.is-disabled,
&.is-disabled:hover,
&.is-disabled:focus {
background-color: #ff475d !important;
border-color: #ff475d !important;
color: #fff !important;
opacity: 0.5;
}
}
}
.goodsConfig {
@@ -1003,7 +1025,7 @@ export default {
&.is-collected {
.collect-icon {
color: #ffc107;
color: $theme_color;
}
}
}

View File

@@ -38,7 +38,13 @@
</div>
<div class="remarks-content-box">
<p>
<el-rate disabled :value="Number(item.descriptionScore)" allow-half class="remarks-star"></el-rate>
<el-rate
disabled
:model-value="Number(item.descriptionScore) || 0"
allow-half
class="remarks-star"
:colors="['var(--theme-color)', 'var(--theme-color)', 'var(--theme-color)']"
></el-rate>
</p>
<p class="remarks-content">{{item.content}}</p>
<div class="comment-img" v-if="item.images">
@@ -546,8 +552,12 @@ export default {
background-color: transparent;
}
}
:deep(.el-rate__icon) {
color: $theme_color;
:deep(.remarks-star.el-rate) {
--el-rate-fill-color: #{$theme_color};
--el-rate-disabled-fill-color: #{$theme_color};
}
:deep(.remarks-star .el-rate__icon.is-active) {
color: $theme_color !important;
}
table{
border-color:#efefef;