|
|
@ -87,10 +87,10 @@ |
|
|
|
</view> |
|
|
|
<text class="goods-desc">{{item.service}}</text> |
|
|
|
<view class="rules-brand-row"> |
|
|
|
<view class="rules-link" @click="showRules(item)"> |
|
|
|
<view class="rules"> |
|
|
|
<text>回收规则</text> |
|
|
|
<uni-icons type="right" size="14" color="#999"></uni-icons> |
|
|
|
<view class="rules-link" @click="showRules(item)"> |
|
|
|
<view class="rules"> |
|
|
|
<text>回收规则</text> |
|
|
|
<uni-icons type="right" size="14" color="#999"></uni-icons> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="brand-check-placeholder" v-if="item.isPin === 'Y'"> |
|
|
@ -768,24 +768,24 @@ export default { |
|
|
|
showRules(item) { |
|
|
|
// isPin=Y: 弹规则,读到底部后自动弹品牌;isPin=N: 只弹规则 |
|
|
|
if (item.isPin === 'Y') { |
|
|
|
// 检查该商品是否已经查看过规则 |
|
|
|
if (this.viewedRuleItems.has(item.id)) { |
|
|
|
// 如果已经查看过,直接跳过规则弹窗,进入品牌选择 |
|
|
|
this.isWaitingForBrandSelection = false; |
|
|
|
this.getGoodsBrandList(item.id); |
|
|
|
this.showBrandPopup = true; |
|
|
|
return; |
|
|
|
// 检查该商品是否已经查看过规则 |
|
|
|
if (this.viewedRuleItems.has(item.id)) { |
|
|
|
// 如果已经查看过,直接跳过规则弹窗,进入品牌选择 |
|
|
|
this.isWaitingForBrandSelection = false; |
|
|
|
this.getGoodsBrandList(item.id); |
|
|
|
this.showBrandPopup = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
// 重置滚动状态 |
|
|
|
this.hasScrolledToBottom = false; |
|
|
|
// 获取回收规则富文本 |
|
|
|
this.$api('getGoodsRecycleRule', { goodsId: item.id }, res => { |
|
|
|
if (res.code === 200 && res.result) { |
|
|
|
this.ruleHtml = res.result |
|
|
|
} else { |
|
|
|
this.ruleHtml = '<p>暂无回收规则</p>' |
|
|
|
} |
|
|
|
// 重置滚动状态 |
|
|
|
this.hasScrolledToBottom = false; |
|
|
|
// 获取回收规则富文本 |
|
|
|
this.$api('getGoodsRecycleRule', { goodsId: item.id }, res => { |
|
|
|
if (res.code === 200 && res.result) { |
|
|
|
this.ruleHtml = res.result |
|
|
|
} else { |
|
|
|
this.ruleHtml = '<p>暂无回收规则</p>' |
|
|
|
} |
|
|
|
this.showRulePopup = true |
|
|
|
this.showRulePopup = true |
|
|
|
// 规则弹窗关闭后自动弹品牌弹窗逻辑在closeRulePopup已实现 |
|
|
|
}) |
|
|
|
} else { |
|
|
@ -800,7 +800,7 @@ export default { |
|
|
|
this.showRulePopup = true |
|
|
|
// 不弹品牌弹窗 |
|
|
|
this.isWaitingForBrandSelection = false; |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
showMore() { |
|
|
@ -1186,15 +1186,14 @@ export default { |
|
|
|
if (!this.videoPlayingStates[index]) { |
|
|
|
// 第一次点击:显示视频并开始播放 |
|
|
|
this.$set(this.videoPlayingStates, index, true); |
|
|
|
|
|
|
|
// 等待视频元素渲染后再进行操作 |
|
|
|
this.$nextTick(() => { |
|
|
|
setTimeout(() => { |
|
|
|
const videoContext = uni.createVideoContext(`recycle-video-${index}`, this); |
|
|
|
if (videoContext) { |
|
|
|
// 直接进入全屏播放 |
|
|
|
// 直接进入全屏播放,强制竖屏 |
|
|
|
videoContext.requestFullScreen({ |
|
|
|
direction: -1 // 自动选择方向 |
|
|
|
direction: 0 // 竖屏方向,0代表竖屏,1代表横屏,-1自动 |
|
|
|
}); |
|
|
|
} |
|
|
|
}, 200); |
|
|
@ -1584,7 +1583,7 @@ export default { |
|
|
|
.goods-content { |
|
|
|
flex: 1; |
|
|
|
height: 100%; |
|
|
|
padding: 0 30rpx 180rpx 30rpx; /* 添加底部padding,为固定底部栏预留空间 */ |
|
|
|
padding: 0 0 180rpx 0; /* 添加底部padding,为固定底部栏预留空间 */ |
|
|
|
background: #ffffff; |
|
|
|
width: 70%; |
|
|
|
margin: 1rpx; |
|
|
@ -1683,6 +1682,7 @@ export default { |
|
|
|
align-items: center; |
|
|
|
flex-wrap: nowrap; |
|
|
|
gap: 10rpx; |
|
|
|
margin-top: 10rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.price-info { |
|
|
@ -1757,11 +1757,11 @@ export default { |
|
|
|
margin-top: 0; |
|
|
|
.rules { |
|
|
|
display: inline-flex; |
|
|
|
align-items: center; |
|
|
|
font-family: PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
font-size: 12px; |
|
|
|
color: #666; |
|
|
|
align-items: center; |
|
|
|
font-family: PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
font-size: 12px; |
|
|
|
color: #666; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
} |
|
|
@ -2727,4 +2727,84 @@ export default { |
|
|
|
font-size: 28rpx; |
|
|
|
color: #222; |
|
|
|
} |
|
|
|
|
|
|
|
.rules-link { |
|
|
|
min-width: 90rpx; |
|
|
|
padding: 0 12rpx; |
|
|
|
.rules { |
|
|
|
font-size: 15px; |
|
|
|
white-space: normal; |
|
|
|
overflow: visible; |
|
|
|
} |
|
|
|
} |
|
|
|
// ... existing code ... |
|
|
|
.rules-brand-row { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
margin-top: 20rpx; |
|
|
|
gap: 24rpx; // 增大间距 |
|
|
|
.rules-link { |
|
|
|
margin-top: 0; |
|
|
|
} |
|
|
|
.brand-check-placeholder { |
|
|
|
margin-left: 16rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
// ... existing code ... |
|
|
|
.price-info { |
|
|
|
display: flex; |
|
|
|
align-items: baseline; |
|
|
|
white-space: nowrap; |
|
|
|
flex-shrink: 0; |
|
|
|
gap: 12rpx; // 增大间距 |
|
|
|
.price-symbol { |
|
|
|
font-size: 32rpx; // 增大符号 |
|
|
|
color: #ff7a0e; |
|
|
|
} |
|
|
|
.price-value { |
|
|
|
font-size: 44rpx; // 增大数字 |
|
|
|
color: #ff7a0e; |
|
|
|
font-weight: bold; |
|
|
|
margin: 0 6rpx; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
.price-unit { |
|
|
|
font-size: 28rpx; |
|
|
|
color: #999; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
} |
|
|
|
.quantity-control { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
flex-shrink: 0; |
|
|
|
white-space: nowrap; |
|
|
|
gap: 16rpx; // 增大间距 |
|
|
|
button { |
|
|
|
width: 72rpx; // 增大按钮 |
|
|
|
height: 72rpx; |
|
|
|
padding: 0; |
|
|
|
margin: 0; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
font-size: 36rpx; // 增大符号 |
|
|
|
color: #666; |
|
|
|
background: #ffffff; |
|
|
|
border: none; |
|
|
|
border-radius: 50%; |
|
|
|
&::after { |
|
|
|
border: none; |
|
|
|
} |
|
|
|
&:active { |
|
|
|
opacity: 0.8; |
|
|
|
} |
|
|
|
} |
|
|
|
.quantity { |
|
|
|
width: 60rpx; |
|
|
|
text-align: center; |
|
|
|
font-size: 36rpx; // 增大数字 |
|
|
|
color: #333; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |