|
|
@@ -458,10 +458,16 @@ export default {
|
|
|
var opts = this.specGroups[p].options
|
|
|
for (var q = 0; q < opts.length; q++) {
|
|
|
if (opts[q].skuId === matchedSkuId) {
|
|
|
- this.selectedSku = {
|
|
|
+ var sku = {
|
|
|
id: matchedSkuId,
|
|
|
price: opts[q].price,
|
|
|
- stock: opts[q].stock
|
|
|
+ stock: opts[q].stock,
|
|
|
+ linkedProductId: opts[q].linkedProductId
|
|
|
+ }
|
|
|
+ this.selectedSku = sku
|
|
|
+ // Linked SKU: 更新页面显示的商品信息
|
|
|
+ if (sku.linkedProductId) {
|
|
|
+ this.updateProductToLinked(sku.linkedProductId)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
@@ -471,6 +477,22 @@ export default {
|
|
|
this.selectedSku = null
|
|
|
},
|
|
|
|
|
|
+ updateProductToLinked: function(linkedProductId) {
|
|
|
+ var that = this
|
|
|
+ productDetail({ id: linkedProductId }).then(function(res) {
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
+ // 仅更新显示信息,不覆盖 product.id 以免影响跳转/分享
|
|
|
+ var p = res.data
|
|
|
+ that.product.name = p.name
|
|
|
+ that.product.coverImage = p.coverImage
|
|
|
+ that.product.price = p.price
|
|
|
+ that.product.memberPrice = p.memberPrice
|
|
|
+ that.product.stock = p.stock
|
|
|
+ that.product.vendorName = p.vendorName
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
buildSpecDesc: function() {
|
|
|
if (!this.selectedSku) return ''
|
|
|
var desc = ''
|
|
|
@@ -511,8 +533,13 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
var price = this.actualPrice
|
|
|
+ var productId = this.product.id
|
|
|
+ // Linked SKU: 使用关联商品 ID
|
|
|
+ if (this.selectedSku && this.selectedSku.linkedProductId) {
|
|
|
+ productId = this.selectedSku.linkedProductId
|
|
|
+ }
|
|
|
var productData = {
|
|
|
- productId: this.product.id,
|
|
|
+ productId: productId,
|
|
|
productName: this.product.name,
|
|
|
coverImage: this.product.coverImage,
|
|
|
unitPrice: price,
|
|
|
@@ -530,7 +557,7 @@ export default {
|
|
|
}
|
|
|
uni.setStorageSync('checkoutItems', [productData])
|
|
|
uni.navigateTo({
|
|
|
- url: '/pages/shop/checkout/checkout?from=product&id=' + this.product.id
|
|
|
+ url: '/pages/shop/checkout/checkout?from=product&id=' + productId
|
|
|
})
|
|
|
},
|
|
|
onAddToCart: function() {
|
|
|
@@ -540,9 +567,14 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
uni.showLoading({ title: '加入购物车...' })
|
|
|
+ var productId = this.product.id
|
|
|
+ // Linked SKU: 使用关联商品 ID
|
|
|
+ if (this.selectedSku && this.selectedSku.linkedProductId) {
|
|
|
+ productId = this.selectedSku.linkedProductId
|
|
|
+ }
|
|
|
var params = {
|
|
|
userId: userId,
|
|
|
- productId: this.product.id,
|
|
|
+ productId: productId,
|
|
|
quantity: 1
|
|
|
}
|
|
|
if (this.selectedSku) {
|