|
|
@ -38,8 +38,14 @@ |
|
|
|
<view class="goods-content"> |
|
|
|
<view class="goods-info"> |
|
|
|
<view class="goods-name">{{ goods.goodsTitle || "-" }}</view> |
|
|
|
<view class="goods-name" v-if="goods.skuName">{{ goods.skuName || "-" }}</view> |
|
|
|
<view class="goods-desc">{{ getGoodsTypeName(goods.type) }}</view> |
|
|
|
<view class="goods-quantity">数量:{{ goods.num || 1 }}</view> |
|
|
|
<view class="goods-specs" v-if="goods.orderExchangeVo && goods.orderExchangeVo.orderExchangeDetailVos"> |
|
|
|
<view class="spec-tag" v-for="(item, index) in goods.orderExchangeVo.orderExchangeDetailVos" :key="index"> |
|
|
|
{{item.specValueOne}} / {{item.specValueTwo}} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="goods-actions"> |
|
|
|
<button |
|
|
@ -187,7 +193,17 @@ |
|
|
|
</view> |
|
|
|
<view class="popup-content"> |
|
|
|
<!-- 商品状态 --> |
|
|
|
|
|
|
|
<view class="logistics-section" v-if="currentGoodsInfo"> |
|
|
|
<view class="section-title">商品状态</view> |
|
|
|
<view class="status-info"> |
|
|
|
<view |
|
|
|
class="status-badge-popup" |
|
|
|
:class="[getGoodsStatusClass(currentGoodsInfo.status)]" |
|
|
|
> |
|
|
|
{{ getGoodsStatusText(currentGoodsInfo.status) }} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<!-- 收货地址 --> |
|
|
|
<view class="logistics-section"> |
|
|
@ -270,6 +286,7 @@ export default { |
|
|
|
showEquityPopup: false, |
|
|
|
showLogisticsPopup: false, // 物流信息弹窗 |
|
|
|
currentLogisticsInfo: null, // 当前物流信息 |
|
|
|
currentGoodsInfo: null, // 当前商品信息 |
|
|
|
orderDetail: { |
|
|
|
orderChildVos: [], |
|
|
|
}, |
|
|
@ -413,7 +430,7 @@ export default { |
|
|
|
const typeMap = { |
|
|
|
1: "IP数字资产", |
|
|
|
2: "IP资源商品", |
|
|
|
3: "君道苏州门票", |
|
|
|
3: "门票", |
|
|
|
}; |
|
|
|
return typeMap[type] || "未知类型"; |
|
|
|
}, |
|
|
@ -517,6 +534,7 @@ export default { |
|
|
|
showLogisticsInfo(goods) { |
|
|
|
if (goods.orderExchangeVo) { |
|
|
|
this.currentLogisticsInfo = goods.orderExchangeVo; |
|
|
|
this.currentGoodsInfo = goods; |
|
|
|
this.showLogisticsPopup = true; |
|
|
|
} else { |
|
|
|
uni.showToast({ |
|
|
@ -530,6 +548,7 @@ export default { |
|
|
|
closeLogisticsPopup() { |
|
|
|
this.showLogisticsPopup = false; |
|
|
|
this.currentLogisticsInfo = null; |
|
|
|
this.currentGoodsInfo = null; |
|
|
|
}, |
|
|
|
|
|
|
|
// 查看商品详情 |
|
|
@ -1107,12 +1126,13 @@ export default { |
|
|
|
.status-info { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
margin-bottom: 8rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.status-badge-popup { |
|
|
|
padding: 8rpx 16rpx; |
|
|
|
border-radius: 20rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
padding: 6rpx 12rpx; |
|
|
|
border-radius: 12rpx; |
|
|
|
font-size: 22rpx; |
|
|
|
color: #fff; |
|
|
|
font-weight: 500; |
|
|
|
|
|
|
@ -1199,4 +1219,22 @@ export default { |
|
|
|
color: #333; |
|
|
|
flex: 1; |
|
|
|
} |
|
|
|
.goods-specs { |
|
|
|
margin-top: 10rpx; |
|
|
|
display: flex; |
|
|
|
flex-wrap: wrap; |
|
|
|
gap: 8rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.spec-tag { |
|
|
|
background: #f0f8ff; |
|
|
|
border: 1rpx solid #e6f3ff; |
|
|
|
border-radius: 12rpx; |
|
|
|
padding: 4rpx 12rpx; |
|
|
|
display: inline-block; |
|
|
|
margin-bottom: 6rpx; |
|
|
|
font-size: 22rpx; |
|
|
|
color: #4a90e2; |
|
|
|
font-weight: 500; |
|
|
|
} |
|
|
|
</style> |
|
|
|