sku处理回退

msb_beta
ch 2 years ago
parent b9d4614665
commit 4e55bc7c94

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-03-24 11:30:55
* @LastEditors: ch
* @LastEditTime: 2022-05-17 16:32:32
* @LastEditTime: 2022-05-17 22:21:10
* @Description: file content
-->
<template>
@ -116,14 +116,14 @@ export default {
* 当前选中SKU根据选中规格计算
*/
curSku(){
return this.skuInfo.find(i => i.attributeSymbolList.join(',') === this.selectedSymbol.join(',')) || {};
return this.skuInfo.find(i => i.attributeSymbolList === this.selectedSymbol.join(',')) || {};
},
// [1,.,3]
selectedSymbol(){
return this.attributeGroupList.map(item => {
const activeAttr = item.attributes.find(i => i.active);
return activeAttr?.symbol
}).filter(i => i).sort();
return activeAttr ? activeAttr.symbol : '.'
}).filter(i => i)//.sort();
},
/**
* 最大可购买数量
@ -147,7 +147,7 @@ export default {
}
this.attributeGroupList.forEach((item, index) => {
for(let i of item.attributes){
if(curSku.attributeSymbolList.includes((i.symbol).toString())){
if(curSku.attributeSymbolList.includes(i.symbol)){
this.$set(i,'active', true);
this.setDisabledItem(i, index, true);
break;
@ -178,49 +178,36 @@ export default {
this.$emit('input',this.curSku);
},
/**
* 每次点击选项属性时计算不可选属性
*/
setDisabledItem(item, groupIndex){
this.attributeGroupList.forEach((group, idx) => {
// if(groupIndex === idx) return false;
//
group.attributes.forEach( item => {
//
let symbolCache = Object.assign([],this.selectedSymbol);
symbolCache.push(item.symbol);
symbolCache.sort();
const res = this.skuInfo.filter(item =>
symbolCache.map(i => item.attributeSymbolList.includes(i.toString())).every(i => i)
).find(i => i.stock > 0);
//
if(groupIndex === idx) return false;
//
group.attributes.forEach( item => {
//
symbolCache[idx] = item.symbol;
const reg = new RegExp(symbolCache.join(','));
// SKU
const res = this.skuInfo.filter(i => {
let v = reg.test(i.attributeSymbolList)
console.log(reg, i.attributeSymbolList , v);
return v
}).find(i => i.stock > 0);
if(res){
item.disabled = false;
}else{
item.disabled = true;
}
});
})
})
// this.attributeGroupList.forEach((group, idx) => {
// //
// let symbolCache = Object.assign([],this.selectedSymbol);
// //
// if(groupIndex === idx) return false;
// //
// group.attributes.forEach( item => {
// //
// symbolCache[idx] = item.symbol;
// const reg = new RegExp(symbolCache.join(','));
// // SKU
// const res = this.skuInfo.filter(i => reg.test(i.attributeSymbolList)).find(i => i.stock > 0);
// if(res){
// item.disabled = false;
// }else{
// item.disabled = true;
// }
// })
// })
},
/**
* 加入购物车

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-03-23 17:27:21
* @LastEditors: ch
* @LastEditTime: 2022-05-17 18:00:53
* @LastEditTime: 2022-05-17 22:25:52
* @Description: file content
-->
<template>
@ -132,7 +132,7 @@ export default {
this.stock = 0;
this.skuInfoData = result.map(i => {
this.stock += i.stock;
i.attributeSymbolList = i.attributeSymbolList.split(',')
// i.attributeSymbolList = i.attributeSymbolList.split(',')
return i;
});
},

@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>马士兵严选</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.b5602bf5.js></script><script src=/static/js/index.c8830f41.js></script></body></html>
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.b5602bf5.js></script><script src=/static/js/index.0e74cf6a.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save