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

@@ -3,12 +3,12 @@
<el-button @click="handleClickUploadImage">上传图片</el-button>
<el-dialog v-model="show" width="850px" title="上传图片" append-to-body :z-index="3500">
<div class="import-oss" @click="importOSS">从资源库中导入</div>
<div style="display: flex; flex-wrap: wrap">
<div class="upload-images-wrap">
<vuedraggable
v-model="images"
:animation="200"
:item-key="draggableItemKey"
style="display: flex; flex-wrap: wrap"
class="upload-images-draggable"
>
<template #item="{ element, index }">
<div class="upload-list">
@@ -67,6 +67,7 @@
ref="ossManage"
:is-component="true"
:initialize="showOssManager"
:hide-select-footer="true"
@selected="handleOssSelected"
/>
<template #footer>
@@ -212,27 +213,57 @@ export default {
.wrapper {
margin: 10px 0;
}
$upload-item-size: 150px;
.upload-images-wrap {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
.upload-images-draggable {
display: flex;
flex-wrap: wrap;
}
.upload-list {
width: 150px;
height: 150px;
width: $upload-item-size;
height: $upload-item-size;
text-align: center;
border: 1px solid transparent;
border: 1px solid #dcdfe6;
border-radius: 4px;
display: inline-block;
background: #fff;
position: relative;
margin-right: 4px;
vertical-align: bottom;
margin: 0 4px 4px 0;
overflow: hidden;
flex-shrink: 0;
}
.upload-box {
margin: 10px 0;
width: $upload-item-size;
height: $upload-item-size;
margin: 0 4px 4px 0;
display: inline-block;
vertical-align: bottom;
flex-shrink: 0;
:deep(.el-upload) {
width: $upload-item-size;
height: $upload-item-size;
display: block;
}
:deep(.el-upload-dragger) {
width: $upload-item-size;
height: $upload-item-size;
min-height: $upload-item-size;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
box-sizing: border-box;
}
}
.upload-trigger {
width: 148px;
height: 148px;
line-height: 148px;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;

View File

@@ -63,6 +63,7 @@
ref="ossManage"
:is-component="true"
:initialize="picModalFlag"
:max-select="1"
@callback="handleOssCallback"
/>
</el-dialog>